6 リアルタイム・データ分散でのOracle GoldenGateの使用

この章では、リアルタイム・データ分散でOracle GoldenGateを使用する方法について説明します。

内容は次のとおりです。

データ分散構成の概要

データ分散構成は、1対多構成です。Oracle GoldenGateでは、ソース・データベースから任意の数のターゲット・システムへの同期がサポートされます。Oracle GoldenGateは同種間あるいは異種間のデータ転送をサポートし、構成内のいずれのシステム上でもフィルタリングや変換が可能なためです(サポート内容はデータベース・プラットフォームごとに異なります)。

データ分散構成の考慮事項

次の各項では、データ分散構成の考慮事項について説明します。

フォルト・トレランス

データ分散構成では、ソース・システム上でデータ・ポンプを使用することで、いずれかのターゲットに対するネットワーク接続に障害が発生した場合でも確実に取得データを他のターゲットに送信できます。プライマリExtractグループとデータ・ポンプExtractグループを、ターゲットごとに1つ使用してください。

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

任意のプロセスを使用してフィルタリングおよび変換を実行できます。ただし、フィルタリング操作の実行にデータ・ポンプを使用することで、その処理のオーバーヘッドがプライマリExtractグループから削減され、ネットワークを通じて送信されるデータ量が減少します。フィルタリングと変換のオプションは、データのマッピングおよび操作を参照してください。

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

データ分散構成では、読取り専用ターゲットがサポートされます。この構成の任意のターゲットを、高可用性をサポートするトランザクション・アクティビティにも使用する場合は、アクティブ/アクティブ型高可用性のためのOracle GoldenGateの構成を参照してください。

追加情報

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

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

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

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

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

データ分散構成の作成

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

図6-1 データ分散のOracle GoldenGate構成要素

図6-1の説明が続きます
「図6-1 データ分散のOracle GoldenGate構成要素」の説明

ソース・システム

ソース・システムでManagerプロセスとプライマリExtractを構成します。

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

  1. ソースで、Managerプロセスを構成します。手順については、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コマンドを使用してローカル証跡を作成します。

    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;
    

EXTTRAILを使用してローカル証跡を指定します。

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

  1. ソースで、ADD EXTRACTコマンドを使用して、ターゲット・システムごとにデータ・ポンプを作成します。説明上、これらのグループをpump_1およびpump_2と呼びます。
    ADD EXTRACT pump_1, EXTTRAILSOURCE local_trail, BEGIN time
    ADD EXTRACT pump_2, EXTTRAILSOURCE local_trail, BEGIN time
    

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

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

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

    その他の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 first target 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 first target system:
    ENCRYPTTRAIL algorithm
    RMTTRAIL remote_trail_1
    -- Specify tables and sequences to be captured:
    SEQUENCE [container.|catalog.]owner.sequence;
    TABLE [container.|catalog.]owner.table;
    

    pump_2のパラメータ・ファイル:

    -- Identify the data pump group:
    EXTRACT pump_2
    -- 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 second target system
    -- and optional encryption of data over TCP/IP:
    RMTHOSTOPTIONS target_2, MGRPORT port_number, ENCRYPT encryption_options
    -- Specify remote trail and encryption algorithm on second 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;

ターゲット・システム

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

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

  1. 各ターゲットで、Managerプロセスを構成します。手順については、Managerおよびネットワーク通信の構成を参照してください。

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

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

  1. 各ターゲットで、Replicatのチェックポイント表を作成します(Oracle統合Replicatを使用していない場合)。手順については、「チェックポイント表の作成」を参照してください。
  2. 各ターゲットで、ADD REPLICATコマンドを使用して、そのシステムのリモート証跡に対するReplicatグループを作成します。説明上、これらのグループをrep_1およびrep_2と呼びます。

    target_1でのコマンド:

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

    target_2でのコマンド:

    ADD REPLICAT rep_2
    [, INTEGRATED | COORDINATED [MAXTHREADS number]]
    , EXTTRAIL remote_trail_2, BEGIN time
    

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

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

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

    rep_1のパラメータ・ファイル:

    -- 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])]
    ;
    

    rep_2のパラメータ・ファイル:

    -- 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])]
    ;
    

    どのReplicatグループに対しても任意の数のMAP文を使用できます。特定のReplicatグループに対するすべてのMAP文では、そのグループにリンクされた証跡に含まれる同じオブジェクトを指定する必要があります。