oracle10g升级到11g之后跨平台ADG遇到ORA-10561错误问题

原来生产环境为windows oracle 10.2.0.5单实例,现在需要迁移到Linux RAC 11.2.0.4,由于数据量比较大,停机时间要很短,这里提供的方案是先将oracle10.2.0.5升级到11.2.0.4,然后再使用ADG的方式,将数据迁移到Linux RAC中

在数据库从10.2.0.5升级到11.2.0.4之后,搭建ADG环境,在duplicate之后,应用日志报错:

ORA-10562: Error occurred while applying redo to data block (file# 5, block# 1916873)
ORA-10564: tablespace TBS_HIS
ORA-01110: data file 5: '/oradata/TBS_HIS.DBF'
ORA-10561: block type 'TRANSACTION MANAGED INDEX BLOCK', data object# 70591
ORA-00600: internal error code, arguments: [6122], [0], [9520], [0], [], [], [], [], [], [], [], []
Fri Jun 24 00:32:48 2022
Recovery Slave PR0C previously exited with exception 10562
Fri Jun 24 00:32:48 2022
Errors with log /home/oracle/archivelog/1_106_1108156359.dbf
MRP0: Background Media Recovery terminated with error 448
Errors in file /u01/app/oracle/diag/rdbms/hisdg/hisdb/trace/hisdb_pr00_216461.trc:
ORA-00448: normal completion of background process
Managed Standby Recovery not using Real Time Apply
Fri Jun 24 00:32:49 2022
Slave exiting with ORA-10562 exception
Errors in file /u01/app/oracle/diag/rdbms/hisdg/hisdb/trace/hisdb_pr02_216465.trc:
ORA-10562: Error occurred while applying redo to data block (file# 3, block# 36243)
ORA-10564: tablespace SYSAUX
ORA-01110: data file 3: '/oradata/SYSAUX01.DBF'
ORA-10561: block type 'TRANSACTION MANAGED INDEX BLOCK', data object# 8858
ORA-00600: internal error code, arguments: [6122], [0], [46852], [0], [], [], [], [], [], [], [], []
Fri Jun 24 00:32:50 2022
Slave exiting with ORA-10562 exception
Errors in file /u01/app/oracle/diag/rdbms/hisdg/hisdb/trace/hisdb_pr06_216473.trc:
ORA-10562: Error occurred while applying redo to data block (file# 3, block# 30637)


 

这个错误其实以前遇到过不少次,意思就是REDO日志和数据文件格式不一致,一般是出现了redo坏块.以前还有一种情况,就是ORACLE 10G如果将数据文件从windows恢复到linux也会报这种错,因为10g的数据库是不支持异构recover的.

但是我的数据库已经升级到11.2.0.4了啊?难道因为这个库是从10g升级上来的就不支持异构了?

这里我们想到,数据文件我duplicate了两次都出现报错,应该不会是数据文件有坏块.那应该就是redo的问题了,尝试重建redo日志还是没有用.

突然我想到,会不会是因为升级之后redo日志的格式还是老的10.2.0.5格式,导致在11.2.0.4数据库下无法应用?

这里我想到了一个数据库版本参数,我们来检查一下主库和备库的参数值,主库:

备库:

果然不一致,这个compatible表示数据库兼容版本,主库为10.2.0.5那么数据库的日志为了兼容10.2.0.5应该就是10.2.0.5的格式,而10.2.0.5是不支持异构的,所以就无法在11.2.0.4 Linux上进行日志应用.

那了解了原因,修改起来就简单了.主库修改这个参数为11.2.0.4.0之后,重启数据库生效即可.

再重新duplicate,确认实时应用恢复.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值