[ORACLE]統計更新を強制的にする

投稿日:

Oracleの統計情報の更新方法

頻度はそんなに無いというか、先日、トラブル対応時に必要に迫られたので・・・

通常は、Oracleの統計情報は1日1回更新されるらしいんだけど、夜とかになるみたい。

多分、設定すれば時間は変更出来るんだろうけど。

 
BEGIN
	--テーブル単位の収集
	DBMS_STATS.GATHER_TABLE_STATS (
		OWNNAME       => 'ユーザ名'
		,TABNAME      => 'テーブル名'
		,METHOD_OPT   => 'FOR ALL INDEXED'
		,CASCADE      => TRUE
	);
END;
 / 
BEGIN
	--スキーマ単位の収集
	DBMS_STATS.GATHER_SCHEMA_STATS (
		 OWNNAME => 'ユーザ名'
		,OPTIONS => 'GATHER'
	);
END;

 

まぁ、必要なタイミングはそこまで多くは無いと思うけど、今回、DBの入れ替えやら何やらをやった際に、統計情報の更新をする必要があったので。

統計情報が更新されないと、テーブルの検索時の速度とかに影響が出てくるらしいので、Oracleインストールじのデフォルトだと、自動になってるみたい。

SELECT NAME
     , VALUE
  FROM V$PARAMETER
 WHERE NAME = 'statistics_level'
;

自動になってるかどうかの確認は上記SQLで。

TYPCALかALLが返ってこれば、自動設定になってる。







-ORACLE

関連記事

[ORACLE]マテリアライズドビューの一覧を取得する

正直、使わなさ過ぎてマテリアライズドビューって何?って感じではあるけど、たまにフラット出てくるのでメモ。 詳細は、Oracleのリファレンス見てください。 https://docs.oracle.co …

ORACLEで「IMP-00013: DBAのみ別のDBAがエクスポートしたファイルをインポートできます。」の解決法。

客先DBのエクスポートしたものがインポートできずに、タイトルのエラーを吐く。 幸い、お客さんの目の前じゃなかったので、ゆっくり調べて解決できたけど、客先で発生したら困るよなぁ・・・ もともと英語のメッ …

OracleでORA-01747 : 指定された列が無効ですのエラーの分かりづらさ・・・

OracleでORA-01747 : 指定された列が無効ですのエラーの分かりづらさったらありません・・・ SQLのUPDATE文の実行時に 「ORA-01747 : 指定された列が無効です」 とエラー …

C# OracleDbAccessを使用して、SQL実行時にORA-00911 文字が無効です のエラー

表題のとおり、C#でOracleDbAccessを使用して、SQLを実行させる時に発生しました。 ネットで探すと、 全角スペースが原因 とか出てきたので、SQL内のスペースを全て半角スペースに置き換え …

SQL文中で全角文字を使うなと言われたので、ORACLEでJOIN句の条件式をCASE文で分岐させる

JOINの条件式にCase文を入れる http://blog.goo.ne.jp/ilikehobby/e/80b471f96f6d693b6c5df75f18591c0e SQL文中で全角文字を使う …


カテゴリー