例: リアルタイムREDOトランスポートが構成されているデータベースの重大な記憶域障害後のリカバリ

リアルタイムREDOトランスポートを有効にすると、保護されたデータベースのリカバリ・ダウンタイムの最小化が保証されます。保護されたデータベースを記憶域障害の直後にリストアおよびリカバリする場合、メディア・リカバリでデータベースの状態を記憶域障害発生時に最も近い状態に戻すことができるよう、必要な完全アーカイブ・ログ・ファイルと不完全アーカイブ・ログ・ファイルがリストアおよびリカバリされます。

次の例では、リアルタイムREDOトランスポートを使用するように構成済の保護されたデータベースを、記憶域障害によってすべてのデータ・ファイルとオンラインREDOログ・ファイルが消失した後にリカバリします。リカバリ・アプライアンスにあるバックアップとREDOログを使用して、保護されたデータベースを最新のSCNまでリカバリするには、RC_DATABASEビューのFINAL_CHANGE#列を使用します。FINAL_CHANGE#列には、保護されたデータベースをその時点までリカバリする必要がある最新のSCNが格納されています。リカバリを実行する前に、このSCN値をSET UNTIL SCNコマンドで使用します。リカバリは、リカバリ・アプライアンスにあるバックアップとREDOログのみを使用して実行されます。

ノート:

次のシナリオでは、RC_DATABASE.FINAL_CHANGE#に値-1が格納されるので、この値をSET UNTIL SCNコマンドで使用することはできません。

  • 保護されたデータベースのバージョンがOracle Database 11g (リリース11.1)以下の場合

  • リアルタイムREDOログ・データのリカバリ・アプライアンスへの送信時に、保護されたデータベースのCOMPATIBLEパラメータが10.0以下に設定されていた場合

かわりに、V$ARCHIVED_LOGビューのNEXT_CHANGE#列を使用して、保護されたデータベースをリカバリする必要のある目的のSCNを特定します。

詳細は、My Oracle Supportノート243760.1を参照してください。My Oracle Supportは、https://support.oracle.comで利用可能です。

リアルタイムREDOトランスポートを使用するように構成済の保護されたデータベースをリストアおよびリカバリするには:

  1. 「リカバリ・アプライアンスからデータをリストアおよびリカバリするための前提条件」で説明している前提条件を満たしていることを確認します。
  2. 「CLIを使用した保護されたデータベースとリカバリ・アプライアンスへの接続」の説明に従って、RMANを使用して保護されたデータベースにTARGETとして接続し、リカバリ・アプライアンス・カタログにCATALOGとして接続します。
  3. RC_DATABASEビューを問い合せて、保護されたデータベースをリカバリする必要のある目的のSCNを特定します。このSCNは、データベースがクラッシュしたときの最新のSCNです。
    SELECT final_change# FROM rc_database WHERE name='MY_DB';
    
  4. 保護されたデータベースをリストアおよびリカバリします。

    この例では、制御ファイルが使用できるものと仮定しています。制御ファイルが消失している場合は、最初に制御ファイルをリカバリしてから、ここで示したステップを実行する必要があります。

    STARTUP NOMOUNT;
    RUN 
    {
      SET UNTIL SCN 23098;
      RESTORE DATABASE;
      RECOVER DATABASE;
      ALTER DATABASE OPEN RESETLOGS;
    }
    

    ノート:

    UNTIL SCN句は必須です。特定のSCN値を選択しないと、不完全なREDOが含まれるログはリカバリで適用されません。