データベース制御ファイルが失われるか破損したりした場合は、ファイル レベル復旧を実行してリストアできます。ファイル レベル復旧が成功した後、手動で制御ファイルを回復する必要があります。
次の手順に従ってください:
SQL>shutdown abort
SQL>startup nomount
SQL> show parameter control_files; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ control_files string /opt/oracle/oradata/lynx/control01.ctl, /opt/oracle/flash_recovery_area/lynx/control02.ctl
例:「control01.ctl」と入力して検索します。
$sqlplus / as sysdba SQL>alter database mount;
SQL> RECOVER DATABASE USING BACKUP CONTROLFILE
注:必要なアーカイブ ログがない場合、必要な REDO レコードがオンライン REDO ログにあることを意味します。この状態は、インスタンスが失敗したときに、アーカイブされていない変更がオンライン ログにあると発生します。オンライン REDO ログ ファイルのフル パスを指定し、Enter キーを押すことができます(適切なログが見つかるまでにこの操作を数回試行する必要がある場合があります)。
例:
SQL> RECOVER DATABASE USING BACKUP CONTROLFILE ORA-00279: change 1035184 generated at 05/27/2014 18:12:49 needed for thread 1 ORA-00289: suggestion : /opt/oracle/flash_recovery_area/LYNX/archivelog/2014_05_27/o1_mf_1_6_%u_.arc ORA-00280: change 1035184 for thread 1 is in sequence #6 Specify log:{<RET>=suggested | filename | AUTO | CANCEL} /opt/oracle/oradata/lynx/redo03.log ログが適用されます。 メディア リカバリが完了します。
SQL>alter database open resetlogs;
制御ファイルが正常に回復されます。
Copyright © 2016 |
|