ogg怎样跳过一个事务继续往下同步

示例:

复制进程停止,view report进程名报错提示:

2023-06-13 11:20:22  WARNING OGG-01003  Repositioning to rba 385212904 in seqno 1. 

SQL error 2291 mapping EOM.F_UPLOAD_DETAIL to EOM.F_UPLOAD_DETAIL OCI Error ORA-02291: integrity constraint (EOM.FK_F_UPLOAD_REFERENCE_F_UPLOAD) violated - parent key not found (status = 2291). INSERT INTO "EOM"."F_UPLOAD_DETAIL" (

"FID_NO","FILE_NAME","FILE_TYPE","FILE_PATH","UPLOAD_DATE","UPLOAD_USER","FILE_INNAME","STEP_NO","FILE_TYPE_SORT","TYPE_NO","RECT_TYPE","ASSET_NO") VALUES (:a0,:a1,:a2,:a3,:a4,:a5,:a6,:a7,:a8,:a9,:a10,:a11).

这里想通过跳过这个事务,紧急恢复业务。

1.确定seqno和rba

view report里报错说的位置是不准确的,具体需要看discard file里指定的rpt文件里的号。

先通过view param 进程名查看discard file路径,这里是/dirrpt/rep_MI.dsc

然后查看下这个文件:

cat ./dirrpt/rep_MI.dsc

记录seqno和rba号:

Aborting transaction on ./dirdat/database/mi beginning at seqno 1 rba 385273105

                         error at seqno 1 rba 385273105

2.使用logdump查看下个位置对应的rba

2.1 使用info all确定要打开的文件名

2.2 使用logdump查看下个位置对应的rba

2.3 跳过该事务

alter  replicat 进程名 extseqno seqno extrba 要跳过的RBA位置(执行第2n获得的rba值)

示例:

alter replicat rep_mi extseqno 1 extrba 385273433

2.4 启动进程

start rep_mi

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值