原理:
nologging 操作指的是不会将诸如插入/更新/删除之类的dml操作记录到重做日志文件中的操作。当未在主库启用 force logging 的情况下,备库的 mrp 如果碰到 nologging 的操作,会把相关的 block 标记为已损坏。而当这样的块被访问的时候,则会报 ora-1578/ora-26040 错误。
因此再次强调
force logging的重要性,赶紧查查自己的dg中主库是否开启了
解决 12.2 中备库 no logging 操作的步骤
-
1、确认受影响的数据块
-
在备库执行
-
select * from v$nonlogged_block ;
-
-
2、在备库停掉恢复的动作
-
alter database recover managed standby database cancel;
-
-
3、使用rman连接至备库来恢复 nologged blocks
-
rman>recover database nonlogged block;
-
-
4、再次执行下面的命令来确认受影响的数据块已都被恢复
-
select * v$nonlogged_block ;
-
阅读(686) | 评论(0) | 转发(0) |