随笔 - 34  文章 - 0  评论 - 3  阅读 - 60688

DG不同步,MRP0进程打不开

    问题描述:主库备库之前正常连接,但是昨天磁盘空间满了之后,由于不知什么原因将备库重做日志删了,今天早上发现DG不同步的报警。

  当时思路如下:1、通过select thread#,low_sequence#,high_sequence# from v$archive_gap; 查看是否有归档没有传到备库上去,当时查询结果为  no rows selected。表示主备库归档日志都是同步的。

         2、然后select sequence#,creator,archived,applied from v$archived_log ;查看备库的日志是不是都有应用到主库上面去。结果如下:

                                       

          原因就是备库的归档日志没有应用到备库上面。然后我使用alter database recover managed standby database disconnect from session.来启动应用日志。但结果就是没有MRP0进程。

          也不能通过alter database recover managed standby database cancel;来取消应用日志,他会报没有恢复备库的错误。

          然后通过查看警告日志。

                                       

          发现是因为重做日志不知道什么时候被删除了。

          然后首先通过alter system set  standby_file_management='manual';将该参数设为手动的。

          通过 ALTER DATABASE RENAME FILE '/u1/oradata/FTNFUSE1/redo01a.log' to '/u1/oradata/FTNFUSE1/redo1a.log';

          现将日志重命名,这样可以在指定的路径生成日志文件,再通过alter database clear logfile group 1,

          将日志组1的状态改为clearing。

          通过select GROUP#,members,BYTES/1024/1024 size_M,STATUS,ARCHIVED from v$log; 查询日志组的状态及大小。

          3、这是重做日志建好了,执行alter system set  standby_file_management='auto'将参数改为自动的。

          然后执行alter database recover managed standby database disconnect from session.打开应用日志,

          通过执行 select process,sequence#,status from v$managed_standby;发现MRP0进程还是没有开启。

          只有又去看警告日志。

                                        

          发现其中一行报的是恢复 Media Recovery Log /u2/arch/1_3775_947332915.dbf 出现错误。

          我想着主库的这个归档文件应该是没问题的,将主库的归档文件拷贝到备库,然后在通过

          alter database recover managed standby database disconnect from session.打开应用日志。

          通过执行 select process,sequence#,status from v$managed_standby查看各个进程是不是正常的。结果正常。

                 

          图中是将归档日志复制过来之后,注册日志的。因为已经注册过了,所以会报这个错误。但是如果这个日志文件是坏的,那么他就会报其他错误,当时忘记截图了。

          select message from v$dataguard_status;也可以查看信息

                    

 

 

 

 

          

posted on   昔日丶芳华  阅读(1257)  评论(1编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示