DBMS_STATS メモ


テーブルの統計情報の収集 
DBMS_STATS.GATHER_TABLE_STATS

DBMS_STATS.GATHER_TABLE_STATS('スキーマ名','テーブル名');


関連する索引統計を収集しない(CASCADE=> FALSE パラメータ)

DBMS_STATS.GATHER_TABLE_STATS(
  OWNNAME=> 'スキーマ名',
  TABNAME=> 'テーブル名',
  CASCADE=> FALSE
);


カラム統計の収集
METHOD_OPTに下記を追加

全カラム対象
METHOD_OPT=>'FOR ALL COLUMNS SIZE AUTO'

カラム統計情報の収集がインデックス項目のみ。
METHOD_OPT=>'FOR ALL INDEXED'

テーブルおよびインデックス、カラム統計取得

DBMS_STATS.GATHER_TABLE_STATS(
  OWNNAME=> 'スキーマ名',
  tabname=> 'テーブル',
  cascade=> TRUE,
  method_opt=> 'FOR ALL COLUMNS SIZE AUTO'
);


統計収集サンプルレート 10%

DBMS_STATS.GATHER_TABLE_STATS(
	OWNNAME           => 'スキーマ名',
	TABNAME          => 'テーブル名',
	ESTIMATE_PERCENT => 10
);




インデックスの統計情報の収集

DBMS_STATS.GATHER_INDEX_STATS(
	OWNNAME   => 'スキーマ名',
	INDNAME   => 'インデックス名'
);




テーブル統計情報の削除 

DBMS_STATS.DELETE_TABLE_STATS('スキーマ名','テーブル名');




スキーマ統計情報の収集 

DBMS_STATS.GATHER_SCHEMA_STATS ('スキーマ名',サンプリングパーセンテージ);


スキーマ指定、サンプリング20%
DBMS_STATS.GATHER_SCHEMA_STATS(
  ownname=> 'スキーマ',
  estimate_percent=> 20,
  cascade=> TRUE,
  method_opt=> 'FOR ALL COLUMNS SIZE AUTO',
  options=> 'GATHER AUTO');


options には 以下の指定が可能
'GATHER'      すべてのオブジェクトの統計情報を取得。
'GATHER AUTO' Oracle が 必要と判断したオブジェクトの統計情報を取得。
'GATHER_EMPTY' 統計情報が存在しないオブジェクトの統計情報を取得。




システム統計の収集 

DBMS_STATS.GATHER_SYSTEM_STATS

システム統計収集の開始
※システム統計収集の停止が実行されるまで収集され続ける

DBMS_STATS.GATHER_SYSTEM_STATS (GATHERING_MODE => 'START');


指定した時間だけシステム統計収集を行う。 
60分間 システム統計収集を行う。

DBMS_STATS.GATHER_SYSTEM_STATS (
		GATHERING_MODE => 'INTERVAL',
		INTERVAL => 60);


システム統計収集の停止 
GATHERING_MODE START および INTERVAL で開始したシステム統計収集の停止を行う。

DBMS_STATS.GATHER_SYSTEM_STATS (
		GATHERING_MODE => 'STOP'
);




統計情報のバックアップとリストア
バックアップ 
BEGIN 
DBMS_STATS.CREATE_STAT_TABLE ('スキーマ', 'savestats'); 
DBMS_STATS.GATHER_TABLE_STATS ('スキーマ', 'テーブル', stattab => 'savestats'); 
END; 

削除してリストア 
BEGIN 
DBMS_STATS.DELETE_TABLE_STATS ('スキーマ', 'テーブル'); 
DBMS_STATS.IMPORT_TABLE_STATS ('スキーマ', 'テーブル', stattab => 'savestats'); 
END; 



[一つ前に戻る] TOP PAGE
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送