Skip to Main Content

Japanese

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

EXP・IMP時の統計情報の扱いについて、教えていただけないでしょうか。

828206Feb 20 2011 — edited Feb 21 2011
EXP・IMP時の統計情報の扱いについて、教えていただけないでしょうか。

以下の手順で、DMPをEXP&IMPしたのですが、IMP後の統計情報によく分からない点がありました。

①EXPするテーブルの統計情報を取得
EXEC DBMS_STATS.GATHER_TABLE_STATS(OWNNAME=>'USER1',TABNAME=>'TEMP_TABLE',CASCADE=>TURE);

②USER1の統計情報を確認
「SELECT LAST_ANALYZED,SAMPLE_SIZE FROM ALL_TABLES WHERE TABLE_NAME = 'TEMP_TABLE'」
SAMPLE_SIZE=5125
LAST_ANALYZED=2011/2/21

③テーブルをEXP
EXP USER1/PASS@SCHEMA FILE=T:\TEMP\TEMP.DMP

④別のユーザにテーブルをIMP
IMP USER2/PASS@SCHEMA FILE=T:\TEMP\TEMP.DMP FROMUSER=USER1 TOUSER=USER2

⑤USER2の統計情報を確認
「SELECT LAST_ANALYZED,SAMPLE_SIZE FROM ALL_TABLES WHERE TABLE_NAME = 'TEMP_TABLE'」
SAMPLE_SIZE=2000
LAST_ANALYZED=2011/2/21


疑問(1):
EXPやIMPの際にオプションstatisticsを指定しない場合は、EXP時点の統計情報がそのままIMPされると認識しているのですが、
IMPした後のSAMPLE_SIZEが5125ではなく、2000になってしまうのは、なぜでしょうか?
内部的に統計情報が再取得されてしまっているのでしょうか?

疑問(2):
上記の例とは別なのですが、過去のDMPをIMPした際、LAST_ANALYZEDが必ずIMPの日付に更新されてしまいます。
これは、統計情報の再取得が実行されているということでしょうか?
それとも、統計情報はDMP時点のものでIMPORTされているが、"IMPORTされた更新日"という意味でLAST_ANALYZEDがIMPした日付になるのでしょうか?

疑問(3):
dmpとしてバックアップされたデータベースの、特定のテーブルの統計情報がいつ取得されていたか調べたいのですが、
impしてlast_analyzedとsample_sizeを見る方法以外に、良い方法はあるのでしょうか。

Oracleのバージョンはは10.1.0.5.0です。

皆さまのお知恵をお借りできれば幸いです。
よろしくお願い致します。

Edited by: kakusan on 2011/02/20 18:12
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Mar 21 2011
Added on Feb 20 2011
1 comment
1,570 views