2020-11-26 ogg inconsistent row image for row 。。。

某一天,ogg 抽取进程产生大量.dsc日志,很快就达到了2G的上限,抽取进程abended。

查看discard文件,发现显示信息如下:

 Inconsistent row image for row in XXXX.table_name

record op = 135 timestamp = 2020-11-26 13:42:15.000000

Oracle ROWID=AAA35UAL3AA09I2AAB

.......

检查这个表正常,但不知道问什么会产生如此大量的告警信息,清空discard文件后,重新启动抽取进程。

到下午5点左右,突然监控告警该服务器oracle警告日志中爆发大量ORA-01555错误,检查告警信息如下:

ORA-01555 caused by SQL statement below (SQL ID: 415z3g9r6r1c7, Query Duration=0 sec, SCN: 0x0006.37709561):
SELECT x."Q_NAME",x."MSGID",x."CORRID",x."PRIORITY",x."STATE"······

但此时抽取和投递进程并没有延迟。停掉抽取进程,该告警消失,一旦启动抽取进程,马上就会爆发该告警。

undo_retention 10800   相当于3个小时,undo表空间700G,也没有用满,怎么会出现01555错误?

检查原因是由于改变频繁的进行插入删除 操作,从快照中抽取的方式可能会导致找不到数据,oracle日志中显示1555错误,实际上没有去undo表空间中查询,

解决方法。

源端ogg抽取进程设置

--fetchoptions nousersnapshot

fetchoptions fetchpkupdatecols 

discardfile ./dirrpt/xxxxx.dsc, append, megabytes 2048

discardrollover at 02:30

说明: 第一行,抽取信息不从快照中抽取。

            第二行, 设定discard文件目录,追加方式,大小为2G

           第三行, 每天2:30清空discard文件。

此时目标段复制进程也发生了abended, 同样是discard文件写满。告警信息如下:

Discard record on fetch result  = INCONSISTENTROW [11] 

(op: 135 table: 'XXXXXX.table' seqno: 6357

应该是源端抽取的信息,同步到目标段之后也同样的报出告警信息。

配置目标端复制进程配置文件:

REPRETCHEDCOLOPTIONS INCONSISTENTROW ignore

discardfile ./dirrpt/xxxxx.dsc, append, megabytes 2048

discardrollover at 02:30

说明: 第一行,复制的时候忽略INCONSISTENTROW信息

            第二行, 设定discard文件目录,追加方式,大小为2G

           第三行, 每天2:30清空discard文件。

 

源端配置文件如何设置?忽略该告警。oracle工程师说不影响抽取和复制,问题是大量的告警谁也受不了啊。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值