[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でLISTAGG関数を使ったけど、世界を変えられなかった話・・・

OracleでLISTAGG関数を使ったら、世界が変わった話。 はい、休日出勤でした。 そして、休日出勤の結果、以下のことが分かりました(泣 日本の中心付近で仕様変更と闘うSE日記OracleでLIS …

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

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

ORACLEでCASE文を使用した時にORA-00932のエラーが出る

割と悩んだ・・・ 原因は、CASE文で使用している項目のデータ型が異なるのが原因みたいだけど、正直、ぴんと来てない現実w select case name when ‘A’ then ‘あ’ when …

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

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

ORACLEでORA-01861: リテラルが書式文字列と一致しません

ORA-01861: リテラルが書式文字列と一致しません このエラー、ぶっちゃけ、意味が分からないところでもある。 日付の指定時に発生してて、原因が判明するまでに結構回り道をしました。 ネットで検索し …


カテゴリー