主コンテンツへ
Oracle® Fusion Middleware Oracle GoldenGateの管理for Windows and UNIX
12c (12.2.0.1)
E70111-04
目次へ移動
目次

前
次

7 リアルタイム・データ・ウェアハウスのためのOracle GoldenGateの構成

この章では、リアルタイム・データ・ウェアハウス用にOracle GoldenGateを構成する方法について説明します。

この章の内容は次のとおりです。

7.1 データ・ウェアハウス構成の概要

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

7.2 データ・ウェアハウス構成の考慮事項

この項では、データ・ウェアハウス構成の考慮事項について説明します。

7.2.1 データ・レコードの分離

この構成では、各ソース・データベースがターゲット・システムに異なるレコードを提供すると仮定されます。2つ以上のソース・システムの同じ表内に同じレコードが存在し、そのレコードがどのシステムでも変更される可能性がある場合、両方のソースでそのレコードが同時に変更されてターゲット表にレプリケートされたときの競合を解決するため、競合解決ルーチンが必要です。競合解決の詳細は、アクティブ/アクティブ型高可用性のためのOracle GoldenGateの構成を参照してください。

7.2.2 データ記憶域

ソース・システムとターゲット・システムにデータ記憶域を分割することで、ターゲット・システムに大量のディスク領域を用意する必要がなくなります。これを行うには、ネットワークを通じて各Extractからターゲットに直接データを送信するのではなく、各ソースでデータ・ポンプを使用します。

  • プライマリExtractは、各ソースのローカル証跡に書込みを行います。

  • 各ソースのデータ・ポンプExtractは、ローカル証跡を読み取り、TCP/IPを通じてそのデータを専用のReplicatグループに送信します。

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

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

7.2.4 追加情報

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

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

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

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

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

7.3 データ・ウェアハウス構成の作成

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

図7-1 データ・ウェアハウスの構成

図7-1の説明が続きます
「図7-1 データ・ウェアハウスの構成」の説明

7.3.1 ソース・システム

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

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

  1. 各ソースで、Managerおよびネットワーク通信の構成の指示に従ってManagerプロセスを構成します。

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

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

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

    source_1でのコマンド:

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

    source_2でのコマンド:

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

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

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

    source_1でのコマンド:

    ADD EXTTRAIL local_trail_1, EXTRACT ext_1
    

    source_2でのコマンド:

    ADD EXTTRAIL local_trail_2, EXTRACT ext_2
    

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

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

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

    -- 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 the encryption algorithm:
    ENCRYPTTRAIL algorithm
    EXTTRAIL local_trail_1
    -- Specify tables and sequences to be captured:
    SEQUENCE [container.|catalog.]owner.sequence;
    TABLE [container.|catalog.]owner.table;
    

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

    -- 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 or CDR
    LOGALLSUPCOLS
    -- Specify the local trail that this Extract writes to
    -- and the encryption algorithm:
    ENCRYPTTRAIL algorithm
    EXTTRAIL local_trail_2
    -- Specify tables and sequences to be captured:
    SEQUENCE [container.|catalog.]owner.sequence;
    TABLE [container.|catalog.]owner.table;

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

  1. 各ソースで、ADD EXTRACTコマンドを使用してデータ・ポンプExtractグループを作成します。説明上、これらのポンプをpump_1およびpump_2と呼びます。

    source_1でのコマンド:

    ADD EXTRACT pump_1, EXTTRAILSOURCE local_trail_1, BEGIN time
    

    source_2でのコマンド:

    ADD EXTRACT pump_2, EXTTRAILSOURCE local_trail_2, BEGIN time
    

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

  2. 各ソースで、ADD RMTTRAILコマンドを使用してターゲットにリモート証跡を作成します。

    source_1でのコマンド:

    ADD RMTTRAIL remote_trail_1, EXTRACT pump_1
    

    source_2でのコマンド:

    ADD RMTTRAIL remote_trail_2, EXTRACT pump_2
    

    EXTRACT引数を使用して、各リモート証跡を異なるデータ・ポンプにリンクします。データ・ポンプがTCP/IPを通じてこの証跡に書込みを行い、Replicatがそのデータを読み取ります。

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

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

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

    -- Identify the data pump group:
    EXTRACT pump_1
    -- 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 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_1
    -- Specify database login information as needed for the database:
    [SOURCEDB dsn_2][, 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 algorithm
    RMTTRAIL remote_trail_2
    -- Specify tables and sequences to be captured:
    SEQUENCE [container.|catalog.]owner.sequence;
    TABLE [container.|catalog.]owner.table;
    

7.3.2 ターゲット・システム

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

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

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

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

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

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

    rep_1を追加するコマンド:

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

    rep_2を追加するコマンド:

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

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

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

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

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

    -- 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文では、そのグループにリンクされた証跡に含まれる同じオブジェクトを指定する必要があります。