goo blog サービス終了のお知らせ 

Oracle データベースのリカバリ(4)

2007-01-08 23:39:24 | Oracle
3. REDOロググループのリカバリ

REDOロググループの一部のREDOログメンバーに発生した障害の場合は、データベースはオープンできる。
REDOロググループの全てのREDOログメンバーに発生した障害の場合は、データベースをオープンできない。

v$logビューのstatusが「INACTIVE」のREDOロググループの場合は、REDOログファイルのクリアでリカバリ可能。
ex)
アーカイブREDOログファイルが作成済み(v$logビューのarchivedがYES)で、回復処理が必要でない(v$logビューのstatusがinactive)場合は、以下のSQLでクリアする。
alter database clear logfile group グループ番号;

アーカイブREDOログファイルが未作成(v$logビューのarchivedがNO)で、回復処理が必要でない(v$logビューのstatusがinactive)場合は、以下のSQLでクリアする。 ただし、この場合はアーカイブREDOログファイルが欠落してしまうので、バックアップ計画の見直しが必要になる。
alter database clear unarchived logfile group グループ番号;

v$logビューのstatusがactiveやcurrentのREDOロググループの場合は、全てのデータファイルをリストアし、不完全リカバリを行う。
以下は、SQLによるカレントREDOロググループのリカバリの例である。
ex)
shutdown
OSコマンドによるデータファイルのバックアップ
OSコマンドによるデータファイルのリストア
startup mount
recover database until cancel
cansel...カレントREDOロググループのログ順序番号が表示された時に行う。左記以外の場合は、enterキーを入力
alter database open reserlogs;

以下は、RMANによるカレントREDOロググループのリカバリの例である。

shutdown
OSコマンドによるデータファイルのバックアップ
rman target /
startup mount;
run {
set until sequence カレントREDOロググループのログ順序番号 THREAD 1;
restore database;
recover database;
}
alter database open restlogs;

*1 REDOロググループのstatus,archivedは以下のSQLで確認が可能。
selcet group#, sequence#, bytes, status, archived from v$log;



コメントを投稿

サービス終了に伴い、10月1日にコメント投稿機能を終了させていただく予定です。