ORA-19909 & ORA-01110

问题

ORA-19909 & ORA-01110_第1张图片

排查思路

备库
ORA-19909 & ORA-01110_第2张图片
主库
ORA-19909 & ORA-01110_第3张图片

Oracle 中的 Incarnation 到底是个什么?

解决方案

将备库置为mount,然后reset database to incarnation 2;
ORA-19909 & ORA-01110_第4张图片
否则会报错
ORA-19909 & ORA-01110_第5张图片

alter database recover managed standby database using current logfile disconnect from session;

ORA-19909 & ORA-01110_第6张图片

另外的问题

不断的kill RFS进程

adrci
show alert

ORA-19909 & ORA-01110_第7张图片
查看进程状态
ORA-19909 & ORA-01110_第8张图片
应用seq 30000+,但是接受的20+,好奇怪
ORA-19909 & ORA-01110_第9张图片
归档时间奇奇怪怪!

备库上还没有恢复的归档量

SELECT SUM(BLOCKS*BLOCK_SIZE)/1024/1024  FROM V$ARCHIVED_LOG WHERE REGISTRAR = 'RFS' AND APPLIED='NO' AND name like '/arc%';

ORA-19909 & ORA-01110_第10张图片
查看scn时间和系统时间
ORA-19909 & ORA-01110_第11张图片
修改系统时间

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
!date -s 时间
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;

还原控制文件

主库控制文件 -> 备库

最终解决方案

原因:主库做过备份恢复,另外一个主库也往备库传数据,因为是同一个库恢复出来的,所以备库认为这些归档也是主库产生的,所以会注册进去。

解决方案:禁用测试库的传输通道, 删除测试库传来的归档!

你可能感兴趣的:(DBA,数据库,oracle)