この章では、リアルタイム・データ分散でOracle GoldenGateを使用する方法について説明します。
この章の内容は次のとおりです。
データ分散構成は、1対多構成です。Oracle GoldenGateでは、ソース・データベースから任意の数のターゲット・システムへの同期がサポートされます。Oracle GoldenGateは同種間あるいは異種間のデータ転送をサポートし、構成内のいずれのシステム上でもフィルタリングや変換が可能なためです(サポート内容はデータベース・プラットフォームごとに異なります)。
次の各項では、データ分散構成の考慮事項について説明します。
データ分散構成では、ソース・システム上でデータ・ポンプを使用することで、いずれかのターゲットに対するネットワーク接続に障害が発生した場合でも確実に取得データを他のターゲットに送信できます。プライマリExtractグループとデータ・ポンプExtractグループを、ターゲットごとに1つ使用してください。
任意のプロセスを使用してフィルタリングおよび変換を実行できます。ただし、フィルタリング操作の実行にデータ・ポンプを使用することで、その処理のオーバーヘッドがプライマリExtractグループから削減され、ネットワークを通じて送信されるデータ量が減少します。フィルタリングと変換のオプションは、第12章「データのマッピングおよび操作」を参照してください。
データ分散構成では、読取り専用ターゲットがサポートされます。この構成の任意のターゲットを、高可用性をサポートするトランザクション・アクティビティにも使用する場合は、第9章「アクティブ/アクティブ型高可用性のためのOracle GoldenGateの構成」を参照してください。
次のドキュメントには、Oracle GoldenGateの構成に関連する追加情報が記載されています。
その他のシステム要件、プロセス構成およびデータベースの設定要件については、使用中のデータベース・タイプに対応するOracle GoldenGateのインストレーションおよび構成のドキュメントを参照してください。これらのガイドは、このマニュアルの「はじめに」の「関連ドキュメント」にリストされています。
Oracle GoldenGateの変更取得および配信グループの構成方法の詳細は、第14章「オンライン変更同期の構成」を参照してください。
Oracle GoldenGateのその他のチューニング・オプションは、第19章「Oracle GoldenGateのパフォーマンスのチューニング」を参照してください。
Oracle GoldenGateのコマンドとパラメータの構文の詳細および説明は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
作成するオブジェクトのビジュアル表現は、図6-1を参照してください。
ソース・システムでManagerプロセスとプライマリExtractを構成します。
Managerプロセスを構成する手順
ソースで、Managerプロセスを構成します。手順については、第3章「Managerおよびネットワーク通信の構成」を参照してください。
Managerのパラメータ・ファイルで、PURGEOLDEXTRACTS
パラメータを使用して、ローカル証跡からのファイルの消去を制御します。
プライマリExtractを構成する手順
ソースで、ADD EXTRACT
コマンドを使用してExtractグループを作成します。説明上、このグループをextと呼びます。
ADD EXTRACText
, {TRANLOG | INTEGRATED TRANLOG}, BEGINtime
[option
[, ...]]
これらのオプション、およびインストール環境によって必要になるその他のADD EXTRACTオプションの詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
ソースで、ADD EXTTRAIL
コマンドを使用してローカル証跡を作成します。
ADD EXTTRAILlocal_trail
, EXTRACText
EXTRACT
引数を使用して、この証跡をプライマリExtractグループにリンクします。プライマリExtractグループがこの証跡に書込みを行い、データ・ポンプ・グループがそのデータを読み取ります。
ソースで、EDIT PARAMS
コマンドを使用してプライマリExtractグループのパラメータ・ファイルを作成します。次のパラメータと、データベース環境に適用する他のパラメータを含めます。考えられるその他の必須パラメータの詳細は、使用中のデータベースに対応するOracle GoldenGateインストレーションおよびセットアップ・ガイドを参照してください。
-- Identify the Extract group: EXTRACText
-- Specify database login information as needed for the database: [SOURCEDB dsn_1][, USERIDALIASalias
] -- Log all scheduling columns if using integrated Replicat LOGALLSUPCOLS -- Specify the local trail that this Extract writes to -- and encryption algorithm: ENCRYPTTRAILalgorithm
EXTTRAILlocal_trail
-- Specify tables and sequences to be captured: SEQUENCE [container
.|catalog
.]owner
.sequence; TABLE [container
.|catalog
.]owner
.table
;
EXTTRAIL
を使用してローカル証跡を指定します。
データ・ポンプExtractグループを構成する手順
ソースで、ADD EXTRACT
コマンドを使用して、ターゲット・システムごとにデータ・ポンプを作成します。説明上、これらのグループをpump_1およびpump_2と呼びます。
ADD EXTRACTpump_1
, EXTTRAILSOURCElocal_trail
, BEGINtime
ADD EXTRACTpump_2
, EXTTRAILSOURCElocal_trail
, BEGINtime
データソース・オプションとしてEXTTRAILSOURCE
を使用し、ローカル証跡の名前を指定します。
ソースで、ADD RMTTRAIL
コマンドを使用して、各ターゲット・システムに作成するリモート証跡を指定します。
ADD RMTTRAILremote_trail_1
, EXTRACTpump_1
ADD RMTTRAILremote_trail_2
, EXTRACTpump_2
EXTRACT
引数を使用して、各リモート証跡を異なるデータ・ポンプ・グループにリンクします。リンクされたデータ・ポンプは、この証跡に書込みを行います。
その他のADD RMTTRAILオプションは、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
ソースで、EDIT PARAMS
コマンドを使用して各データ・ポンプのパラメータ・ファイルを作成します。次のパラメータと、データベース環境に適用する他のパラメータを含めます。
pump_1のパラメータ・ファイル:
-- Identify the data pump group: EXTRACTpump_1
-- Specify database login information if using NOPASSTHRU: [SOURCEDB dsn_1][, USERIDALIASalias
] -- 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: RMTHOSTOPTIONStarget_1
, MGRPORTport_number
, ENCRYPT encryption_options -- Specify remote trail and encryption algorithm on first target system: ENCRYPTTRAILalgorithm
RMTTRAILremote_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_2
-- Specify database login information if using NOPASSTHRU: [SOURCEDB dsn_1][, USERIDALIASalias
] -- 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: RMTHOSTOPTIONStarget_2
, MGRPORTport_number
, ENCRYPT encryption_options -- Specify remote trail and encryption algorithm on second target system: ENCRYPTTRAILalgorithm
RMTTRAILremote_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
;
ターゲット・システムでManagerプロセスとReplicatグループを構成します。
Managerプロセスを構成する手順
各ターゲットで、Managerプロセスを構成します。手順については、第3章「Managerおよびネットワーク通信の構成」を参照してください。
Managerの各パラメータ・ファイルで、PURGEOLDEXTRACTS
パラメータを使用して、証跡からのファイルの消去を制御します。
Replicatグループを構成する手順
各ターゲットで、Replicatのチェックポイント表を作成します(Oracle統合Replicatを使用していない場合)。手順については、14.3項「チェックポイント表の作成」を参照してください。
各ターゲットで、ADD REPLICAT
コマンドを使用して、そのシステムのリモート証跡に対するReplicatグループを作成します。説明上、これらのグループをrep_1およびrep_2と呼びます。
target_1でのコマンド:
ADD REPLICATrep_1
[, INTEGRATED | COORDINATED [MAXTHREADSnumber
]] , EXTTRAILremote_trail_1
, BEGINtime
target_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: [TARGETDB dsn_2][, 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_2のパラメータ・ファイル:
-- 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: [TARGETDB dsn_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
文では、そのグループにリンクされた証跡に含まれる同じオブジェクトを指定する必要があります。