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