8 Oracle GoldenGateの適用の構成

この章では、非統合または統合モードのいずれかでReplicat適用プロセスを構成する手順について説明します。

内容は次のとおりです。

Replicat構成の前提条件

この項では、Extractを統合モードで構成するためのベスト・プラクティスを示しています。

統合モードでExtractを構成する前に満たす必要があるガイドラインは、次のとおりです。

  1. Oracle GoldenGateのためのデータベースの準備

  2. Oracle GoldenGate資格証明の確立

  3. 「キャプチャおよび適用モードの選択」

  4. Managerプロセスを構成して、ターゲット・システムにOracle GoldenGateインスタンスを作成します。『Oracle GoldenGateの管理』を参照してください。

  5. また、『Oracle GoldenGateの管理』のガイドラインも確認してください。

注意:

アクティブなReplicat構成をモード間で切り替えるには、次の構成手順を実行し、『Oracle GoldenGateの管理』を参照してください。

この手順でできること

次の手順では、基本的なReplicatパラメータ(構成)ファイルの構成方法について説明します。

ビジネス要件によってはより複雑なトポロジが必要ですが、この手順がその他の構成手順の基礎となります。

手順を実行することで、次のことが可能です。

  • 基本的な構成ファイルが作成されます。

  • 後で環境に適用する機能や要件について決定を下してパラメータを追加し、それらを拡張します。

  • コピーを使用して、一から作成するよりも短時間で追加のReplicatパラメータ・ファイルを作成します。

注意:

これらの手順では、DDLをターゲットに適用するようにReplicatは構成されません。DDLをサポートするには、基本的なReplicatパラメータ・ファイルを作成し、「DDLサポートの構成」を参照して構成手順を確認します。

チェックポイント表の作成(非統合Replicatのみ)

チェックポイント表は、非統合Replicatに必要なコンポーネントです。統合Replicatには不要なため、使用しても実行時に無視されます。

非統合Replicatは、リカバリ・チェックポイントをチェックポイント表に保持し、ターゲット・データベースに格納されます。チェックポイントは、Replicatトランザクション内でチェックポイント表に書き込まれます。チェックポイントはトランザクションに対して成功または失敗のいずれかであるため、プロセスまたはデータベースで障害が発生した場合でも、トランザクションは一度のみ適用されることがReplicatにより保証されます。

注意:

この手順では、デフォルトのチェックポイント表をインストールします。ほとんどの場合、デフォルトで十分です。複数のチェックポイント表を使用(Replicatグループごとに異なる表を使用するなど)することができます。デフォルト以外のチェックポイント表(デフォルトの表をオーバーライドする)を使用するには、「Oracle GoldenGateレプリケーションのインスタンス化」の手順でReplicatプロセスを作成する際、ADD REPLICATのオプションCHECKPOINTTABLEを使用します。詳細は、『Oracle GoldenGateリファレンス』を参照してください。

ターゲット・データベースへのチェックポイント表の追加

  1. ターゲットのOracle GoldenGateディレクトリからGGSCIを実行し、DBLOGINコマンドを発行してターゲット・データベースにログインします。
    DBLOGIN USERIDALIAS alias
    

    説明:

    • aliasでは、Replicatにアクセス可能なスキーマに表を作成できるユーザーのデータベース・ログイン資格証明の別名を指定します。この資格証明は、Oracle GoldenGate資格証明ストアに存在する必要があります。詳細は、「Oracle GoldenGate資格証明の確立」を参照してください。

  2. GGSCIで、任意のスキーマ(Oracle GoldenGate専用であることが推奨されます)にチェックポイント表を作成します。
    ADD CHECKPOINTTABLE [container.]schema.table
    

    説明:

    • containerは、コンテナの名前です(schema.tableがマルチテナント・コンテナ・データベースにある場合)。このコンテナは、表を格納するルート・コンテナまたはプラガブル・データベースになります。

    • schema.tableは、表のスキーマおよび名前です。オブジェクト名を指定する手順は、『Oracle GoldenGateの管理』を参照してください。

Oracle GoldenGate構成でのチェックポイント表の指定

Oracle GoldenGate構成でチェックポイント表を指定する手順:

  1. GLOBALSファイルを作成します(あるいは、既存のものを編集します)。
    EDIT PARAMS ./GLOBALS

    注意:

    EDIT PARAMSで、単純なテキスト・ファイルが作成されます。EDIT PARAMS後にファイルを保存すると、拡張子なしのGLOBALS(大文字)という名前で保存されます。これはそのままにし、ファイルはOracle GoldenGateルートディレクトリのままにします。

  2. GLOBALSファイルで、CHECKPOINTTABLEパラメータを入力します。
    CHECKPOINTTABLE [container.]schema.table
    
  3. GLOBALSファイルを保存し、閉じます。

チェックポイント表へのデフォルトの非同期COMMITの無効化

非統合Replicatがチェックポイント表を使用する際、NOWAITオプションを指定して非同期のCOMMITを使用し、パフォーマンスを向上させます。ReplicatはこのCOMMITの適用直後に処理を続行できます。データベースでのトランザクションの記録はバックグラウンドで行われます。Replicatパラメータ・ファイルにDBOPTIONSパラメータとDISABLECOMMITNOWAITオプションを使用すると、NOWAITを指定した非同期のCOMMITを無効にできます。

注意:

非統合Replicatグループの構成にチェックポイント表が含まれない場合、チェックポイントはディスク上のファイルに保持されます。この場合、ReplicatはWAITを指定してCOMMITを使用し、データベースの障害が発生した場合に、チェックポイント・ファイルで指定されたトランザクションの状態がリカバリ後に異なるような矛盾が生じないようにします。

