DB2 ログ内の既知の時点からキャプチャー・プログラムを始動する
キャプチャー・プログラムが、既知の時点から DB2 のリカバリー・ログを再読み取りし、すでにキャプチャーされ適用されたログ・レコードを再処理するように指示することができます。
このタスクについて
重要: この手順は、ターゲット表がユーザー・コピーである場合にのみ使用すべきです。
手順
- キャプチャー・プログラムとアプライ・プログラムを停止します。
- 次の SQL ステートメントに示すように、キャプチャーの RETENTION_LIMIT および LAG_LIMIT 値を最大に設定します。
UPDATE ASN.IBMSNAP_CAPPARMS SET RETENTION_LIMIT=99999,LAG_LIMIT=99999;
- IBMSNAP_UOW、CD、IBMSNAP_REGISTER、および IBMSNAP_PRUNCNTL 表の SYNCHPOINT 値が、キャプチャーを開始したい LSN 値よりも高い場合、SQL を使用してトランザクションを再キャプチャーし始める時点に値を設定してください。 続く例では、00000006F5638E60000 がログ・シーケンス番号、2009-09-05-09.55.43.316970 が、ログの読み取りを開始するようキャプチャー・プログラムを戻す時点のタイム・スタンプです。
UPDATE ASN.IBMSNAP_REGISTER SET SYNCHPOINT = x'00000006F5638E600000', SYNCHTIME=TIMESTAMP('2009-05-05-09.55.43.316970'); UPDATE ASN.IBMSNAP_REGISTER SET CD_OLD_SYNCHPOINT=x'00000006F5638E600000', CD_NEW_SYNCHPOINT=x'00000006F5638E600000', CCD_OLD_SYNCHPOINT=x'00000006F5638E600000' WHERE GLOBAL_RECORD='N'; UPDATE ASN.IBMSNAP_SUBS_SET SET LASTRUN=TIMESTAMP('2009-09-05-09.55.43.316970'), LASTSUCCESS=TIMESTAMP('2009-05-05-09.55.43.316970'), SYNCHPOINT=x'00000006F5638E600000', SYNCHTIME=TIMESTAMP('2009-05-05-09.55.43.316970') WHERE WHOS_ON_FIRST='S' AND SET_NAME='BACK1'; UPDATE ASN.IBMSNAP_PRUNCNTL SET SYNCHPOINT =x'00000006F5638E600000', SYNCHTIME=TIMESTAMP('2009-05-05-09.55.43.316970'); UPDATE ASN.IBMSNAP_PRUNE_SET SET SYNCHPOINT =x'00000006F5638E600000', SYNCHTIME=TIMESTAMP('2009-05-05-09.55.43.316970'); DELETE FROM ASN.IBMSNAP_UOW; DELETE FROM ASN.IBMSNAP_RESTART; INSERT INTO ASN.IBMSNAP_RESTART (MAX_COMMITSEQ, MIN_INFLIGHTSEQ, MAX_COMMIT_TIME,CURR_COMMIT_TIME,CAPTURE_FIRST_SEQ) values (x'00000000000000000000',x'00000006F5638E600000', '2009-05-05-09.55.43.316970','2009-05-05-09.55.43.316970', x'00000006F5638E600000');
- キャプチャー・プログラムを WARMNS モードで始動し、アプライ・プログラムは通常の始動パラメーターを使用して始動してください。