GoldenGate进程失败后怎么跳过当前事务

在OGG运行过程中,通常会因为各种各样的原因导致容灾端的REPLICAT进程ABENDED掉,这个时候需要通过分析ggserr.log , DISCARDFILE , REPLICAT REPORT ,以及借助 Logdump 等工具去定位错误。在具体的应用场景下,通过分析排查,有些事务是可以不在容灾端去应用的,下面的例子是今天在生产配置OGG遇到的一个问题。
     由于在同步过程中,从主库传过来的列队中包含创建OGG用户下某张表的一个事务,导致REPLICAT进程ABENDED,经过分析,该表是在主库用于DDL复制的,并不需要在备库应用,确定不会影响数据一致性的前提下决定跳过次事务:

1,定位REPLICAT进程当前事务所在列队文件及RBA:

点击(此处)折叠或打开

  1. GGSCI (sv890n01) 46> info rads_1

  2. REPLICAT RADS_1 Last Started 2012-12-08 16:29 Status ABENDED
  3. Checkpoint Lag 02:23:36 (updated 00:01:38 ago)
  4. Log Read Checkpoint File ./dirdat/pa000002
  5.                      2012-12-08 14:05:51.970013 RBA 77698825

2,由于在列队中相邻两个事务的 RBA 并不是简单的 +1 关系,所以下一步需要定位到下个事务的RBA,在这里需要借助 logdump 工具。
   打开列队文件:

点击(此处)折叠或打开

  1. Logdump 10 >open ./dirdat/pa000002
  2. Current LogTrail is /u01/app/oracle/oradata/ogg/dirdat/pa000002
    定位到指定的RBA位置:

点击(此处)折叠或打开

  1. Logdump 11 >pos 77698825
  2. Reading forward from RBA 77698825
    查看当前事务详细信息,在这里可以看到DDL/DML操作类型,RBA,对象名等一些相关信息:

点击(此处)折叠或打开

  1. Logdump 12 >n
  2. 2012/12/08 14:05:52.970.013 DDLOP Len 1221 RBA 77698825 
  3. Name: 
  4. After Image: Partition 0 G s 
  5. 2c43 353d 2735 3730 3727 2c2c 4237 3d27 3537 3037 | ,C5='5707',,B7='5707 
  6. 272c 2c42 323d 2735 3631 3330 3027 2c2c 4233 3d27 | ',,B2='561300',,B3=' 
  7. 4f47 4727 2c2c 4234 3d27 4442 4d53 5f54 4142 434f | OGG',,B4='DBMS_TABCO 
  8. 4d50 5f54 454d 505f 554e 434d 5027 2c2c 4331 323d | MP_TEMP_UNCMP',,C12= 
  9. 2727 2c2c 4331 333d 2727 2c2c 4235 3d27 5441 424c | '',,C13='',,B5='TABL 
  10. 4527 2c2c 4236 3d27 4452 4f50 272c 2c42 383d 274f | E',,B6='DROP',,B8='O 
  11. 4747 2e47 4753 5f44 444c 5f48 4953 5427 2c2c 4239 | GG.GGS_DDL_HIST',,B9
    查看下一个事务信息:

点击(此处)折叠或打开

  1. Logdump 13 >n
  2. 2012/12/08 14:05:52.970.013 Insert Len 370 RBA 77700210 
  3. Name: DATAGATE.TB_DOWNLOAD_LOG 
  4. After Image: Partition 4 G s 
  5. 0000 0009 0000 0005 7274 7231 3100 0100 0900 0000 | ........rtr11....... 
  6. 0531 3036 3034 0002 001d 0000 0019 5943 3159 3037 | .10604........YC1Y07 
  7. 315f 3132 3939 3537 3833 3534 3932 342e 786d 6c00 | 1_1299578354924.xml. 
  8. 0300 0300 0030 0004 00bf 0000 00bb 6874 7470 3a2f | .....0........http:/ 
  9. 2f64 6174 6167 6174 652e 6368 696e 6162 6f6e 642e | /datagate.chinabond. 
  10. 636f 6d2e 636e 2f64 6174 6167 6174 652f 6469 7370 | com.cn/datagate/disp 
  11. 6174 6368 3f66 756e 635f 6964 3d32 3031 3126 7374 | atch?func_id=2011&st
至此已经定位到下一个事务的RBA。

3,在GGSCI中通过重新指定REPLICAT进程的当前RBA以跳过当前事务

点击(此处)折叠或打开

  1. GGSCI (sv890n01) 47> alter replicat rads_1,extrba 77700210
  2. REPLICAT altered.
  3. GGSCI (sv890n01) 48> start rads_1
  4. Sending START request to MANAGER ...
  5. REPLICAT RADS_1 starting

start replicat rdw01 skiptransaction;
通过这个命令,也能够跳过当前的事务
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值