Oracle v $session,v$mystatでエラーが発生します:テーブルまたはビューが選択時に存在しません
Aug 18 2020
パッケージ内のプロシージャにこのselectステートメントがあります
select distinct sid into a from v$mystat;
SELECT PADDR,TERMINAL,SID,SERIAL# INTO CURSES,CURTER,CURSID,CURSER from v$session where sid=a;
これらの2つのステートメントはエラーを返します
PL / SQL:SQL文は無視されました、PL / SQL:ORA-00942:表またはビューは存在しません
このエラーはプロシージャ内で発生していますが、これらのステートメントをsqlplusから個別に実行することも、同じユーザーのsqlワークシートで実行することもできます。
grantキーワードを使用して特権を付与しようとしましたが、以下のエラーが発生しました。考えられる解決策はありますか?

Oracleバージョン:12c EnterpriseEditionリリース12.2.0.1.0-64ビット本番
回答
1 Plirkee Aug 18 2020 at 14:34
同義語のv_$session
背後にあるオブジェクトであるselectを付与する必要がありますv$session
。
同義語のV_$MYSTAT
オブジェクトと同じv$mystat
です。
GRANT SELECT ON V_$MYSTAT TO <user> GRANT SELECT ON v_$session TO <user>