【Oracleデータリカバリ】SYSAUXテーブルスペースのオブジェクトをどうやって再構造できるか

プロのOracle Databaseの復旧サービスを提供
携帯番号: +86 13764045638 メール:[email protected]

 

 

SQL> select file_id,file_name from dba_data_files where tablespace_name=’SYSAUX’;

FILE_ID
———-
FILE_NAME
——————————————————————————————————————————————–
2
/s01/oradata/FIXIT/datafile/o1_mf_sysaux_85wkhmrk_.dbf
SQL> alter database datafile 2 offline;

Database altered.
仮にここのdatafile 2、つまりSYSAUXのすべてのデータファイルもなくした。それにどんなバックアップもないから、バックアップでテーブルスペースをリカバリできない。
けどSYSAUXテーブルスペースはデータベースに必要としているシステムテーブルスペースだから、 AWRなど大切なデータと補助データを格納している

 
SQL> exec dbms_workload_repository.create_snapshot;
BEGIN dbms_workload_repository.create_snapshot; END;

*
ERROR at line 1:
ORA-13509: error encountered during updates to a AWR table
ORA-00376: file ORA-00376: file 2 cannot be read at this time
ORA-01110: data file 2: ‘/s01/oradata/FIXIT/datafile/o1_mf_sysaux_85wkhmrk_.dbf’
cannot be read at this time
ORA-06512: at “SYS.DBMS_WORKLOAD_REPOSITORY”, line 99
ORA-06512: at “SYS.DBMS_WORKLOAD_REPOSITORY”, line 122
ORA-06512: at line 1

 

SYSAUXすべてのデータファイルもバックアップも全部なくした場合にそのテーブルスペースのオブジェクトを再構造する。

 

データファイルを徹底的になくした場合を除いて、SYSAUXデータファイルが一部のロジック/物理的なベッドブロックがあるから、これもテーブルスペースを再構造する必要がある利用の一つである

例えば以下のエラ:

ORA-00600: [kcbz_check_objd_typ] from MMON slave or its process
ORA-00600: [kdsgrp1] while querying WR% tables from SYSAUX

違ったAWRテーブルに対して、 $ORACLE_HOME/rdbms/admin/ディクショナリーに関連するシステムテーブルの作成スクリプトを格納している、例えば:

WRI$_OPTSTAT catost.sql – Optimizer Statistics Tables
WRI$_ALERT catalrt.sql – Catalog script for server ALeRT
WRH$_* catawrtb.sql – Catalog script for AWR Tables
catawrvw.sql – Catalog script for AWR Views

続いて、SYSAUXのオブジェクトを再構造することに専念する。recreate sysauxのオブジェクトは正常の手段ではない。それもSYSAUXをリカバリする最後のステップである。製品環境に以下の方法勝手に使わないでください:

あとのオペレーションが危険過ぎたから、Oracle専門家しか操作できないから、ここでは紹介しない。

 


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *