2 ライブ・レポートでのOracle GoldenGateの使用

この章では、ライブ・レポートでOracle GoldenGateを使用する方法について説明します。

内容は次のとおりです。

2.1 レポート構成の概要

最も基本的なOracle GoldenGate構成は、ソース・データベースからレポートや分析などのデータ取得目的のみに使用されるターゲット・データベースへの一方向レプリケートを行う1対1構成です。Oracle GoldenGateは同種間あるいは異種間のデータ転送をサポートし、構成内のいずれのシステム上でもフィルタリングや変換が可能なためです(サポート内容はデータベース・プラットフォームごとに異なります)。

Oracle GoldenGateは、ターゲットをレポート用に最適化しながら、ソースをOLTPワークロード用に最適化できるため、レポート環境の作成に最適です。これには、問合せをより迅速に実行できるように、ターゲット・データベースに索引またはマテリアライズド・ビューを追加することも含まれます。Oracle GoldenGateでは、ソース・データベースからメタデータをプルして、レコードがどのように変更されたか、レコードがいつ変更されたか、誰が変更したかを追跡したり、列値がどのように変更されたかの履歴を追跡したりすることもできます。

Oracle GoldenGateでは、様々なレポート・トポロジが用意されており、スケーラビリティ、可用性およびパフォーマンスに対するユーザー要件に基づいて各プロセスをカスタム構成できます。この項では、レポート構成を選択する場合の考慮事項について説明します。

2.1.1 フィルタリングおよび変換

データ・フィルタリングおよびデータ変換では、どちらもオーバーヘッドが増大します。これらのアクティビティは、構成エラーにつながるおそれがあります。Oracle GoldenGateで大量のフィルタリングおよび変換を実行する必要がある場合は、1つ以上のデータ・ポンプを使用してその作業を処理することを検討してください。この目的にReplicatを使用することもできますが、その場合データがフィルタされないため、ネットワーク全体でより多くのデータが送信されます。フィルタリングおよび変換は、データ・ポンプとReplicatに分割して、2つのシステムで分けることが可能です。

データをフィルタする場合、次の処理を使用できます。

  • TABLE文(Extract)またはMAP文(Replicat)のFILTER句またはWHERE

  • SQLEXECでは、問合せを実行することも、データベースでストアド・プロシージャを実行することもできます。戻り値は、FILTER句の評価に使用できます。

  • ユーザー・イグジット

データを変換する場合、次の処理を使用できます。

  • Oracle GoldenGate変換関数Oracle GoldenGateリファレンス列変換関数に関する項を参照してください。

  • ソース・データベースまたは証跡のメタデータ。GETENV関数を参照してください。

  • 外部変換ソリューションのルールを適用して操作済データをOracle GoldenGateに戻すExtractまたはReplicatプロセスからのユーザー・イグジット

  • ETLソリューションまたは他の変換エンジンに直接データを配信するReplicat

Oracle GoldenGateのフィルタリングおよび変換サポートの詳細は、次を参照してください。

2.1.2 読取り専用と高可用性の比較

Oracle GoldenGateのライブ・レポート構成では、読取り専用ターゲットがサポートされます。この構成のターゲットを、高可用性をサポートするトランザクション・アクティビティにも使用する場合は、双方向レプリケーションの構成を参照してください。

2.1.3 追加情報

次のドキュメントには、Oracle GoldenGateの構成に関連する追加情報が記載されています。

  • その他のシステム要件、プロセス構成およびデータベースの設定要件については、使用中のデータベース・タイプに対応するOracle GoldenGateのインストレーションおよび構成のドキュメントを参照してください。これらのガイドはこのマニュアルのはじめににリストされています。

  • Oracle GoldenGateの変更取得および配信グループの構成方法の詳細は、オンライン変更同期の構成を参照してください。

  • Oracle GoldenGateのその他のチューニング・オプションは、Oracle GoldenGateのパフォーマンスのチューニングを参照してください。

  • Oracle GoldenGateのコマンドとパラメータの構文の詳細および説明は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。

2.2 標準レポート構成の作成

標準のOracle GoldenGate構成では、取得データが1つのExtractグループによってTCP/IPを通じてターゲット・システムの証跡に送信され、1つのReplicatグループによって処理されるまで格納されます。

Classic Architectureで作成するオブジェクトの表現については、次の図を参照してください。

図2-1 標準レポート構成の作成の構成要素

図2-1の説明が続きます
「図2-1 標準レポート構成の作成の構成要素」の説明

Microservices Architectureで作成するオブジェクトの表現については、次の図を参照してください。Microservices Architectureで標準レポート構成を作成するための構成要素

2.2.1 ソース・システム

ソース・システムでManagerプロセスとExtractグループを構成します。

Managerプロセスを構成する手順

ソースで、Managerプロセスを構成します。

Extractグループを構成する手順

  1. ソースで、ADD EXTRACTコマンドを使用してExtractグループを作成します。説明上、このグループをextと呼びます。

    ADD EXTRACT ext, {TRANLOG | INTEGRATED TRANLOG}, BEGIN time [option[, ...]]
  2. ソースで、ADD RMTTRAILコマンドを使用して、ターゲット・システムに作成するリモート証跡を指定します。

     ADD EXTTRAIL local_trail, EXTRACT ext

    EXTRACT引数を使用して、この証跡をExtractグループにリンクします。

  3. ソースで、EDIT PARAMSコマンドを使用してExtractグループのパラメータ・ファイルを作成します。次のパラメータと、データベース環境に適用する他のパラメータを含めます。

    考えられるその他の必須パラメータの詳細は、使用中のデータベースに対応するOracle GoldenGateインストレーションおよびセットアップ・ガイドを参照してください。

    -- Identify the Extract group:
    EXTRACT ext
    -- Specify database login information as needed for the database:
    [SOURCEDB dsn_1][, USERIDALIAS alias]
    -- Log  all of the supplementally logged columns if using integrated Replicat
    LOGALLSUPCOLS
    ENCRYPTTRAIL algorithm
    EXTTRAIL local_trail
    -- Specify tables and sequences to be captured:
    SEQUENCE [container.|catalog.]owner.sequence;
    TABLE [container.|catalog.]owner.table;

証跡ファイルをターゲットに送信するには

  1. Classic Architectureの場合は、次のコマンド・オプションを使用します。
    ADD EXTRACT ext_pmp, EXTTRAILSOURCE remote_trail, BEGIN time [option[,...]]
    Microservices Architectureの場合は、次のコマンドを使用します。
    ADD DISTPATH path-name
              SOURCE source-uri
              TARGET target-uri|
             [TARGETTYPE ( MANAGER | COLLECTOR | RECVSRVR ) ]|
  2. 次のコマンドを実行して、リモート証跡を追加します。
    ADD RMTTRAIL remote_trail, EXTRACT ext_pmp
  3. EDIT PARAMSコマンドを使用して、ターゲットにパラメータ・ファイルを作成します。

2.2.2 ターゲット・システム

ターゲット・システムでManagerプロセスとReplicatグループを構成します。

Managerプロセスを構成する手順

  1. ターゲットで、Managerプロセスを構成します。

  2. Managerのパラメータ・ファイルで、PURGEOLDEXTRACTSパラメータを使用して、ローカル証跡からのファイルの消去を制御します。

Replicatグループを構成する手順

  1. ターゲットで、Replicatのチェックポイント表を作成します(Oracle統合Replicatを使用していない場合)。手順については、「チェックポイント表の作成」を参照してください。すべてのReplicatグループで同じチェックポイント表を使用できます。
  2. ターゲットで、ADD REPLICATコマンドを使用してReplicatグループを作成します。説明上、このグループをrepと呼びます。
    ADD REPLICAT rep
    [, INTEGRATED | COORDINATED [MAXTHREADS number]]
    , EXTTRAIL remote_trail
    , BEGIN time
    

    EXTTRAIL引数を使用して、Replicatグループをリモート証跡にリンクします。

  3. ターゲットで、EDIT PARAMSコマンドを使用してReplicatグループのパラメータ・ファイルを作成します。次のパラメータと、データベース環境に適用する他のパラメータを含めます。考えられるその他の必須パラメータの詳細は、使用中のデータベースに対応するOracle GoldenGateインストレーションおよびセットアップ・ガイドを参照してください。
    -- Identify the Replicat group:
    REPLICAT rep
    -- Specify database login information as needed for the database:
    [TARGETDB dsn_2][, USERIDALIAS alias]
    -- Specify error handling rules:
    REPERROR (error, response)
    -- Specify tables for delivery and threads if using coordinated Replicat:
    MAP [container.|catalog.]owner.table, TARGET owner.table[, DEF template]
    [, THREAD (thread_ID)][, THREADRANGE (thread_range[, column_list])]
    ;

    ノート:

    DB2 for iでは、ターゲット表がすでにジャーナルされている場合、ADD TRANDATAコマンドの使用が必要になることがあります。または、STRJRNPFコマンドを使用して、表を適切なジャーナルに割り当てることができます。ターゲット表をOracle GoldenGateでレプリケートする必要がない場合は、IMAGES(*AFTER)オプションをSTRJRNPFで使用できます。Oracle GoldenGateは、トランザクションを使用して動作するため、トランザクションをサポートするには、すべての表をジャーナルする必要がありますが、これはDB2 for iではデフォルトではありません。

2.3 ソース・システムでデータ・ポンプを使用するレポート構成の作成

ソース・システムにデータ・ポンプを追加して、プライマリExtractをTCP/IP機能から分離することで、記憶域の柔軟性を向上し、プライマリExtractからフィルタリングおよび変換処理のオーバーヘッドを削減できます。

この構成の場合、プライマリExtractは、ソース・システムのローカル証跡に書込みを行います。ローカル・データ・ポンプは、その証跡を読み取り、データをターゲット・システムのリモート証跡に移動します(このデータはReplicatによって読み取られます)。

必須ではありませんが、データ・ポンプを使用して、Oracle GoldenGateのパフォーマンスおよびフォルト・トレランスを改善できます。

作成するオブジェクトの表現を次に示します。

図2-2 データ・ポンプを使用した単一ターゲットに対するレプリケーションの構成要素

図2-2の説明が続きます
「図2-2 データ・ポンプを使用した単一ターゲットに対するレプリケーションの構成要素」の説明

内容は次のとおりです。

2.3.1 ソース・システム

ソース・システムでManagerプロセスとExtractグループを構成します。

Managerプロセスを構成する手順

  1. ソースで、Managerプロセスを構成します。

  2. Managerのパラメータ・ファイルで、PURGEOLDEXTRACTSパラメータを使用して、ローカル証跡からのファイルの消去を制御します。

プライマリExtractグループを構成する手順

  1. ソースで、ADD EXTRACTコマンドを使用してExtractグループを作成します。説明上、このグループをextと呼びます。

    ADD EXTRACT ext, {TRANLOG | INTEGRATED TRANLOG}, BEGIN time [option[, ...]]
    

    これらのオプション、およびインストール環境によって必要になるその他のADD EXTRACTオプションの詳細は、『Oracle GoldenGateリファレンス』を参照してください。

  2. ソースで、ADD EXTTRAILコマンドを使用してローカル証跡を作成します。プライマリExtractがこの証跡に書込みを行い、データ・ポンプExtractがそのデータを読み取ります。

    ADD EXTTRAIL local_trail, EXTRACT ext
    

    EXTRACT引数を使用して、この証跡をプライマリExtractグループにリンクします。プライマリExtractグループがこの証跡に書込みを行い、データ・ポンプ・グループがそのデータを読み取ります。

  3. ソースで、EDIT PARAMSコマンドを使用してプライマリExtractグループのパラメータ・ファイルを作成します。次のパラメータと、データベース環境に適用する他のパラメータを含めます。考えられるその他の必須パラメータの詳細は、使用中のデータベースに対応するOracle GoldenGateインストレーションおよびセットアップ・ガイドを参照してください。

    -- Identify the Extract group:
    EXTRACT ext
    -- Specify database login information as needed for the database:
    [SOURCEDB dsn_1][,USERIDALIAS alias]
    -- Log all scheduling columns if using integrated Replicat
    LOGALLSUPCOLS
    -- Specify the local trail that this Extract writes to and 
    -- encryption algorithm:
    ENCRYPTTRAIL algorithm
    EXTTRAIL local_trail
    -- Specify tables and sequences to be captured:
    SEQUENCE [container.|catalog.]owner.sequence;
    TABLE [container.|catalog.]owner.table;

データ・ポンプExtractグループを構成する手順

  1. ソースで、ADD EXTRACTコマンドを使用してデータ・ポンプ・グループを作成します。説明上、このグループをpumpと呼びます。
    ADD EXTRACT pump, EXTTRAILSOURCE local_trail, BEGIN time

    データソース・オプションとしてEXTTRAILSOURCEを使用し、ローカル証跡の名前を指定します。

  2. ソースで、ADD RMTTRAILコマンドを使用して、ターゲット・システムに作成するリモート証跡を指定します。
    ADD RMTTRAIL remote_trail, EXTRACT pump

    EXTRACT引数を使用して、リモート証跡をデータ・ポンプ・グループにリンクします。リンクされたデータ・ポンプは、この証跡に書込みを行います。

    その他のADD RMTTRAILオプションは、『Oracle GoldenGateリファレンス』を参照してください。

  3. ソースで、EDIT PARAMSコマンドを使用してデータ・ポンプのパラメータ・ファイルを作成します。次のパラメータと、データベース環境に適用する他のパラメータを含めます。
    -- Identify the data pump group:
    EXTRACT pump
    -- Specify database login information as needed for the database:
    [SOURCEDB dsn_1][, USERIDALIAS alias]
    -- Decrypt the data only if the data pump must process it.
    -- DECRYPTTRAIL
    -- Specify the name or IP address of the target system
    -- and optional encryption of data over TCP/IP:
    RMTHOSTOPTIONS target, MGRPORT port_number, ENCRYPT encryption_options
    -- Specify the remote trail and encryption algorithm on the target system:
    ENCRYPTTRAIL alogrithm
    RMTTRAIL remote_trail
    -- Specify tables and sequences to be captured:
    SEQUENCE [container.|catalog.]owner.sequence;
    TABLE [container.|catalog.]owner.table;
    

2.3.2 ターゲット・システム

ターゲット・システムでManagerプロセスとReplicatグループを構成します。

Managerプロセスを構成する手順

  1. ターゲットで、Managerプロセスを構成します。

  2. Managerのパラメータ・ファイルで、PURGEOLDEXTRACTSパラメータを使用して、ローカル証跡からのファイルの消去を制御します。

Replicatグループを構成する手順

  1. ターゲットで、Replicatのチェックポイント表を作成します(Oracle統合Replicatを使用していない場合)。手順については、「チェックポイント表の作成」を参照してください。
  2. ターゲットで、ADD REPLICATコマンドを使用してReplicatグループを作成します。説明上、このグループをrepと呼びます。
    ADD REPLICAT rep
    [, INTEGRATED | PARALLEL | COORDINATED [MAXTHREADS number] |  ]
    , EXTTRAIL remote_trail 
    , BEGIN time
    ( SPECIALRUN |
                 ( EXTFILE         file-name  |
                   EXTTRAIL        trail-name )
                  [ BEGIN           ( NOW | begin-datetime ) |
                   EXTSEQNO        trail-sequence-number [ EXTRBA trail-offset-number ] ]
                  [ CHECKPOINTTABLE table-name | NODBCHECKPOINT ] )
                  [ DESC            description ]
                  [ CRITICAL        [ YES | NO ]  ]
                  [ PROFILE         profile-name
                  [ AUTOSTART       [ YES | NO ]
                    [ DELAY            delay-number ] ]
                  [ AUTORESTART     [ YES | NO ]
                    [ RETRIES          retries-number ]
                    [ WAITSECONDS      wait-number    ]
                    [ RESETSECONDS     reset-number   ]
                    [ DISABLEONFAILURE [ YES | NO ]     ] ] ]

    EXTTRAIL引数を使用して、Replicatグループをリモート証跡にリンクします。

    これらのオプション、およびインストール環境によって必要になるその他のオプションの詳細は、『Oracle GoldenGateリファレンス』を参照してください。

  3. ターゲットで、EDIT PARAMSコマンドを使用してReplicatグループのパラメータ・ファイルを作成します。次のパラメータと、データベース環境に適用する他のパラメータを含めます。考えられるその他の必須パラメータの詳細は、使用中のデータベースに対応するOracle GoldenGateインストレーションおよびセットアップ・ガイドを参照してください。
    -- Identify the Replicat group:
    REPLICAT rep
    -- Specify database login information as needed for the database:
    [TARGETDB dsn_2][, USERIDALIAS alias]
    -- Specify error handling rules:
    REPERROR (error, response)
    -- Specify tables for delivery and threads if using coordinated Replicat:
    MAP [container.|catalog.]owner.table, TARGET owner.table[, DEF template]
    [, THREAD (thread_ID)][, THREADRANGE (thread_range[, column_list])]
    ;

    ノート:

    DB2 for iでは、ターゲット表がすでにジャーナルされている場合、ADD TRANDATAコマンドの使用が必要になることがあります。または、STRJRNPFコマンドを使用して、表を適切なジャーナルに割り当てることができます。ターゲット表をOracle GoldenGateでレプリケートする必要がない場合は、IMAGES(*AFTER)オプションをSTRJRNPFで使用できます。Oracle GoldenGateは、トランザクションを使用して動作するため、トランザクションをサポートするには、すべての表をジャーナルする必要がありますが、これはDB2 for iではデフォルトではありません。

2.4 中間システムでデータ・ポンプを使用するレポート構成の作成

中間システムを、ソース・システムとターゲット・システムの中継場所として使用できます。この構成では、ソース・システムのデータ・ポンプは、取得したデータを中間システムのリモート証跡に送信します。中間システムのデータ・ポンプは、その証跡を読み取り、データをターゲットのリモート証跡に送信します。ターゲットのReplicatはリモート証跡を読み取り、データをターゲット・データベースに適用します。

図2-3 中間システムを通じたレプリケーションの構成要素

図2-3の説明が続く
「図2-3 中間システムを通じたレプリケーションの構成要素」の説明

このトポロジについて検討する際、次の点に注意してください。

  • この構成は、ソース・システムとターゲット・システムが異なるネットワーク内に存在し、各システム間が直接接続されていない場合に役立ちます。両方のシステムに接続することが可能な中間システムを通じてデータを転送できます。

  • この構成を使用すると、記憶域の柔軟性が増し、ソースまたはターゲットを補うことができます。

  • この構成は、すべてのシステムの文字セットが同じ場合、データのフィルタリングや変換に使用できます。文字セットが異なる場合、データ・ポンプは文字セット間の変換を行えません。ターゲットで変換を行うようReplicatを構成する必要があります。

  • この構成は、カスケード・レプリケーションの一種です。ただし、この構成では、データは中間システム上のデータベースに適用されません。中間システムのデータベースをOracle GoldenGate構成に含めるには、「カスケード・レポート構成の作成」を参照してください。

内容は次のとおりです。

2.4.1 ソース・システム

作成するオブジェクトは次のとおりです。

Managerプロセスを構成する手順

  1. ソースで、Managerプロセスを構成します。

  2. Managerのパラメータ・ファイルで、PURGEOLDEXTRACTSパラメータを使用して、証跡からのファイルの消去を制御します。

ソースのプライマリExtractグループを構成する手順

  1. ソースで、ADD EXTRACTコマンドを使用してExtractグループを作成します。説明上、このグループをextと呼びます。

    ADD EXTRACT ext, {TRANLOG | INTEGRATED TRANLOG}, BEGIN time [option[, ...]]

    これらのオプション、およびインストール環境によって必要になるその他のADD EXTRACTオプションの詳細は、『Oracle GoldenGateリファレンス』を参照してください。

  2. ソースで、ADD EXTTRAILコマンドを使用してローカル証跡を作成します。プライマリExtractがこの証跡に書込みを行い、データ・ポンプExtractがそのデータを読み取ります。

    ADD EXTTRAIL local_trail, EXTRACT ext

    EXTRACT引数を使用して、この証跡をプライマリExtractグループにリンクします。プライマリExtractグループがこの証跡に書込みを行い、データ・ポンプ・グループがそのデータを読み取ります。

  3. ソースで、EDIT PARAMSコマンドを使用してプライマリExtractグループのパラメータ・ファイルを作成します。次のパラメータと、データベース環境に適用する他のパラメータを含めます。考えられるその他の必須パラメータの詳細は、使用中のデータベースに対応するOracle GoldenGateインストレーションおよびセットアップ・ガイドを参照してください。

    -- Identify the Extract group:
    EXTRACT ext
    -- Specify database login information as needed for the database:
    [SOURCEDB dsn_1][, USERIDALIAS alias]
    -- Log all scheduling columns if using integrated Replicat
    LOGALLSUPCOLS
    -- Specify the local trail that this Extract writes to and
    -- encryption algorithm:
    ENCRYPTTRAIL algorithm
    EXTTRAIL local_trail
    -- Specify tables and sequences to be captured:
    SEQUENCE [container.|catalog.]owner.sequence;
    TABLE [container.|catalog.]owner.table;

ソースのデータ・ポンプを構成する手順

  1. ソースで、ADD EXTRACTコマンドを使用してデータ・ポンプ・グループを作成します。説明上、このグループをpump_1と呼びます。
    ADD EXTRACT pump_1, EXTTRAILSOURCE local_trail, BEGIN time

    データソース・オプションとしてEXTTRAILSOURCEを使用し、ローカル証跡の名前を指定します。ローカルExtractの場合、RMTTRAILではなくEXTTRAILを使用する必要があります。

  2. ソースで、ADD RMTTRAILコマンドを使用して、中間システムに作成するリモート証跡を指定します。
    ADD RMTTRAIL remote_trail_1, EXTRACT pump_1

    EXTRACT引数を使用して、リモート証跡をpump_1データ・ポンプ・グループにリンクします。リンクされたデータ・ポンプは、この証跡に書込みを行います。

    その他のADD RMTTRAILオプションは、『Oracle GoldenGateリファレンス』を参照してください。

  3. ソースで、EDIT PARAMSコマンドを使用してpump_1データ・ポンプのパラメータ・ファイルを作成します。次のパラメータと、データベース環境に適用する他のパラメータを含めます。
    -- Identify the data pump group:
    EXTRACT pump_1
    -- Specify database login information:
    [SOURCEDB dsn_1][, USERIDALIAS alias]
    -- Decrypt the data only if the data pump must process it.
    -- DECRYPTTRAIL
    -- Specify the name or IP address of the intermediary system
    -- and optional encryption of data over TCP/IP:
    RMTHOSTOPTIONS target_1, MGRPORT port_number, ENCRYPT encryption_options
    -- Specify remote trail and encryption algorithm on intermediary system:
    ENCRYPTTRAIL algorithm
    RMTTRAIL remote_trail_1
    -- Specify tables and sequences to be captured:
    SEQUENCE [container.|catalog.]owner.sequence;
    TABLE [container.|catalog.]owner.table;
    

2.4.2 中間システム

中間システムでManagerプロセスとデータ・ポンプを構成します。

中間システムのManagerプロセスを構成する手順

  1. 中間システムで、Managerプロセスを構成します。

  2. Managerのパラメータ・ファイルで、PURGEOLDEXTRACTSパラメータを使用して、証跡からのファイルの消去を制御します。

中間システムのデータ・ポンプを構成する手順

  1. 中間システムで、ADD EXTRACTコマンドを使用してデータ・ポンプ・グループを作成します。説明上、このグループをpump_2と呼びます。
    ADD EXTRACT pump_2, EXTTRAILSOURCE local_trail_1, BEGIN time

    データソース・オプションとしてEXTTRAILSOURCEを使用し、このシステムに作成した証跡の名前を指定します。

  2. 中間システムで、ADD RMTTRAILコマンドを使用して、ターゲット・システムのリモート証跡を指定します。
    ADD RMTTRAIL remote_trail_2, EXTRACT pump_2

    EXTRACT引数を使用して、リモート証跡をpump_2データ・ポンプにリンクします。リンクされたデータ・ポンプは、この証跡に書込みを行います。

    その他のADD RMTTRAILオプションは、『Oracle GoldenGateリファレンス』を参照してください。

  3. 中間システムで、EDIT PARAMSコマンドを使用してpump_2データ・ポンプのパラメータ・ファイルを作成します。次のパラメータと、データベース環境に適用する他のパラメータを含めます。
    -- Identify the data pump group:
    EXTRACT pump_2
    -- Note that no database login parameters are required in this case.
    -- Specify the target definitions file if SOURCEDEFS was used:
    TARGETDEFS full_pathname
    -- Decrypt the data only if the data pump must process it.
    -- DECRYPTTRAIL
    -- Specify the name or IP address of the target system
    -- and optional encryption of data over TCP/IP:
    RMTHOSTOPTIONS target_2, MGRPORT port_number, ENCRYPT encryption_options
    -- Specify the remote trail and encryption algorithm on the target system:
    ENCRYPTTRAIL algorithm
    RMTTRAIL remote_trail_2
    -- Specify tables and sequences to be captured:
    SEQUENCE [container.|catalog.]owner.sequence;
    TABLE [container.|catalog.]owner.table;
    

2.4.3 ターゲット・システム

ターゲット・システムでManagerプロセスとReplicatグループを構成します。

ターゲットのManagerプロセスを構成する手順

  1. ターゲット・システムで、Managerプロセスを構成します。

  2. Managerのパラメータ・ファイルで、PURGEOLDEXTRACTSパラメータを使用して、証跡からのファイルの消去を制御します。

ターゲットのReplicatグループを構成する手順

  1. ターゲットで、Replicatのチェックポイント表を作成します(Oracle統合Replicatを使用していない場合)。手順については、「チェックポイント表の作成」を参照してください。
  2. ターゲットで、ADD REPLICATコマンドを使用してReplicatグループを作成します。説明上、このグループをrepと呼びます。
    ADD REPLICAT rep 
    [, INTEGRATED | COORDINATED [MAXTHREADS number]]
    , EXTTRAIL remote_trail_2, 
    , BEGIN time
    

    EXTTRAIL引数を使用して、Replicatグループをこのシステムの証跡にリンクします。

    これらのオプション、およびインストール環境によって必要になるその他のオプションの詳細は、『Oracle GoldenGateリファレンス』を参照してください。

  3. ターゲットで、EDIT PARAMSコマンドを使用してReplicatグループのパラメータ・ファイルを作成します。次のパラメータと、データベース環境に適用する他のパラメータを含めます。考えられるその他の必須パラメータの詳細は、使用中のデータベースに対応するOracle GoldenGateインストレーションおよびセットアップ・ガイドを参照してください。
    -- Identify the Replicat group:
    REPLICAT rep
    -- Specify database login information as needed for the database:
    [TARGETDB dsn_2][, USERIDALIAS alias]
    -- Specify error handling rules:
    REPERROR (error, response)
    -- Specify tables for delivery and threads if using coordinated Replicat:
    MAP [container.|catalog.]owner.table, TARGET owner.table[, DEF template]
    [, THREAD (thread_ID)][, THREADRANGE (thread_range[, column_list])]
    ;

    ノート:

    DB2 for iでは、ターゲット表がすでにジャーナルされている場合、ADD TRANDATAコマンドの使用が必要になることがあります。または、STRJRNPFコマンドを使用して、表を適切なジャーナルに割り当てることができます。ターゲット表をOracle GoldenGateでレプリケートする必要がない場合は、IMAGES(*AFTER)オプションをSTRJRNPFで使用できます。Oracle GoldenGateは、トランザクションを使用して動作するため、トランザクションをサポートするには、すべての表をジャーナルする必要がありますが、これはDB2 for iではデフォルトではありません。

2.5 カスケード・レポート構成の作成

Oracle GoldenGateでは、カスケード同期がサポートされます。この同期では、Oracle GoldenGateによってデータ変更がソース・データベースから2番目のデータベースに伝播され、次に3番目のデータベースに伝播されます。この構成では、次の処理が実行されます。

  • ソースのプライマリExtractは、取得データをローカル証跡に書き込み、データ・ポンプはそのデータをカスケード内の2番目のシステムにあるリモート証跡に送信します。

  • 2番目のシステムで、Replicatはデータをローカル・データベースに適用します。

  • 同じシステムの別のプライマリExtractが、ローカル・データベースからデータを取得してローカル証跡に書き込みます。

  • データ・ポンプは、データをカスケード内の3番目のシステムにあるリモート証跡に送信し、そのデータは別のReplicatによってローカル・データベースに適用されます。

    ノート:

    レプリケートされた変更を2番目のシステムのデータベースに適用する必要がない場合は、「中間システムでデータ・ポンプを使用するレポート構成の作成」を参照してください。

図2-4 カスケード構成

図2-4の説明が続きます
「図2-4 カスケード構成」の説明

この構成は、次の場合に使用します。

  • 1つ以上のターゲット・システムがソースに直接接続していないが、2番目のシステムが両方に接続できる場合。

  • ソース・システムからのネットワーク・アクティビティを制限する場合。

  • 地理的に非常に離れた場所にある2つ以上のサーバーにデータを送信する場合(たとえば、シカゴからロサンゼルスに送信し、次にロサンゼルスから中国全土のサーバーに送信する場合)。

このトポロジについて検討する際、次の点に注意してください。

  • この構成は、すべてのシステムの文字セットが同じ場合、データのフィルタリングや変換に使用できます。文字セットが異なる場合、データ・ポンプは文字セット間の変換を行えません。ターゲットで変換を行うようReplicatを構成する必要があります。

  • 2番目のシステムで、Replicatアクティビティを取得してローカル・ビジネス・アプリケーション・アクティビティを無視するようにExtractグループを構成する必要があります。この動作を制御するExtractパラメータは、IGNOREAPPLOPSおよびGETREPLICATESです。

2.5.1 ソース・システム

作成するオブジェクトのビジュアル表現は、図2-4を参照してください。

ソースのManagerプロセスを構成する手順

  1. ソースで、Managerプロセスを構成します。

  2. Managerのパラメータ・ファイルで、PURGEOLDEXTRACTSパラメータを使用して、証跡からのファイルの消去を制御します。

ソースのプライマリExtractグループを構成する手順

  1. ソースで、ADD EXTRACTコマンドを使用してExtractグループを作成します。説明上、このグループをext_1と呼びます。

    ADD EXTRACT ext_1, {TRANLOG | INTEGRATED TRANLOG}, BEGIN time [option[, ...]]

    これらのオプション、およびインストール環境によって必要になるその他のADD EXTRACTオプションの詳細は、『Oracle GoldenGateリファレンス』を参照してください。

  2. ソースで、ADD EXTTRAILコマンドを使用してローカル証跡を作成します。

    ADD EXTTRAIL local_trail_1, EXTRACT ext_1

    EXTRACT引数を使用して、この証跡をext_1 Extractグループにリンクします。

  3. ソースで、EDIT PARAMSコマンドを使用してext_1 Extractグループのパラメータ・ファイルを作成します。次のパラメータと、データベース環境に適用する他のパラメータを含めます。考えられるその他の必須パラメータの詳細は、使用中のデータベースに対応するOracle GoldenGateインストレーションおよびセットアップ・ガイドを参照してください。

    -- Identify the Extract group:
    EXTRACT ext_1
    -- Specify database login information as needed for the database:
    [SOURCEDB dsn_1][, USERIDALIAS alias]
    -- Log all scheduling columns if using integrated Replicat
    LOGALLSUPCOLS
    -- Specify the local trail that this Extract writes to
    -- and encryption algorithm:
    ENCRYPTTRAIL algorithm
    EXTTRAIL local_trail
    -- Specify tables and sequences to be captured:
    SEQUENCE [container.|catalog.]owner.sequence;
    TABLE [container.|catalog.]owner.table;

ソースのデータ・ポンプを構成する手順

  1. ソースで、ADD EXTRACTコマンドを使用してデータ・ポンプ・グループを作成します。説明上、このグループをpump_1と呼びます。
    ADD EXTRACT pump_1, EXTTRAILSOURCE local_trail_1, BEGIN time

    データソース・オプションとしてEXTTRAILSOURCEを使用し、ローカル証跡の名前を指定します。

  2. ソースで、ADD RMTTRAILコマンドを使用して、カスケード内の2番目のシステムに作成するリモート証跡を指定します。
    ADD RMTTRAIL remote_trail_1, EXTRACT pump_1
    

    EXTRACT引数を使用して、リモート証跡をpump_1データ・ポンプ・グループにリンクします。リンクされたデータ・ポンプは、この証跡に書込みを行います。

    その他のADD RMTTRAILオプションは、『Oracle GoldenGateリファレンス』を参照してください。

  3. ソースで、EDIT PARAMSコマンドを使用してpump_1 データ・ポンプのパラメータ・ファイルを作成します。次のパラメータと、データベース環境に適用する他のパラメータを含めます。
    -- Identify the data pump group:
    EXTRACT pump_1
    -- Specify database login information if using NOPASSTHROUGH:
    [SOURCEDB dsn_1][, USERIDALIAS alias]
    -- Decrypt the data only if the data pump must process it.
    -- DECRYPTTRAIL
    -- Specify the name or IP address of second system in cascade
    -- and optional encryption of data over TCP/IP:
    RMTHOSTOPTIONS target_1, MGRPORT port_number, ENCRYPT encryption_options
    -- Specify the remote trail and encryption algorithm on the second system:
    ENCRYPTTRAIL algorithm
    RMTTRAIL remote_trail_1
    -- Specify tables and sequences to be captured:
    SEQUENCE [container.|catalog.]owner.sequence;
    TABLE [container.|catalog.]owner.table;
    

2.5.2 カスケード内の2番目のシステム

カスケード内の2番目のシステムで、Managerプロセス、Replicatグループおよびデータ・ポンプを構成します。

2番目のシステムのManagerプロセスを構成する手順

  1. 2つ目のシステムで、Managerプロセスを構成します。

  2. Managerのパラメータ・ファイルで、PURGEOLDEXTRACTSパラメータを使用して、証跡からのファイルの消去を制御します。

2番目のシステムのReplicatグループを構成する手順

  1. Replicatのチェックポイント表を作成します(Oracle統合Replicatを使用していない場合)。手順については、「チェックポイント表の作成」を参照してください。

  2. 2番目のシステムで、ADD REPLICATコマンドを使用してReplicatグループを作成します。説明上、このグループをrep_1と呼びます。

    ADD REPLICAT rep_1 
    [, INTEGRATED | COORDINATED [MAXTHREADS number]]
    , EXTTRAIL remote_trail_1, 
    , BEGIN time
    

    EXTTRAILオプションを使用して、rep_1グループをローカル・システムにあるリモート証跡remote_trail_1にリンクします。

    これらのオプション、およびインストール環境によって必要になるその他のオプションの詳細は、『Oracle GoldenGateリファレンス』を参照してください。

  3. 2番目のシステムで、EDIT PARAMSコマンドを使用してReplicatグループのパラメータ・ファイルを作成します。次のパラメータと、データベース環境に適用する他のパラメータを含めます。考えられるその他の必須パラメータの詳細は、使用中のデータベースに対応するOracle GoldenGateインストレーションおよびセットアップ・ガイドを参照してください。

    -- Identify the Replicat group:
    REPLICAT rep_1
    -- Specify database login information as needed for the database:
    [TARGETDB dsn_2][, USERIDALIAS alias]
    -- Specify error handling rules:
    REPERROR (error, response)
    -- Specify tables for delivery and threads if using coordinated Replicat:
    MAP [container.|catalog.]owner.table, TARGET owner.table[, DEF template]
    [, THREAD (thread_ID)][, THREADRANGE (thread_range[, column_list])]
    ;

    ノート:

    DB2 for iでは、ターゲット表がすでにジャーナルされている場合、ADD TRANDATAコマンドの使用が必要になることがあります。または、STRJRNPFコマンドを使用して、表を適切なジャーナルに割り当てることができます。ターゲット表をOracle GoldenGateでレプリケートする必要がない場合は、IMAGES(*AFTER)オプションをSTRJRNPFで使用できます。Oracle GoldenGateは、トランザクションを使用して動作するため、トランザクションをサポートするには、すべての表をジャーナルする必要がありますが、これはDB2 for iではデフォルトではありません。

2番目のシステムのExtractグループを構成する手順

  1. ソースで、ADD EXTRACTコマンドを使用してExtractグループを作成します。説明上、このグループをext_2と呼びます。

    ADD EXTRACT ext_2, {TRANLOG | INTEGRATED TRANLOG}, BEGIN time [option[, ...]]

    これらのオプション、およびインストール環境によって必要になるその他のADD EXTRACTオプションの詳細は、『Oracle GoldenGateリファレンス』を参照してください。

  2. 2番目のシステムで、ADD EXTTRAILコマンドを使用して3番目のシステムに作成するローカル証跡を指定します。

    ADD EXTTRAIL local_trail_2, EXTRACT ext_2

    EXTRACT引数を使用して、このローカル証跡をext_2 Extractグループにリンクします。

  3. 2番目のシステムで、EDIT PARAMSコマンドを使用してext_2 Extractグループのパラメータ・ファイルを作成します。次のパラメータと、データベース環境に適用する他のパラメータを含めます。考えられるその他の必須パラメータの詳細は、使用中のデータベースに対応するOracle GoldenGateインストレーションおよびセットアップ・ガイドを参照してください。

    -- Identify the Extract group:
    EXTRACT ext_2
    -- Specify database login information as needed for the database:
    [SOURCEDB dsn_2][, USERIDALIAS alias]
    -- Log all scheduling columns if using integrated Replicat
    LOGALLSUPCOLS
    -- Specify the local trail that this Extract writes to
    -- and encryption algorithm:
    ENCRYPTTRAIL algorithm
    EXTTRAIL local_trail_2
    -- Ignore local DML, capture Replicat DML:
    IGNOREAPPLOPS
    GETREPLICATES
    -- Specify tables and sequences to be captured:
    SEQUENCE [container.|catalog.]owner.sequence;
    TABLE [container.|catalog.]owner.table;
    

