- - PR -
Oracle DB全体の統計情報取得
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2005-03-30 13:19
件名の事をやりたいと思っているのですが、
そういったプロシージャ コマンドはないんでしょうか。 ご存知の方よろしくお願いいたします。 スキーマ単位ではあるようなのですが、、、↓ EXECUTE DBMS_UTILITY.ANALYZE_SCHEMA('スキーマ名','COMPUTE'); |
|
投稿日時: 2005-03-30 13:46
GATHER_DATABASE_STATS()というプロシージャがあります。
SQL*Plusから実行する場合はこんな感じです。 EXECUTE DBMS_STATS.GATHER_DATABASE_STATS(cascade=>TRUE, gather_sys=>TRUE); 上記例では ・INDEXについても統計を取得する ・SYSユーザ所有のオブジェクトについても統計情報を取得する というオプションを設定しています。 他にもオプションがありますので、マニュアルを見た上で必要なオプションを設定していけば良いと思います。 === 追記 === すみません、ANALYZEですので非オプティマイザ統計情報の収集ですね。 それなら、DBMS_UTILITY.ANALYZE_DATABASE()というプロシージャが適当だと思います。 [ メッセージ編集済み 編集者: いーた 編集日時 2005-03-30 13:51 ] |
|
投稿日時: 2005-03-30 17:07
実際にやってみたのですが、以下のようなエラーがでてしまいました。
SYS.DBMS_STATSは関係してるんでしょうか??? racle9i Enterprise Edition Release 9.2.0.1.0 - Production ith the Partitioning, OLAP and Oracle Data Mining options Server Release 9.2.0.1.0 - Production ノ接続されました。 QL> EXECUTE DBMS_STATS.GATHER_DATABASE_STATS(cascade=>TRUE, gather_sys=>TRUE); EGIN DBMS_STATS.GATHER_DATABASE_STATS(cascade=>TRUE, gather_sys=>TRUE); END; s1でエラーが発生しました。: RA-06564: オブジェクトDATA_FILE_DIRは存在しません。 RA-06512: "SYS.DBMS_STATS", 行9136 RA-06512: "SYS.DBMS_STATS", 行9616 RA-06512: "SYS.DBMS_STATS", 行9800 RA-06512: "SYS.DBMS_STATS", 行9893 RA-06512: "SYS.DBMS_STATS", 行9873 RA-06512: 行1 |
|
投稿日時: 2005-03-31 09:51
gather_sys=>TRUEの場合はSYSユーザ所有のオブジェクトについても統計情報を収集する為、SYSDBA権限が必要です。
SYS.DBMS_STATSはDBMS_STATS.GATHER_DATABASE_STATS()内部でCallしているプロシージャなんだと思います。 |
|
投稿日時: 2005-03-31 21:03
いーたさん ご解答有難うございます。
gather_sys=falseにしたのですが、やはり同じエラーが、、、 |
|
投稿日時: 2005-04-06 01:10
遅レスですみません。
何か違う所で引っ掛かっている気が... SELECT * FROM DBA_DIRECTORIES WHERE DIRECTORY_NAME = 'DATA_FIR_DIR'; を実行した結果、DIRECTORY_PATHに表示されるディレクトリにはアクセス可能でしょうか? |
1
