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

この項では、データ・ウェアハウス構成の考慮事項について説明します。
この構成では、各ソース・データベースがターゲット・システムに異なるレコードを提供すると仮定されます。2つ以上のソース・システムの同じ表内に同じレコードが存在し、そのレコードがどのシステムでも変更される可能性がある場合、両方のソースでそのレコードが同時に変更されてターゲット表にレプリケートされたときの競合を解決するため、競合解決ルーチンが必要です。競合解決の詳細は、 第9章「アクティブ/アクティブ型高可用性のためのOracle GoldenGateの構成」を参照してください。
ソース・システムとターゲット・システムにデータ記憶域を分割することで、ターゲット・システムに大量のディスク領域を用意する必要がなくなります。これを行うには、ネットワークを通じて各Extractからターゲットに直接データを送信するのではなく、各ソースでデータ・ポンプを使用します。
プライマリExtractは、各ソースのローカル証跡に書込みを行います。
各ソースのデータ・ポンプExtractは、ローカル証跡を読み取り、TCP/IPを通じてそのデータを専用のReplicatグループに送信します。
ソース・システムからデータのすべてをデータ・ウェアハウスに送信するわけではない場合、データ・ポンプを使用してフィルタリングを実行できます。これによって、その処理のオーバーヘッドがプライマリExtractグループから削減され、ネットワークを通じて送信されるデータ量が減少します。フィルタリングと変換のオプションは、第12章「データのマッピングおよび操作」を参照してください。
次のドキュメントには、Oracle GoldenGateの構成に関連する追加情報が記載されています。
その他のシステム要件、プロセス構成およびデータベースの設定要件については、使用中のデータベース・タイプに対応するOracle GoldenGateのインストレーションおよび構成のドキュメントを参照してください。これらのガイドは、このマニュアルの「はじめに」の「関連ドキュメント」にリストされています。
Oracle GoldenGateの変更取得および配信グループの構成方法の詳細は、第14章「オンライン変更同期の構成」を参照してください。
Oracle GoldenGateのその他のチューニング・オプションは、第19章「Oracle GoldenGateのパフォーマンスのチューニング」を参照してください。
Oracle GoldenGateのコマンドとパラメータの構文の詳細および説明は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
作成するオブジェクトのビジュアル表現は、図7-1を参照してください。
ソース・システムのManagerプロセスとプライマリExtractグループを構成します。
Managerプロセスを構成する手順
各ソースで、第3章「Managerおよびネットワーク通信の構成」の指示に従ってManagerプロセスを構成します。
Managerの各パラメータ・ファイルで、PURGEOLDEXTRACTSパラメータを使用して、ローカル・システムにある証跡からのファイルの消去を制御します。
プライマリExtractグループを構成する手順
各ソースで、ADD EXTRACTコマンドを使用してプライマリExtractグループを作成します。説明上、これらのグループをext_1およびext_2と呼びます。
source_1でのコマンド:
ADD EXTRACText_1, {TRANLOG | INTEGRATED TRANLOG}, BEGINtime[option[, ...]]
source_2でのコマンド:
ADD EXTRACText_2, {TRANLOG | INTEGRATED TRANLOG}, BEGINtime[option[, ...]]
これらのオプション、およびインストール環境によって必要になるその他のADD EXTRACTオプションの詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
各ソースで、ADD EXTTRAILコマンドを使用してローカル証跡を作成します。
source_1でのコマンド:
ADD EXTTRAILlocal_trail_1, EXTRACText_1
source_2でのコマンド:
ADD EXTTRAILlocal_trail_2, EXTRACText_2
EXTRACT引数を使用して、各Extractグループを同じシステムのローカル証跡にリンクします。プライマリExtractがこの証跡に書込みを行い、データ・ポンプがそのデータを読み取ります。
各ソースで、EDIT PARAMSコマンドを使用してプライマリExtractのパラメータ・ファイルを作成します。次のパラメータと、データベース環境に適用する他のパラメータを含めます。考えられるその他の必須パラメータの詳細は、使用中のデータベースに対応するOracle GoldenGateインストレーションおよびセットアップ・ガイドを参照してください。
ext_1のパラメータ・ファイル:
-- Identify the Extract group: EXTRACText_1-- Specify database login information as needed for the database: [SOURCEDBdsn_1][, USERIDALIASalias] -- Log all scheduling columns if using integrated Replicat LOGALLSUPCOLS -- Specify the local trail that this Extract writes to -- and the encryption algorithm: ENCRYPTTRAILalgorithmEXTTRAILlocal_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: EXTRACText_2-- Specify database login information as needed for the database: [SOURCEDBdsn_2][, USERIDALIASalias] -- Log all scheduling columns if using integrated Replicat or CDR LOGALLSUPCOLS -- Specify the local trail that this Extract writes to -- and the encryption algorithm: ENCRYPTTRAILalgorithmEXTTRAILlocal_trail_2-- Specify tables and sequences to be captured: SEQUENCE [container.|catalog.]owner.sequence; TABLE [container.|catalog.]owner.table;
データ・ポンプを構成する手順
各ソースで、ADD EXTRACTコマンドを使用してデータ・ポンプExtractグループを作成します。説明上、これらのポンプをpump_1およびpump_2と呼びます。
source_1でのコマンド:
ADD EXTRACTpump_1, EXTTRAILSOURCElocal_trail_1, BEGINtime
source_2でのコマンド:
ADD EXTRACTpump_2, EXTTRAILSOURCElocal_trail_2, BEGINtime
データソース・オプションとしてEXTTRAILSOURCEを使用し、ローカル・システムの証跡の名前を指定します。
各ソースで、ADD RMTTRAILコマンドを使用してターゲットにリモート証跡を作成します。
source_1でのコマンド:
ADD RMTTRAILremote_trail_1, EXTRACTpump_1
source_2でのコマンド:
ADD RMTTRAILremote_trail_2, EXTRACTpump_2
EXTRACT引数を使用して、各リモート証跡を異なるデータ・ポンプにリンクします。データ・ポンプがTCP/IPを通じてこの証跡に書込みを行い、Replicatがそのデータを読み取ります。
その他のADD RMTTRAILオプションは、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
各ソースで、EDIT PARAMSコマンドを使用してデータ・ポンプ・グループのパラメータ・ファイルを作成します。次のパラメータと、データベース環境に適用する他のパラメータを含めます。
pump_1のパラメータ・ファイル:
-- Identify the data pump group: EXTRACTpump_1-- Specify database login information as needed for the database: [SOURCEDBdsn_1][, USERIDALIASalias] -- 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: RMTHOSTOPTIONStarget, MGRPORTport_number, ENCRYPTencryption_options-- Specify the remote trail and encryption algorithm on the target system: ENCRYPTTRAILalgorithmRMTTRAILremote_trail_1-- Allow mapping, filtering, conversion or pass data through as-is: [PASSTHRU | NOPASSTHRU] -- Specify tables and sequences to be captured: SEQUENCE [container.|catalog.]owner.sequence; TABLE [container.|catalog.]owner.table;
pump_2のパラメータ・ファイル:
-- Identify the data pump group: EXTRACTpump_1-- Specify database login information as needed for the database: [SOURCEDBdsn_2][, USERIDALIASalias] -- 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, MGRPORTport_number, ENCRYPTencryption_options-- Specify the remote trail and encryption algorithm on the target system: ENCRYPTTRAILalgorithmRMTTRAILremote_trail_2-- Allow mapping, filtering, conversion or pass data through as-is: [PASSTHRU | NOPASSTHRU] -- Specify tables and sequences to be captured: SEQUENCE [container.|catalog.]owner.sequence; TABLE [container.|catalog.]owner.table;
データ・ポンプでデータのフィルタリングまたは変換を行う場合はNOPASSTHRUを使用し、データベースで定義参照を有効化する場合は、必要に応じてSOURCEDBパラメータおよびUSERIDALIASパラメータを使用します。データ・ポンプでデータのフィルタリングまたは変換を行わない場合、PASSTHRUを使用して参照を回避します。
ターゲット・システムのManagerプロセスとプライマリReplicatグループを構成します。
Managerプロセスを構成する手順
Managerプロセスを構成します。手順については、第3章「Managerおよびネットワーク通信の構成」を参照してください。
Managerのパラメータ・ファイルで、PURGEOLDEXTRACTSパラメータを使用して、証跡からのファイルの消去を制御します。
Replicatグループを構成する手順
ターゲットで、Replicatのチェックポイント表を作成します(Oracle統合Replicatを使用していない場合)。手順については、14.3項「チェックポイント表の作成」を参照してください。
ターゲットで、ADD REPLICATコマンドを使用して、作成した各リモート証跡に対するReplicatグループを作成します。説明上、これらのグループをrep_1およびrep_2と呼びます。
rep_1を追加するコマンド:
ADD REPLICATrep_1[, INTEGRATED | COORDINATED [MAXTHREADSnumber]] , EXTTRAILremote_trail_1, BEGINtime
rep_2を追加するコマンド:
ADD REPLICATrep_2[, INTEGRATED | COORDINATED [MAXTHREADSnumber]] , EXTTRAILremote_trail_2, BEGINtime
EXTTRAIL引数を使用して、Replicatグループを証跡にリンクします。
これらのオプション、およびインストール環境によって必要になるその他のオプションの詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
ターゲットで、EDIT PARAMSコマンドを使用して各Replicatグループのパラメータ・ファイルを作成します。次のパラメータと、データベース環境に適用する他のパラメータを含めます。考えられるその他の必須パラメータの詳細は、使用中のデータベースに対応するOracle GoldenGateインストレーションおよびセットアップ・ガイドを参照してください。
rep_1のパラメータ・ファイル:
-- Identify the Replicat group: REPLICATrep_1-- State whether or not source and target definitions are identical: SOURCEDEFSfull_pathname| ASSUMETARGETDEFS -- Specify database login information as needed for the database: [TARGETDBdsn_3][, USERIDALIASalias] -- Specify error handling rules: REPERROR (error,response) -- Specify tables for delivery and threads if using coordinated Replicat: MAP [container.|catalog.]owner.table, TARGETowner.table[, DEFtemplate] [, THREAD (thread_ID)][, THREADRANGE (thread_range[, column_list])] ;
rep_1のパラメータ・ファイル:
-- Identify the Replicat group: REPLICATrep_2-- State whether or not source and target definitions are identical: SOURCEDEFSfull_pathname| ASSUMETARGETDEFS -- Specify database login information as needed for the database: [TARGETDBdsn_3][, USERIDALIASalias] -- Specify error handling rules: REPERROR (error,response) -- Specify tables for delivery and threads if using coordinated Replicat: MAP [container.|catalog.]owner.table, TARGETowner.table[, DEFtemplate] [, THREAD (thread_ID)][, THREADRANGE (thread_range[, column_list])] ;
どのReplicatグループに対しても任意の数のMAP文を使用できます。特定のReplicatグループに対するすべてのMAP文では、そのグループにリンクされた証跡に含まれる同じオブジェクトを指定する必要があります。