PL/SQL内でV$表を検索しようとしても、権限が無いと検索できません。
検索できるようにするには権限付与が必要です。
PL/SQL内でV$テーブルを検索できるようにする手順
ユーザtaroに対して、PLSQL内でV$SESSIONを検索する権限を付与する例です。
1.SYSまたはSYSTEMユーザでログインする
- コマンドプロンプト
- C:¥>sqlplus sys/change_on_install@xxx as sysdba
ID、パスワード、接続先はシステム管理者にご確認ください。
2.V$SESSIONを検索する権限をユーザtaroに付与する
- SQL*Plus
- SQL> GRANT SELECT ON SYS.V_$SESSION TO taro; 権限付与が成功しました。
他のV$表を検索したい場合は、V$表毎に上記文を実行してください。
これでユーザtaroで実行すれば、PLSQL内でV$表を参照できます。
解説
- V$表の検索は、単体のSELECTは可能でも、PL/SQL内では権限が必要のようです。
- 開発時にハマって調べた内容を記事にしました。