ogg跳过某个RBA

1.从库复制进程报如下错误

***********************************************************************
**                     Run Time Messages                             **
***********************************************************************

Opened trail file ./dirdat/pa000000 at 2018-08-14 14:03:47

2018-08-14 14:15:53  INFO    OGG-01373  User requested start after CSN 1007991.

2018-08-14 14:15:53  INFO    OGG-01374  Transaction delivery commencing at position Seqno 0, RBA 1103, Transaction ID 1.31.677, CSN 1012153, 0 transaction(s) skipped.

MAP resolved (entry hxl.tb_test):
  MAP "HXL"."TB_TEST", TARGET hxl.tb_test;

2018-08-14 14:15:58  WARNING OGG-00869  No unique key is defined for table 'TB_TEST'. All viable columns will be used to represent the key, but may not guarantee uniqueness.  KEYCOLS may be used to define the key.
Using following columns in default map by name:
  ID, NAME, CREATETIME, MODITYTIME
Using the following key columns for target table HXL.TB_TEST: ID, NAME, CREATETIME, MODITYTIME.


Processed extract process graceful restart record at seq 0, rba 1936.

2018-08-14 15:59:32  INFO    OGG-01020  Processed extract process RESTART_ABEND record at seq 0, rba 1997 (aborted 0 records).

2018-08-14 16:04:23  INFO    OGG-01020  Processed extract process RESTART_ABEND record at seq 0, rba 2058 (aborted 0 records).
Processed extract process graceful restart record at seq 0, rba 2119.

2018-08-14 16:43:28  WARNING OGG-00869  OCI Error ORA-01400: cannot insert NULL into ("HXL"."TB_TEST"."NAME") (status = 1400). INSERT INTO "HXL"."TB_TEST" ("ID","NAME","CREATETIME","MODITYTIME") VALUES (:a0,:a1,:a2,:a3).

2018-08-14 16:43:28  WARNING OGG-01004  Aborted grouped transaction on 'HXL.TB_TEST', Database error 1400 (OCI Error ORA-01400: cannot insert NULL into ("HXL"."TB_TEST"."NAME") (status = 1400). INSERT INTO "HXL"."TB_TEST" ("ID","NAME","
CREATETIME","MODITYTIME") VALUES (:a0,:a1,:a2,:a3)).

2018-08-14 16:43:28  WARNING OGG-01003  Repositioning to rba 2180 in seqno 0.

 

2.找到错误异常的位置的RBA

 

[oracle@localhost ogg]$ ./logdump

Oracle GoldenGate Log File Dump Utility for Oracle
Version 11.2.1.0.3 14400833 OGGCORE_11.2.1.0.3_PLATFORMS_120823.1258

Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.


 
Logdump 11 >open ./dirdat/pa000000
Current LogTrail is /u01/app/ogg/dirdat/pa000000 
Logdump 12 >pos 2180
Reading forward from RBA 2180 
Logdump 13 >n

2018/08/14 16:43:15.998.512 Insert               Len    67 RBA 2180 
Name: HXL.TB_TEST 
After  Image:                                             Partition 4   G  s   
 0000 0005 0000 0001 3700 0100 04ff ff00 0000 0200 | ........7...........  
 1500 0032 3031 382d 3038 2d31 343a 3136 3a34 333a | ...2018-08-14:16:43:  
 3133 0003 0015 0000 3230 3138 2d30 382d 3134 3a31 | 13......2018-08-14:1  
 363a 3433 3a31 33                                 | 6:43:13  
   

Logdump 70 >n

2018/08/14 17:21:37.992.587 Insert               Len    72 RBA 2360 
Name: HXL.TB_TEST 
After  Image:                                             Partition 4   G  s   
 0000 0005 0000 0001 3800 0100 0900 0000 0574 6573 | ........8........tes  
 7438 0002 0015 0000 3230 3138 2d30 382d 3134 3a31 | t8......2018-08-14:1  
 373a 3231 3a33 3600 0300 1500 0032 3031 382d 3038 | 7:21:36......2018-08  
 2d31 343a 3137 3a32 313a 3336                     | -14:17:21:36 

 

3.从发生错误的RBA下一个RBA启动

GGSCI (localhost.localdomain) 6> alter rep RORA_1, extseqno 000000, extrba 2360
REPLICAT altered.

GGSCI (localhost.localdomain) 25> start RORA_1

Sending START request to MANAGER ...
REPLICAT RORA_1 starting

 

这这里的000000对应文件pa000000,2360是发生错误RBA的下一个RBA

 

说明:

1.若是不知道具体那个rba可以直接跳过事物:

start rep repep skiptransaction

2.如果需要重新应用这些数据,需要在启动replicat时,加上NOFILTERDUPTRANSACTIONS

alter rep repep, extseqno 000000000, extrba 54801
start replicat repep nofilterduptransactions

原文地址:https://www.cnblogs.com/hxlasky/p/10261206.html