昨天下午,logical standby 突然无法apply.数据库报如下错误:
Warning: Apply error received: ORA-26714: User error encountered while applying. Clearing.
*** 2010-03-16 20:04:48.484
knahcapplymain: encountered error=12801
*** 2010-03-16 20:04:48.515
ksedmp: internal or fatal error
ORA-12801: error signaled in parallel query server P004
ORA-01403: no data found
查看数据库,发现如下SQL无法Apply:
update MES.BOARD_BARCODE
set
CURRENT_SEQUENCE = 23
where
BARCODE_NO = ‘A3P0046010' and
CURRENT_SEQUENCE = 22 and
ROWID = 'AAAAAAABPAABNiIAA0'
这是standby的SQL,主库的原SQL应该是:
update MES.BOARD_BARCODE
set
CURRENT_SEQUENCE = CURRENT_SEQUENCE+1
where
BARCODE_NO = ‘A3P0046010'
Google / baidu / metalink均未找到答案,为了尽快恢复应用,备份坏掉的Standby,以备日后研究,重新作Standby.
如果哪位有这方面的经验,恳请不吝提供解决方法!
数据库的版本是10.2.0.3. windows 平台。
补充:
这个问题已经解决。原来是我同事跳过了一个SQL没有执行,导致数据不一致。有几个 table是有主外键关联的。
相关阅读:
ORA-01172、ORA-01151错误处理
ORA-00600 [2662]错误解决
ORA-01078 和 LRM-00109 报错解决方法
ORA-00471 处理方法笔记
ORA-00314,redolog 损坏,或丢失处理方法
ORA-00257 归档日志过大导致无法存储的解决办法