This discussion is archived
2 Replies Latest reply: Nov 29, 2012 7:13 PM by Blueloco RSS

Oracleのリカバリ(アーカイブREDOログの適用)について

976924 Newbie
Currently Being Moderated
Oracleのリカバリ(アーカイブREDOログの適用)について教えて頂けますでしょうか。

●環境
Oracle:11g r2
サーバ:Windows Server 2008 R2

●バックアップ(RMANは使用していません)
週次でバックアップ(土日)
・データファイル(system領域等、全てのデータファイル)
・制御ファイル
※DBを停止させて、NetBackUpにより、ファイルそのものをバックアップしています。

日次でバックアップ(月~金)
・アーカイブREDOログ
※DBを停止させて、NetBackUpにより、ファイルそのものをバックアップしています。




以上のような環境において、例えば水曜日にディスクが破損して
リカバリを行う場合、ネットで調べた以下の手順を行っているのですが、
アーカイブREDOログが適用されません。




STEP1.データファイルを、週次バックアップしておいたファイルへ置き換え
①DB停止

インスタンスの指定
 コマンドプロンプト>set ORACLE_SID=HDW02000

SQL*Plusに接続
 コマンドプロンプト>sqlplus /nolog

ログイン
 SQL>conn sys/パスワード as sysdba

DB停止
 SQL>shutdown immediate;


②以下のファイルを、バックアップファイルへ置き換え
・制御ファイル(週次バックアップしたもの)(system領域等、全てのデータファイル)
・データファイル(週次バックアップしたもの)
・アーカイブREDOログ(月曜・火曜日にバックアップしたもの)

DBをMOUNT状態に変更
SQL>startup mount;



STEP2:アーカイブREDOログの適用
sqlplus sys/password@(SID) as sysdba
SQL>recover automatic database;

↑ここで、アーカイブREDOログを適用する必要がありません、
という内容のメッセージが出て、アーカイブREDOログを適用できません。


どうすればよいか、どなたかご教授いただけないでしょうか。

よろしくお願いします。
  • 1. Re: Oracleのリカバリ(アーカイブREDOログの適用)について
    asahide Expert
    Currently Being Moderated
    ちなみに通常のREDOログは取得してますか?


    バックアップ時点に制御ファイルも戻しているため、その制御ファイルにはアーカイブを適用する必要はない、と判断されてしまうと考えてます。
    recover database until cancel;
    辺りで戻せばアーカイブ適用できると思います。
    #うろ覚えですけど、、、
  • 2. Re: Oracleのリカバリ(アーカイブREDOログの適用)について
    Blueloco Explorer
    Currently Being Moderated
    DBを停止させて取得した「一貫性バックアップ」なのですから、制御ファイルとデータファイルの整合性がとれている状態です。
    なので、リカバリが不要、と判断されます。
    制御ファイルが破損していなければ制御ファイルをリストアする必要がありません。

    制御ファイルも破損していて、リストアした制御ファイルよりも先のSCNに進めるためには、
    RECOVER DATABASE USING BACKUP CONTROLFILE;
    とする必要があるかと。
    この場合、アーカイブログとオンラインREDOの境目を制御ファイルが判断できないため、アーカイブログを全て適用した後はオンラインREDOログを直接指定してリカバリすることで完全リカバリできます。
    ※なので完全リカバリする場合はオンラインREDOログのバックアップはリストアしてはいけません

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points