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;