質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

Oracle Database 12c

Oracle Database 12cは、RDBMS製品です。世界初の商用RDBMSであるOracle Databaseのバージョンで、2013年にリリース。クラウド対応を考慮して設計されました。主な機能には、マルチテナント対応やインメモリデータベースの実装などがあります。

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

Q&A

解決済

1回答

5678閲覧

Statspackのスナップショット取得が出来ない

serachaso

総合スコア20

Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

Oracle Database 12c

Oracle Database 12cは、RDBMS製品です。世界初の商用RDBMSであるOracle Databaseのバージョンで、2013年にリリース。クラウド対応を考慮して設計されました。主な機能には、マルチテナント対応やインメモリデータベースの実装などがあります。

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

0グッド

0クリップ

投稿2020/02/04 08:31

編集2020/02/05 03:07

◆環境
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

解決方法などあるのでしょうか。英語のサイトにも書いていなかったので…。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Orlofsky

2020/02/04 09:40

質問に Oracle Database の正確なバージョンを追記しては?
guest

回答1

0

ベストアンサー

execute statspack.snap(i_snap_level=> 7);

は perfstat ユーザーで実行していますか?

DBMS_SHARED_POOLのインストール

GRANT EXECUTE ON DBMS_SHARED_POOL TO perfstat だったっか SQL を実行したユーザーだったか?
(どちらだったかは忘れた)は sys ユーザーで実行しましたか?

投稿2020/02/04 09:40

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

serachaso

2020/02/05 00:31

回答ありがとうございます。 statspack取得はperfstatユーザーで実行しています。 DBMS_SHARED_POOLはsysユーザーでインストールし、権限付与もsysユーザーで実行しています。
Orlofsky

2020/02/05 03:47

https://www.shift-the-oracle.com/plsql/dbms_shared_pool/ >$ORACLE_HOME/rdbms/admin/dbmspool.sql を登録する。 の中には >create or replace package dbms_shared_pool is はあるけど、 >create or replace package body dbms_shared_pool is がありませんでした。Oracle18c Express Edition for Windows $ORACLE_HOME/rdbms/admin/*.* で >package body dbms_shared_pool をgrepしても見つかりません。 オラクル側のミスでしょうけど。 パフォーマンス・チューニング・ガイドからstatspackが削られて10年以上になります。 無料で使えるstatspackより高価な Oracle Database Enterprises Edition と 有償オプションの Diagnostics Pack を買わせたいからでしょうけど。 dbms_shared_pool でググるとOracle USAのサポートの公開情報が見つかりますが、 https://support.oracle.com/knowledge/Oracle%20Database%20Products/406882_1.html サポート契約者のみが参照できる情報がいっぱいあります。 >自動取得のsqlや以下コマンド実行ではエラーは出ず、PL/SQLプロシージャが正常に完了しました。とは出ます。 その時はdbms_shared_pool を使っていないのでは? dbms_shared_pool を $ORACLE_HOME/rdbms/admin/*.* で秀丸エディタでgrepすると、 >catgwmcat.sql(401): grant execute on sys.dbms_shared_pool to gsmadmin_internal; >catpdbms.sql(508): Rem dbms_shared_pool >catproc.sql(70): Rem pyam 08/02/05 - Add dbmspool (dbms_shared_pool package) >pdbdba.sql(73): Rem DBMS_SHARED_POOL >pdbdba.sql(209): 'DBMS_JAVA', 'DBMS_SHARED_POOL', 'DBMS_DNFS', >sbcpkg.sql(5930): sys.dbms_shared_pool.keep(upper('&&pkg_name'), 'P'); >sbcusr.sql(198): grant execute on DBMS_SHARED_POOL to STDBYPERF; >spcpkg.sql(6246): sys.dbms_shared_pool.keep('PERFSTAT.STATSPACK', 'P'); >spcusr.sql(431): grant execute on DBMS_SHARED_POOL to PERFSTAT; >spdoc.txt(339): o During the installation, the dbms_shared_pool PL/SQL package >spdoc.txt(340): is created. dbms_shared_pool is used to pin the Statspack が見つかります。Oracle18c Express Edition for Windows dbms_shared_pool を使っている部分をコメントにすれば 動くかもしれません。わたしは試したことがないです。 オラクル・サポートに問い合せないと解決は難しいでしょう。サポート契約が必要です。
serachaso

2020/02/05 05:07

とても詳しく調べてくださりありがとうございます…。 サポートに契約しているので問い合わせてみようと思います。 ありがとうございました。
Orlofsky

2020/02/25 00:30

staspack report のリストの表示幅を広くして桁あふれを解消したファイルを用意するように オラクル・サポートに依頼したことがあります。 オラクル・サポートの担当者が良心的な人であれば My Oracle Support Knowledge Base(旧KROWN クラウン:知識ベース) https://support.oracle.com/ に登録してあるかも?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問