ノート:

DDL操作をレプリケートする場合、IGNOREAPPLOPS, GETREPLICATES機能は、DDLOPTIONSパラメータによって制御されます。

2番目のシステムのデータ・ポンプを構成する手順

  1. 2番目のシステムで、ADD EXTRACTコマンドを使用してデータ・ポンプ・グループを作成します。説明上、このグループをpump_2と呼びます。
    ADD EXTRACT pump_2, EXTTRAILSOURCE local_trail_2, BEGIN time

    データソース・オプションとしてEXTTRAILSOURCEを使用し、ローカル証跡の名前を指定します。

  2. 2番目のシステムで、ADD RMTTRAILコマンドを使用して、カスケード内の3番目のシステムに作成するリモート証跡を指定します。
    ADD RMTTRAIL remote_trail_2, EXTRACT pump_2
    

    EXTRACT引数を使用して、リモート証跡をpump_2データ・ポンプ・グループにリンクします。リンクされたデータ・ポンプは、この証跡に書込みを行います。

    その他のADD RMTTRAILオプションは、『Oracle GoldenGateリファレンス』を参照してください。

  3. 2番目のシステムで、EDIT PARAMSコマンドを使用してpump_2データ・ポンプのパラメータ・ファイルを作成します。次のパラメータと、データベース環境に適用する他のパラメータを含めます。
    -- Identify the data pump group:
    EXTRACT pump_2
    [SOURCEDB dsn_2][, USERIDALIAS alias]
    -- Decrypt the data only if the data pump must process it.
    -- DECRYPTTRAIL
    -- Specify the name or IP address of third system in cascade
    -- and optional encryption of data over TCP/IP:
    RMTHOSTOPTIONS target_2, MGRPORT port_number, ENCRYPT encryption_options
    -- Specify the remote trail and encryption algorithm on the third system:
    ENCRYPTTRAIL algorithm
    RMTTRAIL remote_trail_2
    -- Specify tables and sequences to be captured:
    SEQUENCE [container.|catalog.]owner.sequence;
    TABLE [container.|catalog.]owner.table;
    

2.5.3 カスケード内の3番目のシステム

カスケード内の3番目のシステムでManagerプロセスとReplicatグループを構成します。

Managerプロセスを構成する手順

  1. 3つ目のシステムで、Managerプロセスを構成します。

  2. Managerのパラメータ・ファイルで、PURGEOLDEXTRACTSパラメータを使用して、証跡からのファイルの消去を制御します。

Replicatグループを構成する手順

  1. 3番目のシステムで、Replicatのチェックポイント表を作成します(Oracle統合Replicatを使用していない場合)。手順については、「チェックポイント表の作成」を参照してください。
  2. 3番目のシステムで、ADD REPLICATコマンドを使用してReplicatグループを作成します。説明上、このグループをrep_2と呼びます。
    ADD REPLICAT rep_2
    [, INTEGRATED | COORDINATED [MAXTHREADS number]]
    , EXTTRAIL remote_trail_2, 
    , BEGIN time
    

    EXTTRAILオプションを使用して、rep_2グループをremote_trail_2証跡にリンクします。

    これらのオプション、およびインストール環境によって必要になるその他のオプションの詳細は、『Oracle GoldenGateリファレンス』を参照してください。

  3. 3番目のシステムで、EDIT PARAMSコマンドを使用してReplicatグループのパラメータ・ファイルを作成します。次のパラメータと、データベース環境に適用する他のパラメータを含めます。考えられるその他の必須パラメータの詳細は、使用中のデータベースに対応するOracle GoldenGateインストレーションおよびセットアップ・ガイドを参照してください。
    -- Identify the Replicat group:
    REPLICAT rep_2
    -- Specify database login information as needed for the database:
    [TARGETDB dsn_3][, USERIDALIAS alias]
    -- Specify error handling rules:
    REPERROR (error, response)
    -- Specify tables for delivery and threads if using coordinated Replicat:
    MAP [container.|catalog.]owner.table, TARGET owner.table[, DEF template]
    [, THREAD (thread_ID)][, THREADRANGE (thread_range[, column_list])]
    ;
    

    ノート:

    DB2 for iでは、ターゲット表がすでにジャーナルされている場合、ADD TRANDATAコマンドの使用が必要になることがあります。または、STRJRNPFコマンドを使用して、表を適切なジャーナルに割り当てることができます。ターゲット表をOracle GoldenGateでレプリケートする必要がない場合は、IMAGES(*AFTER)オプションをSTRJRNPFで使用できます。Oracle GoldenGateは、トランザクションを使用して動作するため、トランザクションをサポートするには、すべての表をジャーナルする必要がありますが、これはDB2 for iではデフォルトではありません。