質問: ◆環境 Oracle Database 12.2.0.1.0 参考にしたサイト statspackのインストール手順 Oracle(12c) statspackのインストールと使い方 DBMS_SHARED_POOL パッケージの使用 ◆やったこと sysdba権限でログイン Statspack専用の表領域を作成 Statspackのインストール @?/rdbms/admin/spcreate.sql →インストールにエラーは出ませんでした。 perfstatユーザでログイン Level7で取得しようと思い、以下コマンドを実施 execute statspack.snap(i_snap_level=> 7) 以下のエラーが出ます。 SQL> execute statspack.snap(i_snap_level=> 7) BEGIN statspack.snap(i_snap_level => 7); END; * 行1でエラーが発生しました。: ORA-04063: package body "SYS.DBMS_SHARED_POOL"にエラーがあります。 ORA-06508: PL/SQL: コールしているプログラム単位が見つかりませんでした: "SYS.DBMS_SHARED_POOL" ORA-06512: "PERFSTAT.STATSPACK", 行5800 ORA-06512: 行1 自動取得のsqlや以下コマンド実行ではエラーは出ず、PL/SQLプロシージャが正常に完了しました。とは出ます。 execute dbms_job.interval(21, 'sysdate+(1/24)'); しかし、ジョブを実行すると同様のエラーが出ます。 execute dbms_job.run(21); ◆試したこと sysユーザー、perfstatユーザーで実施 DBMS_SHARED_POOLのインストール @?/rdbms/admin/dbmspool.sql statspackのアンインストールと再インストール Oracleのshutdown と startup DBMS_SHARED_POOLのdrop SQL> drop package DBMS_SHARED_POOL; SQL> @?/Rdbms/admin/dbmspool.sql SQL> @?/Rdbms/admin/prvtpool.plb 解決方法などあるのでしょうか。英語のサイトにも書いていなかったので...。
回答: > > execute statspack.snap(i_snap_level=> 7); > > > は perfstat ユーザーで実行していますか? DBMS_SHARED_POOLのインストール と GRANT EXECUTE ON DBMS_SHARED_POOL TO perfstat だったっか SQL を実行したユーザーだったか? (どちらだったかは忘れた)は sys ユーザーで実行しましたか?