10gでは
オプティマイザ統計の収集に、ANALYZE文でCOMPUTE句およびESTIMATE句を使用しないでください。これらの句は下位互換性のためにのみサポートされており、将来のリリースでは削除される可能性があります。DBMS_STATSパッケージを使用する方が、より広範囲で正確な統計セットが効率的に収集されます。
とあるので
スキーマ内のすべてのオブジェクトの統計 を取るには、下記
EXECUTE DBMS_STATS.GATHER_SCHEMA_STATS('スキーマ名',DBMS_STATS.AUTO_SAMPLE_SIZE);
また、ワークテーブルなどの夜は0件になるようなテーブルは、
LOCK_TABLE_STATSを使ってロックしておけばよい。
自動統計収集は、22:00からデフォルトでうごく。
以下で確認できる。
SELECT * FROM DBA_SCHEDULER_JOBS WHERE JOB_NAME = 'GATHER_STATS_JOB';
自動統計収集を使用禁止にする場合
BEGIN
DBMS_SCHEDULER.DISABLE('GATHER_STATS_JOB');
END;
/
チューニングの参考
テーブル毎の更新情報
SELECT * FROM ALL_TAB_MODIFICATIONS;
SELECT * FROM USER_TAB_MODIFICATIONS;
チューニングの検証前のメモリフラッシュ
ダーティバッファの書き出し(更新系の処理の場合)
ALTER SYSTEM CHECKPOINT;
共有プール(SHARED POOL) の フラッシュ
ALTER SYSTEM FLUSH SHARED_POOL;
データベース・バッファ・キャッシュのクリア Oracle 10g
ALTER SYSTEM FLUSH BUFFER_CACHE;
コメントする