DB2 LUWのインスタンス化の要件
Oracle GoldenGate環境の初期化の際、最初のデータ同期を行い、Oracle GoldenGateプロセスを初めて起動します。これらの手順とともに、プロセス・グループを作成します。Extractグループを作成するには、トランザクション・ログで最初の開始位置を確定する必要があります。この初期読取り位置は、次のいずれかに基づくトランザクション境界上に置かれます。
-
トランザクション・ファイルの終わり
-
特定のLRI値
開始ポイントは、ADD EXTRACT
コマンドのBEGIN
オプションで指定します。
Extractプロセスを初めて起動すると、指定した開始ポイントの後に発生したすべてのトランザクション・データが取得されますが、開始ポイントより前に発生したデータは取得されません。このため、オープン・トランザクションが開始ポイントをまたがる場合、トランザクションの一部しか取得されないことがあります。
初期トランザクションの一貫性を確保する手順:
トランザクションの部分的な取得を避けるには、データベースが一時停止状態になっている時点でExtractプロセスを初期化します。DB2 LUWでは、このような目的のためにQUIESCE
コマンドが提供されています。これがトランザクションの一貫性を確保する唯一の方法です。
ノート:
Extractを初期化した後の再起動では、プロセスはリカバリ・チェックポイントを使用して最終読取り位置をマークするため、部分的なトランザクションの抽出は行われません。
オープン・トランザクションを表示する手順:
IBMでは、DB2データベースおよびインスタンスを監視するためのdb2pd
というユーティリティを提供しています。これを使用して、オープン・トランザクションに関する情報を表示したり、開始ポイントをまたぐトランザクションがないかを判別できます。ただし、DB2 LUWのログ・レコードにはタイムスタンプがないため、正確なアセスメントを行うのが可能ではないかもしれません。可能な場合は、Oracle GoldenGateを初期化する前にデータベースを停止します。