Recovery Manager (RMAN)を使用したインスタンス化

ターゲットOracleデータベースをインスタンス化するRecovery Manager (RMAN)の方法は、大規模なデータ転送のパフォーマンスを高速化する、物理的なブロックベースのインスタンス化を提供する場合に適しています。RMANプロセスは、ソース・データベースのバックアップをリストアして、ターゲット・データベースを作成します。

テラバイトの領域の大規模データベースでは、論理的なインスタンス化の方法は時間がかかり、非効率的です。このような場合、Oracle RMANは、ソース・データベースの物理クローンを作成するための推奨ソリューションです。

次の手順では、ターゲットOracleデータベースのRMANベースのインスタンス化中に実行されるタスクの概要を示します:
  1. ソース・データベースのバックアップを使用します。

  2. 新しい補助(クローン)データベースにバックアップをリストアします。

  3. クローニングされたデータベースでメディア・リカバリを実行して、一貫性のある状態にします。

  4. ターゲット環境の特定の要件を満たすように、クローン・データベースを構成および調整します。

Oracle GoldenGateにRMANクローニングを使用する場合は、データの損失を回避し、シームレスな統合にするために、レプリケーションのタイミングを管理することが重要です。重要なのは、ソース・データベースとターゲット・データベースの両方で同期が維持されるように、ターゲット・データベースに一貫性があった時点(またはSCN)を識別することです。

これを行うには、バックアップが作成される前に、ソース・データベースでOracle GoldenGate Extractプロセスを起動します。Extractの登録時より古いタイムスタンプを持つトランザクションが見つかった場合は、そのトランザクションが完了するまで待機する必要があります。Extractでは完全なトランザクションのみが処理されるため、これは重要です。クローニングによってターゲット・システムを設定した後、DISTPATHを使用してレプリケーションの変更をターゲット・システムに送信し、Replicatプロセスを追加します。Replicatを起動するときは、ターゲット・データベースがリカバリされたSCNから正確に起動してください。

次の例では、ソース・データベースからのバックアップを使用してデータベースをクローニングする場合のSCNの使用について説明します。

ソース・データベースで、午後10時にスケジュールされているバックアップが実行されています。バックアップには、より頻繁にバックアップされるデータベース・ファイルとアーカイブ・ログが含まれています。バックアップは午後10時30分に終了し、SCNは1420004711になります。このバックアップは、新しいターゲット・データベースのクローニング(リストアおよびリカバリ)に使用されます。ファイルのコピー、リストアおよびリカバリには数時間かかり、その後、新しいターゲット・データベースの準備が整います。この時点で、次の図に示すように、ソース・データベースとターゲット・データベースの両方に一貫性があります。
ソース・データベースのバックアップは、SCN値を使用してクローニングされます。

時間が経過すると、ソース・データベースで新しい変更が引き続き発生し、SCNが増加します。ターゲット・データベースの同期を維持するために、Oracle GoldenGateのExtractプロセスは、バックアップが作成される前の時点から変更を取得します。

Replicatプロセスはすぐには起動されませんが、起動されると、STARTCSN (ターゲット・データベースがリカバリされたSCN)より前に発生した変更は無視されます。その時点以降、Replicatは変更のバックログの適用を開始します。Replicatの同期後、レプリケーションは通常のリアルタイム・フェーズに移行します。

RMANを使用してクローニングされたターゲット・データベースを設定する詳細な手順が記載されている『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』データベースの複製のトピックを参照してください。

RMANメソッドを使用したOracleの正確なインスタンス化

Oracle GoldenGateの使用中にOracleデータベースのRMANインスタンス化を設定するには、次の手順を実行する必要があります。
  1. ソース・システムとターゲット・システムの両方にソフトウェアをデプロイして、Oracle GoldenGateをインストールおよび設定します。構成する前に、すべてのデータベースの前提条件が満たされていることを確認してください。これには、ソース・データベースで最小サプリメンタル・ロギングを有効化すること、およびADD TRANDATAまたはADD SCHEMATRANDATAを使用して、レプリケートされた表のキー列がログ記録されるようにすることが含まれます。

  2. ソース・データベースでExtractおよびDISTPATHプロセスを追加および構成します。

  3. ターゲット・データベースでReplicatプロセスを追加および構成します。

  4. Extractプロセスを開始し、Extractは完全なトランザクションのみを取得するため、長時間実行されるトランザクションが開始される前にExtractの実行が開始されるようにします。
  5. DISTPATHプロセスを開始します。

  6. Replicatプロセスを起動しないでください。ターゲット・データベースが完全にリカバリされるまで待機してください。

  7. RMANを使用し、ソース・データベースのバックアップを取得します。このバックアップは、後でターゲット・データベースの作成に使用されます。バックアップ・ファイルは、ターゲット・システムに安全に転送する必要があります。
    RMAN target /
    RMAN> BACKUP DATABASE PLUS ARCHIVELOG
  8. RMANを使用して、ソース・データベースの複製を作成し、ターゲット・データベース名に名前を変更します。たとえば、ターゲット・データベース名がDBSOUTHの場合は、ソース・データベースの複製の名前をDBSOUTHに変更します。このプロセス中のSCN (システム変更番号)の値を必ずメモしてください。これは両方のデータベースが同期している正確な時点を示しています。次の例は、DBSOUTHという名前(ターゲット・データベースと同じ)のDBNORTHデータベースの複製の作成を示しています。
    OS> RMAN target /
    
    RMAN> restore database preview summary
    >>> Recovery must be done beyond SCN 1420004711 to clear datafile fuzziness
    
    OS> target sys/tiger99_RR@dbnorth
    
    RMAN> connect auxiliary
    RMAN> duplicate target database to DBSOUTH nofilenamecheck until SCN 1420004711;
  9. DBSOUTHデータベースでReplicatプロセスを開始し、RMANを使用してリカバリされたデータベースと正確に同じSCNで起動していることを確認します。

    ATSCNオプションを使用して、レプリケーション中にデータ・ギャップがないことを確認します:

    OGG http://www.example.com:12000 depl_south> START REPLICAT REPS, ATCSN 1420004711 

次の図に、これらのステップを示します。
Oracle GoldenGate Extractを使用してソース・データベースでレプリケーションを継続しながら、RMANを使用してターゲット・データベースをインスタンス化する