Oracle中心にIT全般の技術情報を気が向くままに書いています。他にLinux、仮想化技術(VMWare)やトラブルに役立つ情報などがあります。

スポンサーサイト統計情報を過去の時点に戻す(リストア)


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
10g以降については統計情報が自動的にバックアップされて一定期間保持されます。
統計情報は履歴管理されているため,バックアップが保存されている期間内であれば,特定の時点に統計情報を戻すことが可能です。
本番運用で性能問題が発生した場合など,統計情報を戻すことで解決できる場合があります。

【実行した環境】
DB: Oracle 11.1.0.6.0
OS: Oracle Enterprise Linux V5

(1) 統計情報の履歴を確認する
(2) 統計情報をリストアする
(3) 統計情報をリストアする(統計情報がロックされている場合)

【実行手順】
(1) 統計情報の履歴を確認する
自動バックアップされた統計情報の履歴を確認します。
SQL> select owner,table_name,stats_update_time from dba_tab_stats_history
  2  where owner='TEST01' and table_name='TABLE1';

OWNER  TABLE_NAME STATS_UPDATE_TIME
------ ---------- -------------------------------- 
TEST01 TABLE1     11-07-17 19:34:00.377905 +09:00
TEST01 TABLE1     11-07-17 19:34:14.130391 +09:00
TEST01 TABLE1     11-07-17 19:09:03.971775 +09:00
TEST01 TABLE1     11-07-17 19:13:00.374531 +09:00

(2) 統計情報をリストアする
統計情報のリストアを行います。
指定したタイムスタンプの時点へのリストアが可能です。
SQL> EXECUTE DBMS_STATS.RESTORE_TABLE_STATS -
 (ownname=>'TEST01', -
  tabname=>'TABLE1', -
  as_of_timestamp=>'11-07-17 19:09:03.971775');

PL/SQLプロシージャが正常に完了しました。

(3) 統計情報をリストアする(統計情報がロックされている場合)
統計情報がロックされた表に対して統計情報のリストアを行おうとすると「ORA-20005」エラーが発生します。
SQL> EXECUTE DBMS_STATS.RESTORE_TABLE_STATS -
 (ownname=>'TEST01', -
 tabname=>'TABLE1', -
 as_of_timestamp=>'11-07-17 19:09:03.971775');
 
BEGIN DBMS_STATS.RESTORE_TABLE_STATS
 (ownname=>'TEST01',tabname=>'TABLE1',as_of_timestamp=>'11-07-17 19:09:03.971775'); END;

*
行1でエラーが発生しました。:
ORA-20005: object statistics are locked (stattype = ALL)
ORA-06512: "SYS.DBMS_STATS", 行2205
ORA-06512: "SYS.DBMS_STATS", 行3003
ORA-06512: "SYS.DBMS_STATS", 行23785
ORA-06512: 行1

強制的にリストアを行うにはforceオプションを指定します。
SQL> EXECUTE DBMS_STATS.RESTORE_TABLE_STATS -
 (ownname=>'TEST01', -
 tabname=>'TABLE1', -
 as_of_timestamp=>'11-07-17 19:09:03.971775', -
 force=>TRUE);

PL/SQLプロシージャが正常に完了しました。

また、今回はテーブル単位で統計情報をリストアしましたが、下記の単位でも可能です。
・データベース単位:DBMS_STATS.RESTORE_DATABASE_STATSプロシージャ
・スキーマ単位:DBMS_STATS.RESTORE_SCHEMA_STATSプロシージャ

ORACLEのチューニングについて勉強したい




以上です。




トラックバックURL

この記事にトラックバックする(FC2ブログユーザー)



前ページへ:SQLPlus Select結果のフォーマットを指定する
次ページへ:統計情報をExport/Importする

ページのトップへ

必ずお読みください

本ブログ記事をご利用になって生じたいかなる損害についても当方は一切責任を負いません。
ご利用は自己責任でお願いします。(^―^)

広 告





ブログランキング/その他


ビジネスブログ100選

ブログランキング・にほんブログ村へ
blogramで人気ブログを分析




最新トラックバック


RSSリンクの表示

QRコード

QR

アクセスカウンター

ユニーク:
トータル:


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。