Replicatの構成

プラガブル・データベースに対してReplicatを構成するには、Replicatプロセスを構成します。Replicatは、プラガブル・データベース内の任意のモードで動作できます。

次の手順では、Replicatプロセスを構成します。

  1. ターゲット・システムのGGSCIで、Replicatパラメータ・ファイルを作成します。
    EDIT PARAMS name
    

    説明: nameは、Replicatグループの名前です。

  2. 次に示す順序でReplicatパラメータを入力します。パラメータ文ごとに新しい行を開始します。説明については、表8-*を参照してください。

    非統合モードのReplicatグループの基本的なパラメータ:

    REPLICAT financer
    USERIDALIAS tiger2
    ASSUMETARGETDEFS
    MAP hr.*, TARGET hr2.*;
    

    統合ReplicatモードのReplicatグループの基本的なパラメータ:

    REPLICAT financer
    DBOPTIONS INTEGRATEDPARAMS(parallelism 6)
    USERIDALIAS tiger2
    ASSUMETARGETDEFS
    MAP hr.*, TARGET hr2.*;
    
    パラメータ 説明
    REPLICAT group

    groupは、Replicatグループの名前です。

    DBOPTIONS DEFERREFCONST

    非統合モードのReplicatに適用されます。DEFERREFCONSTでは、ターゲット・データベースによるカスケード制約の適用をReplicatトランザクションのコミットまで遅延させるDEFERRABLEに制約を設定します。重要な追加情報は、『Oracle GoldenGateリファレンス』を参照してください。

    DBOPTIONS INTEGRATEDPARAMS (parameter[, ...])

    このパラメータ指定は、統合モードのReplicatに適用されます。インバウンド・サーバーのオプション・パラメータを指定します。

    DBOPTIONSオプションのその他の重要情報は、「統合モード用のオプションのパラメータ」を参照してください。

    USERIDALIAS alias

    Replicatに割り当てられているユーザーのデータベース・ログイン資格証明のエイリアスを指定します。この資格証明は、Oracle GoldenGate資格証明ストアに存在する必要があります。詳細は、「Oracle GoldenGate資格証明の確立」を参照してください

    SOURCECATALOG container

    このパラメータは、ソース・データベースがマルチテナント・コンテナ・データベースの場合に使用します。2つの部分からなる名前を含む後続のすべてのMAPパラメータで、デフォルトのコンテナとして使用されるプラガブル・データベースの名前を指定します。このパラメータでは、3つの部分からなる名前(container.schema.object)ではなく、2つの部分からなるオブジェクト名(schema.object)を使用できます。別のSOURCECATALOGパラメータが発生するか、3つの部分からなる完全なMAP指定が発生するまで実質的に保持されます。SOURCECATALOGの詳細は、『Oracle GoldenGateリファレンス』を参照してください。

    MAP [container.]schema.object, TARGET schema.object;

    ソース表または順序、複数オブジェクト、および対応するターゲットオブジェクトの関係を指定します。

    • MAPは、ソース表または順序、またはオブジェクトのワイルドカード・セットを指定します。

    • TARGETは、ターゲット表または順序、またはオブジェクトのワイルドカード・セットを指定します。

    • containerは、コンテナの名前です(ソース・データベースがマルチテナント・コンテナ・データベースの場合)。

    • schemaは、スキーマ名またはスキーマのワイルドカード・セットです。

    • objectは、表または順序の名前、またはオブジェクトのワイルドカード・セットです。

    このパラメータ文はセミコロンで終了します。

    ワイルドカード指定からオブジェクトを除外するには、MAPEXCLUDEパラメータを使用します。

    詳細およびデータのフィルタリング、マッピングおよび操作を制御するその他のオプションは、『Oracle GoldenGateリファレンス』MAPに関する項を参照してください。

  3. 統合Replicatを使用している場合は、Extractのパラメータ・ファイルに次のパラメータを追加します。
    • LOGALLSUPCOLS: このパラメータでは、変更前イメージの補足的にログに記録される列をキャプチャします。このパラメータは、Oracle GoldenGateでサポートされるすべてのソース・データベースで有効です。12cより前のExtractバージョンでは、GETUPDATEBEFORESおよびNOCOMPRESSDELETESパラメータを使用して、同じ要件を満たすことができます。主キー、一意キーおよび外部キーの変更前および変更後の値をログに記録するようにデータベースを構成する必要があります。LOGALLSUPCOLSの詳細は、『Oracle GoldenGateリファレンス』を参照してください。

    • COMPACTに設定されるUPDATERECORDFORMATパラメータ: この設定では、ExtractでUPDATE操作の変更前および変更後のイメージを証跡の単一レコードに結合します。このパラメータは、Oracle Databaseバージョン11.2.0.4以上で有効で、統合Replicatのパフォーマンスを改善します。詳細は、『Oracle GoldenGateリファレンス』を参照してください。

  4. 構成に推奨されるオプションのReplicatパラメータを入力します。このファイルは、GGSCIのEDIT PARAMSコマンドを使用して、処理を開始する前の任意の時点で編集できます。詳細は、『Oracle GoldenGateリファレンス』を参照してください。また、その他の構成の考慮事項は、「統合モード用のオプションのパラメータ」を参照してください。
  5. ファイルを保存して閉じます。

注意:

統合Replicatを使用している場合に、処理の開始後にReplicatに構成変更を行う方法の詳細は、『Oracle GoldenGateの管理』を参照してください。

次のステップ

Replicatの基本的なパラメータ・ファイルを作成したら、次の追加の構成手順を参照してください。