6 DB2 for iのためのOracle GoldenGateの構成
内容は次のとおりです。
この手順でできること
ここでの手順では、トランザクション・データ変更をDB2 for iソースからDB2 for iターゲットまたは異なるタイプのデータベースにレプリケートするプロセスごとに1つの、基本的なOracle GoldenGateパラメータ(構成)ファイル・セットを構成する方法を示します。ビジネス要件によってはより複雑なトポロジが必要ですが、この手順がその他の構成ステップの基礎となります。
この章では、DB2 for iに固有の基本パラメータに重点を置いて説明します。
ステップを実行することで、次のことが可能です。
-
基本的な構成ファイルが作成されます。
-
後で環境に適用する機能や要件について決定を下してパラメータを追加し、それらを拡張します。
-
コピーを使用して、一から作成するよりも短時間で追加パラメータ・ファイルを作成します。
Oracle GoldenGateのスタート・ガイド
構成プロセスを進める前に、Oracle GoldenGateアーキテクチャ、コマンド・インタフェースおよびプロセスに対する入力および指示の指定方法についてよく理解しておく必要があります。詳細は、『Oracle GoldenGateの管理』を参照してください。
Oracle GoldenGateインスタンスの作成
各Oracle GoldenGateインストールは、Managerプロセスをベースとします。これが、Oracle GoldenGateプロセスのインスタンス化、ポート番号の割当ておよびファイル・メンテナンスを行うコントローラ・プロセスです。Managerプロセスとその子プロセス、およびそれに関連するプログラムとファイルを合せてOracle GoldenGateインスタンスを構成します。
Oracle GoldenGateを実行するには、Oracle GoldenGate環境に含まれるすべてのシステムでManagerプロセスが実行されている必要があります。Managerを実行するには、まず、そのパラメータ・ファイルを作成します。
GLOBALSファイルの作成
GLOBALSパラメータ・ファイルには、Oracle GoldenGateインスタンス内のすべてのプロセスに影響するパラメータが含まれています。
GGSCHEMAは、Oracle GoldenGate 21c (21.3.0)以降の必須パラメータであり、必要なOracle GoldenGateデータベース・オブジェクトに対してOracle GoldenGateがリモート・システムで使用するスキーマを定義します。
GLOBALSパラメータのNAMECCSID
は、DB2 for iに固有であり、システムCCSIDとは異なるCCSIDによって参照されるオブジェクト名がSQLカタログに含まれる場合は必須となります。SQLカタログはシステムCCSIDで作成されますが、問合せ時にこの違いは示されません。NAMECCSID
を使用して正しいCCSID値を指定しないかぎり、Oracle GoldenGateはカタログに対して誤った問合せを実行し、その名前を検索する可能性があります。詳細は、『Oracle GoldenGateリファレンス』を参照してください。
データ定義ファイルの作成
ノート:
これは、Oracle GoldenGate 11.2以前の証跡を書き込む場合にのみ必要となります。-
ソースで、取得された操作に関する完全な情報をReplicatプロセスに提供するため。
-
ターゲットで、レプリケートされたデータがReplicatによって正しくマップされ、(必要に応じて)変換されるよう、ターゲット表の構造を決めるため。
ソース表とターゲット表の定義が異なる場合、Oracle GoldenGateでは、ある形式から別の形式への変換を実行する必要があります。変換を実行するには、Oracle GoldenGateが両方の定義セットを認識していることが必要です。Oracle GoldenGateは、ローカル・データベースに問い合せて一方の定義セットを取得できますが、リモート・データベースから定義を取得するにはデータ定義ファイルが必要になります。データ定義ファイルには、レプリケート対象データのメタデータに関する情報が含まれています。
定義ファイルを作成するには、DEFGEN
ユーティリティを構成して実行し、定義ファイルをターゲット・システムに転送します。このファイルは、Oracle GoldenGateプロセスを初めて起動するより前に、ターゲット・システムに配置する必要があります。
SSLの有効化
SSL接続を有効にするには、DSN構成ファイル内でSSL=1
を設定します。IBM i Access ODBCドライバを使用したSSL接続の設定方法については、LinuxからDb2 for iへのSSL ODBC接続およびLinux用ACS ODBCドライバでのOpenSSLのサポートを参照してください。
OpenSSLを使用してSSLを設定することをお薦めします。DSN構成ファイル内でSSLを有効にすると、jt400
ライブラリを使用して確立されたJAVA接続でSecureAS400接続が使用されるようにもなります。
ユーザー・プロファイルとセキュリティ権限
Oracle GoldenGateをインストールするユーザーには、Oracle GoldenGateインストール・ディレクトリに対する読取り権限と書込み権限が必要です。これらの権限は、後で、サブフォルダの作成や特定のプログラムの実行のための手順で必要になります。
また、Db2 for iにOracle GoldenGateをスムーズにインストールできるようにするには、このユーザーに次の権限が必要です。
-
*ALLOBJ
特殊権限(インストールやアップグレード、またはHEARTBEAT ADD/DELETE
コマンドでのみ必要)ノート:
Oracle GoldenGateの新規インストール、または最新リリース・バージョンへのアップグレードの場合、インストールに使用するユーザー・プロファイルまたはグループ・プロファイルで、GGSCIからDBLOGIN
コマンドを1回のみ実行してIBM iシステム上のOracle GoldenGateインストールのための新しいオブジェクトのインストールを完了する必要があります。ノート:
Oracle GoldenGateライブラリ(GGSCHEMAで指定されている)内のオブジェクトの所有権をOracle GoldenGateの専用ユーザー・プロファイルに変更する必要があります。そのユーザーに*ALLOBJ
権限がない場合は、*ALLOBJ
権限がある他のユーザーが、Db2 for iシステムにサインインし、それらのオブジェクトの所有権を、Oracle GoldenGateインストールに使用するユーザー・プロファイルまたはグループ・プロファイルに変更する必要があります。 -
RSTOBJ
コマンドに対する権限(通常は*ALLOBJ
で使用可能) -
必要な場合にライブラリを作成できること
専用ユーザー・プロファイル・アカウント
Db2 for iデータベース上のOracle GoldenGateプロセスに専用のユーザー・プロファイルまたはグループ・プロファイルを割り当て、すべてのOracle GoldenGateプロセスで使用することをお薦めします。このユーザー・プロファイルは、他のどのアプリケーションでも使用しないでください。
専用ユーザー・プロファイルには、Oracle GoldenGateが動作するオブジェクトに対する権限のみを付与する必要があります。Oracle GoldenGateプロセスによってアクセスされない特定の変更データがある場合には、そのような変更データをジャーナル(Oracle GoldenGateとその専用ユーザー・プロファイルによってアクセスされる)に含めないでください。すべてのOracle GoldenGateプロセスに、GGSCHEMAで指定されているとおりの、Oracle GoldenGateインストール・ライブラリ内のオブジェクト読取り、書込みおよび削除権限が必要です。
DB2 for iシステムでのセキュリティ権限
-
Oracle GoldenGateが動作できるようにする最も簡単な方法は、Oracle GoldenGateユーザー・プロファイルに
*ALLOBJ
権限を割り当てることです。ただし、これは必須ではありません。 -
Managerプロセスには、他のすべてのOracle GoldenGateプロセスを制御する権限が必要です(DB2 for i
*JOBCTL
権限)。 -
Oracle GoldenGateユーザー・プロファイルには、SQLカタログ(デフォルトでは、すべてのユーザーがアクセス可能)を含む
QSYS2
ライブラリの*FILE
オブジェクトに対する少なくとも*USE
権限が必要です。 -
Extractユーザー・プロファイルでアクセスされるシステム上のすべての
*FILE
(表)および*JRNRCV
(ジャーナル・レシーバ)オブジェクトに対して、少なくとも*USE
権限(*OBJOPR
、*READ
、*EXECUTE
)を割り当てます。 -
Extractユーザー・プロファイルでアクセスされる
*JRN
(ジャーナル)オブジェクトに対して、*USE
権限(*OBJOPR
、*READ
、*EXECUTE
)に加えて、次の権限を割り当てます:*OBJEXIST
、*OBJREF
および*ADD
。 -
Replicatユーザー・プロファイルでアクセスされるシステム上のすべての
*FILE
オブジェクトに対して*CHANGE
権限を割り当てます。
Extractプロセスを実行するOracle GoldenGateユーザー・プロファイルには、QSYS/QPMLPMGT
サービス・プログラムに対する*USE
権限が必要です。
これらの権限は、5250端末セッションを介したネイティブDB2 for iインタフェース、またはIBM社から入手可能なDB2 for i Navigator製品を使用して付与する必要があります。
ExtractおよびReplicatのパスワードの暗号化
プライマリExtract、データ・ポンプExtractおよびReplicatプロセスに使用されるユーザー・プロファイルのパスワードを暗号化することをお薦めします。Oracle GoldenGateの標準的な暗号化方法であるAES (Advanced Encryption Standard)は、IBM iプラットフォームでサポートされています。パスワードを暗号化するには、『Oracle GoldenGateの管理』ののランタイム・パラメータの使用に関する項を参照してください。ここにはディスク・ストレージ内のデータの暗号化方法やTCP/IP経由のデータの暗号化方法に関する情報も記載されています。
ノート:
Oracle GoldenGate資格証明ストアは、iSeriesプラットフォームではサポートされません。
DB2 for iから変更を取得するためのExtractの構成
次のステップをソース・システムで実行し、変更の取得とネットワーク経由の転送をサポートするプライマリExtractとデータ・ポンプExtractを構成します。
プライマリExtractの構成
次のステップでは、トランザクション・データをソースDB2 for iから取得し、一時的な格納のためにデータをローカル証跡に書き込むプライマリExtractを構成します。
DB2 for iに変更を配信するためのReplicatの構成
次のステップでは、DB2 for iターゲット・データベースにデータを適用し、リモートLinuxシステムで動作するように、Replicatを構成します。異なるタイプのデータベース(Oracleデータベースなど)に変更を配信するようReplicatを構成するには、そのデータベース用のOracle GoldenGateインストレーションおよび構成ガイドの説明に従います。そのデータベース・タイプへの配信用に追加のパラメータや要件がある場合があります。
ノート:
ReplicatによるODBCを使用した接続をサポートするために、WindowsまたはLinuxマシン上にデータベースが存在する必要はありません。
チェックポイント表の作成
Replicatは、DB2 for iターゲット・データベースのチェックポイント表にチェックポイントを保持します。各チェックポイントは、Replicatトランザクション内で、ジャーナル処理される必要があるチェックポイント表に書き込まれます。チェックポイントはトランザクションに対して成功または失敗のいずれかであるため、プロセスまたはデータベースで障害が発生した場合でも、トランザクションは一度のみ適用されることがReplicatにより保証されます。
ジャーナル処理を指定してチェックポイント表を作成する一般的な方法は、次のとおりです。
チェックポイント表の作成の詳細は、『Oracle GoldenGateの管理』を参照してください。
デプロイの次のステップ
その柔軟性から、Oracle GoldenGateには、プロセスを起動する前に検討する必要のある機能やオプションが数多くあります。ビジネス・ニーズに合せてOracle GoldenGateをさらに構成するには、次のものを参照してください。
-
特定のレプリケーション・トポロジを実現するためのその他の構成のガイドラインについては、『Oracle GoldenGateの管理』を参照してください。このガイドには、次の点に関する情報も含まれています。
-
Oracle GoldenGateのアーキテクチャ
-
Oracle GoldenGateのコマンド
-
Oracle GoldenGateの初期ロード方式
-
カスタマイズ機能の使用
-
異なるデータを含む列のマッピング
-
データのフィルタリングと操作
-
-
このガイドで示されたOracle GoldenGate GGSCIコマンドおよびOracle GoldenGateパラメータの構文オプションとその詳細は、『Oracle GoldenGateリファレンス』を参照してください。
トランザクション変更のレプリケートを開始するタイミング
ソース・データとターゲット・データが同期している状態、つまり、ソース表とターゲット表の対応する行に同一のデータ値が含まれる場合にレプリケーションを開始する必要があります。現在のユーザー・アクティビティがない完全に新規のソース・データベースとターゲット・データベースから始める場合以外、変更取得プロセスおよび変更適用プロセスをアクティブにし、初期ロードをターゲットに適用する間に進行中のトランザクション変更を処理する必要があります。このプロセスは、初期同期またはインスタンス化と呼ばれます。初期ロードでは、ソース・データのポイントインタイム・スナップショットが取得されてターゲットに適用されると同時に、その時点以降に行われた変更がOracle GoldenGateによって保持されます。
インスタンス化オプションは、『Oracle GoldenGateの管理』の初期ロードによるOracle GoldenGateのインスタンス化に関する項を参照してください。
インスタンス化中のExtractの起動
インスタンス化プロセス中にExtractを初めて起動してデータの取得を開始すると、指定された開始点より後に出現するすべてのトランザクション・データが取得されますが、それより前に出現するデータは取得されません。破棄される可能性のある進行中のトランザクションの途中でExtractが起動されないことを保証するには、取得対象の表を非アクティブ状態に設定します。ALCOBJ
コマンドを使用してシステムを制限付きの状態にしてオブジェクトまたはライブラリをロックするか、それらの表の現在のトランザクションをすべて特定の時点で停止します。
初期化の完了後、ロックしたオブジェクトのロックを解除することを忘れないでください。これを行うには、オブジェクトをロックしたセッションからログオフするか、OS/400コマンドラインからDLCOBJ
コマンドを使用します。
親トピック: トランザクション変更のレプリケートを開始するタイミング
後の時点へのExtractの位置の変更
Extractの実行中ある時点で、データ・ストリーム内のExtractの位置を手動で設定する必要が生じることがあります。Extractの位置を再設定するには、GGSCIでALTER EXTRACT
コマンドを使用します。任意のExtractの読取り位置の特定には、INFO EXTRACT
コマンドで、ジャーナル・レシーバ情報を含め、Extract構成の各ジャーナルの位置を表示すると便利です。詳細は、『Oracle GoldenGateリファレンス』を参照してください。
親トピック: トランザクション変更のレプリケートを開始するタイミング