Oracle 12c备库日志应用延迟,如何检测Recovery与LGWR进程异常?

2026-05-06 19:430阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计995个文字,预计阅读时间需要4分钟。

Oracle 12c备库日志应用延迟,如何检测Recovery与LGWR进程异常?

相关专题:

备库没在实时应用日志,90% 是 mrp 没真跑起来,或 lgwr 传输根本没发出去——别只看进程名,得查状态、查路径、查归档缺口。

查 v$managed_standby 确认 MRP 是否真在 APPLYING_LOG

MRP 进程名存在 ≠ 在干活。它可能卡在 WAIT_FOR_LOG 或静默 halt,表面看是“运行中”,实际已停摆。

  • 执行 SELECT process, status, sequence# FROM v$managed_standby WHERE process = 'MRP0';,status 必须是 APPLYING_LOG 才算有效工作;若为 WAIT_FOR_LOG,大概率是遇到 UNNAMED 数据文件(ORA-01111)或控制文件不一致
  • 若返回空行,说明 MRP 根本没启动:检查是否执行过 ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;
  • 别信 ps aux | grep mrp —— 进程可能残留但内部已退出,v$managed_standby 才是唯一可信来源

查 v$archive_dest_status 判断 LGWR 传输是否卡在主库

主库侧的传输失败,备库连日志影子都收不到。重点不是“有没有配”,而是“配对了没、启用了没、连通了没”。

阅读全文
标签:Oracle

本文共计995个文字,预计阅读时间需要4分钟。

Oracle 12c备库日志应用延迟,如何检测Recovery与LGWR进程异常?

相关专题:

备库没在实时应用日志,90% 是 mrp 没真跑起来,或 lgwr 传输根本没发出去——别只看进程名,得查状态、查路径、查归档缺口。

查 v$managed_standby 确认 MRP 是否真在 APPLYING_LOG

MRP 进程名存在 ≠ 在干活。它可能卡在 WAIT_FOR_LOG 或静默 halt,表面看是“运行中”,实际已停摆。

  • 执行 SELECT process, status, sequence# FROM v$managed_standby WHERE process = 'MRP0';,status 必须是 APPLYING_LOG 才算有效工作;若为 WAIT_FOR_LOG,大概率是遇到 UNNAMED 数据文件(ORA-01111)或控制文件不一致
  • 若返回空行,说明 MRP 根本没启动:检查是否执行过 ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;
  • 别信 ps aux | grep mrp —— 进程可能残留但内部已退出,v$managed_standby 才是唯一可信来源

查 v$archive_dest_status 判断 LGWR 传输是否卡在主库

主库侧的传输失败,备库连日志影子都收不到。重点不是“有没有配”,而是“配对了没、启用了没、连通了没”。

阅读全文
标签:Oracle