この章の内容は次のとおりです。
最も基本的なOracle GoldenGate構成は、ソース・データベースからレポートや分析などのデータ取得目的のみに使用されるターゲット・データベースへの一方向レプリケートを行う1対1構成です。Oracle GoldenGateは同種間あるいは異種間のデータ転送をサポートし、構成内のいずれのシステム上でもフィルタリングや変換が可能なためです(サポート内容はデータベース・プラットフォームごとに異なります)。
Oracle GoldenGateでは、様々なレポート・トポロジが用意されており、スケーラビリティ、可用性およびパフォーマンスに対するユーザー要件に基づいて各プロセスをカスタム構成できます。この項では、レポート構成を選択する場合の考慮事項について説明します。
データ・フィルタリングおよびデータ変換では、どちらもオーバーヘッドが増大します。これらのアクティビティは、構成エラーにつながるおそれがあります。Oracle GoldenGateで大量のフィルタリングおよび変換を実行する必要がある場合は、1つ以上のデータ・ポンプを使用してその作業を処理することを検討してください。この目的にReplicatを使用することもできますが、その場合データがフィルタされないため、ネットワーク全体でより多くのデータが送信されます。フィルタリングおよび変換は、データ・ポンプとReplicatに分割して、2つのシステムで分けることが可能です。
データをフィルタする場合、次の処理を使用できます。
TABLE
文(Extract)またはMAP
文(Replicat)のFILTER
句またはWHERE
句
SQL問合せまたはプロシージャ
ユーザー・イグジット
データを変換する場合、次の処理を使用できます。
Oracle GoldenGate変換関数
外部変換ソリューションのルールを適用して操作済データをOracle GoldenGateに戻すExtractまたはReplicatプロセスからのユーザー・イグジット
ETLソリューションまたは他の変換エンジンに直接データを配信するReplicat
Oracle GoldenGateのフィルタリングおよび変換サポートの詳細は、次を参照してください。
Oracle GoldenGateのライブ・レポート構成では、読取り専用ターゲットがサポートされます。この構成のターゲットを、高可用性をサポートするトランザクション・アクティビティにも使用する場合は、アクティブ/アクティブ型高可用性のためのOracle GoldenGateの構成を参照してください。
次のドキュメントには、Oracle GoldenGateの構成に関連する追加情報が記載されています。
その他のシステム要件、プロセス構成およびデータベースの設定要件については、使用中のデータベース・タイプに対応するOracle GoldenGateのインストレーションおよび構成のドキュメントを参照してください。これらのガイドはこのマニュアルのはじめににリストされています。
Oracle GoldenGateの変更取得および配信グループの構成方法の詳細は、オンライン変更同期の構成を参照してください。
Oracle GoldenGateのその他のチューニング・オプションは、Oracle GoldenGateのパフォーマンスのチューニングを参照してください。
Oracle GoldenGateのコマンドとパラメータの構文の詳細および説明は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
標準のOracle GoldenGate構成では、取得データが1つのExtractグループによってTCP/IPを通じてターゲット・システムの証跡に送信され、1つのReplicatグループによって処理されるまで格納されます。
作成するオブジェクトのビジュアル表現は、図5-1を参照してください。
ソース・システムでManagerプロセスとExtractグループを構成します。
Managerプロセスを構成する手順
ソースで、Managerおよびネットワーク通信の構成の指示に従ってManagerプロセスを構成します。
Extractグループを構成する手順
ターゲット・システムでManagerプロセスとReplicatグループを構成します。
Managerプロセスを構成する手順
ターゲットで、Managerおよびネットワーク通信の構成の指示に従ってManagerプロセスを構成します。
Managerパラメータ・ファイルでは、PURGEOLDEXTRACTS
パラメータを使用してローカル証跡からのファイルの削除を制御します。
Replicatグループを構成する手順
ソース・システムにデータ・ポンプを追加して、プライマリExtractをTCP/IP機能から分離することで、記憶域の柔軟性を向上し、プライマリExtractからフィルタリングおよび変換処理のオーバーヘッドを削減できます。
この構成の場合、プライマリExtractは、ソース・システムのローカル証跡に書込みを行います。ローカル・データ・ポンプは、その証跡を読み取り、データをターゲット・システムのリモート証跡に移動します(このデータはReplicatによって読み取られます)。
必須ではありませんが、データ・ポンプを使用して、Oracle GoldenGateのパフォーマンスおよびフォルト・トレランスを改善できます。
作成するオブジェクトのビジュアル表現は、図5-2を参照してください。
ソース・システムでManagerプロセスとExtractグループを構成します。
Managerプロセスを構成する手順
ソースで、Managerおよびネットワーク通信の構成の指示に従って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
コマンドを使用してローカル証跡を作成します。プライマリExtractがこの証跡に書込みを行い、データ・ポンプExtractがそのデータを読み取ります。
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: [SOURCEDBdsn_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
;
データ・ポンプExtractグループを構成する手順
ターゲット・システムでManagerプロセスとReplicatグループを構成します。
Managerプロセスを構成する手順
ターゲットで、Managerおよびネットワーク通信の構成の指示に従ってManagerプロセスを構成します。
Managerパラメータ・ファイルでは、PURGEOLDEXTRACTS
パラメータを使用してローカル証跡からのファイルの削除を制御します。
Replicatグループを構成する手順
中間システムを、ソース・システムとターゲット・システムの中継場所として使用できます。この構成では、ソース・システムのデータ・ポンプは、取得したデータを中間システムのリモート証跡に送信します。中間システムのデータ・ポンプは、その証跡を読み取り、データをターゲットのリモート証跡に送信します。ターゲットのReplicatはリモート証跡を読み取り、データをターゲット・データベースに適用します。
このトポロジについて検討する際、次の点に注意してください。
この構成は、ソース・システムとターゲット・システムが異なるネットワーク内に存在し、各システム間が直接接続されていない場合に役立ちます。両方のシステムに接続することが可能な中間システムを通じてデータを転送できます。
この構成を使用すると、記憶域の柔軟性が増し、ソースまたはターゲットを補うことができます。
この構成は、すべてのシステムのキャラクタ・セットが同じ場合、データのフィルタリングや変換に使用できます。キャラクタ・セットが異なる場合、データ・ポンプはキャラクタ・セット間の変換を行えません。ターゲットで変換を行うようReplicatを構成する必要があります。
キャラクタ・セットが同じ場合、中間システムでデータ・ポンプを使用して変換を実行するには、DEFGENユーティリティを使用してソース定義ファイルとターゲット定義ファイルを作成し、両方のファイルを中間システムに転送する必要があります。定義ファイルと変換の詳細は、レプリケートされたデータとメタデータとの関連付けを参照してください。
この構成は、カスケード・レプリケーションの一種です。ただし、この構成では、データは中間システム上のデータベースに適用されません。中間システムのデータベースをOracle GoldenGate構成に含めるには、「カスケード・レポート構成の作成」を参照してください。
作成するオブジェクトのビジュアル表現は、図10を参照してください。
Managerプロセスを構成する手順
ソースで、Managerおよびネットワーク通信の構成の指示に従って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
コマンドを使用してローカル証跡を作成します。プライマリExtractがこの証跡に書込みを行い、データ・ポンプExtractがそのデータを読み取ります。
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: [SOURCEDBdsn_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
;
ソースのデータ・ポンプを構成する手順
中間システムでManagerプロセスとデータ・ポンプを構成します。
中間システムのManagerプロセスを構成する手順
中間システムで、Managerおよびネットワーク通信の構成の指示に従ってManagerプロセスを構成します。
Managerのパラメータ・ファイルで、PURGEOLDEXTRACTS
パラメータを使用して、証跡からのファイルの消去を制御します。
中間システムのデータ・ポンプを構成する手順
ターゲット・システムでManagerプロセスとReplicatグループを構成します。
ターゲットのManagerプロセスを構成する手順
ターゲット・システムで、Managerおよびネットワーク通信の構成の指示に従ってManagerプロセスを構成します。
Managerのパラメータ・ファイルで、PURGEOLDEXTRACTS
パラメータを使用して、証跡からのファイルの消去を制御します。
ターゲットのReplicatグループを構成する手順
Oracle GoldenGateでは、カスケード同期がサポートされます。この同期では、Oracle GoldenGateによってデータ変更がソース・データベースから2番目のデータベースに伝播され、次に3番目のデータベースに伝播されます。この構成では、次の処理が実行されます。
ソースのプライマリExtractは、取得データをローカル証跡に書き込み、データ・ポンプはそのデータをカスケード内の2番目のシステムにあるリモート証跡に送信します。
2番目のシステムで、Replicatはデータをローカル・データベースに適用します。
同じシステムの別のプライマリExtractが、ローカル・データベースからデータを取得してローカル証跡に書き込みます。
データ・ポンプは、データをカスケード内の3番目のシステムにあるリモート証跡に送信し、そのデータは別のReplicatによってローカル・データベースに適用されます。
注意:
レプリケートされた変更を2番目のシステムのデータベースに適用する必要がない場合は、「中間システムでデータ・ポンプを使用するレポート構成の作成」を参照してください。
この構成は、次の場合に使用します。
1つ以上のターゲット・システムがソースに直接接続していないが、2番目のシステムが両方に接続できる場合。
ソース・システムからのネットワーク・アクティビティを制限する場合。
地理的に非常に離れた場所にある2つ以上のサーバーにデータを送信する場合(たとえば、シカゴからロサンゼルスに送信し、次にロサンゼルスから中国全土のサーバーに送信する場合)。
このトポロジについて検討する際、次の点に注意してください。
この構成は、すべてのシステムのキャラクタ・セットが同じ場合、データのフィルタリングや変換に使用できます。キャラクタ・セットが異なる場合、データ・ポンプはキャラクタ・セット間の変換を行えません。ターゲットで変換を行うようReplicatを構成する必要があります。
キャラクタ・セットが同じ場合、2番目のシステムでデータ・ポンプを使用して変換を実行するには、DEFGENユーティリティを使用して最初のシステムでソース定義ファイルを作成し、2番目のシステムに転送する必要があります。さらに、2番目のシステムでソース定義ファイルを作成し、3番目のシステムに転送する必要があります。定義ファイルと変換の詳細は、レプリケートされたデータとメタデータとの関連付けを参照してください。
2番目のシステムで、Replicatアクティビティを取得してローカル・ビジネス・アプリケーション・アクティビティを無視するようにExtractグループを構成する必要があります。この動作を制御するExtractパラメータは、IGNOREAPPLOPS
およびGETREPLICATES
です。
作成するオブジェクトのビジュアル表現は、図5-4を参照してください。
ソースのManagerプロセスを構成する手順
ソースで、Managerおよびネットワーク通信の構成の指示に従ってManagerプロセスを構成します。
Managerのパラメータ・ファイルで、PURGEOLDEXTRACTS
パラメータを使用して、証跡からのファイルの消去を制御します。
ソースのプライマリExtractグループを構成する手順
ソースで、ADD EXTRACT
コマンドを使用してExtractグループを作成します。説明上、このグループをext_1と呼びます。
ADD EXTRACText_1
, {TRANLOG | INTEGRATED TRANLOG}, BEGINtime
[option
[, ...]]
これらのオプション、およびインストール環境によって必要になるその他のADD EXTRACTオプションの詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
ソースで、ADD EXTTRAIL
コマンドを使用してローカル証跡を作成します。
ADD EXTTRAILlocal_trail_1
, EXTRACText_1
EXTRACT
引数を使用して、この証跡をext_1 Extractグループにリンクします。
ソースで、EDIT PARAMS
コマンドを使用してext_1 Extractグループのパラメータ・ファイルを作成します。次のパラメータと、データベース環境に適用する他のパラメータを含めます。考えられるその他の必須パラメータの詳細は、使用中のデータベースに対応するOracle GoldenGateインストレーションおよびセットアップ・ガイドを参照してください。
-- 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 encryption algorithm: ENCRYPTTRAILalgorithm
EXTTRAILlocal_trail
-- Specify tables and sequences to be captured: SEQUENCE [container
.|catalog
.]owner
.sequence; TABLE [container
.|catalog
.]owner
.table
;
ソースのデータ・ポンプを構成する手順
カスケード内の2番目のシステムで、Managerプロセス、Replicatグループおよびデータ・ポンプを構成します。
2番目のシステムのManagerプロセスを構成する手順
2番目のシステムで、Managerおよびネットワーク通信の構成の指示に従ってManagerプロセスを構成します。
Managerのパラメータ・ファイルで、PURGEOLDEXTRACTS
パラメータを使用して、証跡からのファイルの消去を制御します。
2番目のシステムのReplicatグループを構成する手順
Replicatのチェックポイント表を作成します(Oracle統合Replicatを使用していない場合)。手順については、「チェックポイント表の作成」を参照してください。
2番目のシステムで、ADD REPLICAT
コマンドを使用してReplicatグループを作成します。説明上、このグループをrep_1と呼びます。
ADD REPLICATrep_1
[, INTEGRATED | COORDINATED [MAXTHREADSnumber
]] , EXTTRAILremote_trail_1
, , BEGINtime
EXTTRAIL
オプションを使用して、rep_1グループをローカル・システムにあるリモート証跡remote_trail_1にリンクします。
これらのオプション、およびインストール環境によって必要になるその他のオプションの詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
2番目のシステムで、EDIT PARAMS
コマンドを使用してReplicatグループのパラメータ・ファイルを作成します。次のパラメータと、データベース環境に適用する他のパラメータを含めます。考えられるその他の必須パラメータの詳細は、使用中のデータベースに対応するOracle GoldenGateインストレーションおよびセットアップ・ガイドを参照してください。
-- Identify the Replicat group: REPLICATrep_1
-- Specify database login information as needed for the database: [TARGETDBdsn_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])] ;
注意:
DB2 for iでは、ターゲット表がすでにジャーナルされている場合、ADD TRANDATA
コマンドの使用が必要になることがあります。または、STRJRNPF
コマンドを使用して、表を適切なジャーナルに割り当てることができます。ターゲット表をOracle GoldenGateでレプリケートする必要がない場合は、IMAGES(*AFTER)
オプションをSTRJRNPF
で使用できます。Oracle GoldenGateは、トランザクションを使用して動作するため、トランザクションをサポートするには、すべての表をジャーナルする必要がありますが、これはDB2 for iではデフォルトではありません。
2番目のシステムのExtractグループを構成する手順
ソースで、ADD EXTRACT
コマンドを使用してExtractグループを作成します。説明上、このグループをext_2と呼びます。
ADD EXTRACText_2
, {TRANLOG | INTEGRATED TRANLOG}, BEGINtime
[option
[, ...]]
これらのオプション、およびインストール環境によって必要になるその他のADD EXTRACTオプションの詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
2番目のシステムで、ADD EXTTRAIL
コマンドを使用して3番目のシステムに作成するローカル証跡を指定します。
ADD EXTTRAILlocal_trail_2
, EXTRACText_2
EXTRACT
引数を使用して、このローカル証跡をext_2 Extractグループにリンクします。
2番目のシステムで、EDIT PARAMS
コマンドを使用してext_2 Extractグループのパラメータ・ファイルを作成します。次のパラメータと、データベース環境に適用する他のパラメータを含めます。考えられるその他の必須パラメータの詳細は、使用中のデータベースに対応するOracle GoldenGateインストレーションおよびセットアップ・ガイドを参照してください。
-- 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 LOGALLSUPCOLS -- Specify the local trail that this Extract writes to -- and encryption algorithm: ENCRYPTTRAILalgorithm
EXTTRAILlocal_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番目のシステムのデータ・ポンプを構成する手順
カスケード内の3番目のシステムでManagerプロセスとReplicatグループを構成します。
Managerプロセスを構成する手順
3番目のシステムで、Managerおよびネットワーク通信の構成の指示に従ってManagerプロセスを構成します。
Managerのパラメータ・ファイルで、PURGEOLDEXTRACTS
パラメータを使用して、証跡からのファイルの消去を制御します。
Replicatグループを構成する手順