Redo Routing 是 Data Guard 在级联备库(Cascaded Standby)场景下自动启用的重做转发机制,即备库B将主库A发来的重做日志原样转发给下游备库C;它依赖B处于MANAGED STANDBY RECOVER模式、网络连通、密码文件一致等前提,且仅支持一级级联。什么是 Redo Routing,它和 Cascaded Standby 什么关系redo routing 不是独立功能,而是 data guard 在级联备库(cascaded standby)场景下自动启用的重做传输行为:主库 a → 备库 b → 备库 c,当 b 同时作为 c 的上游时,b 会把收到的 a 的归档或实时重做流,原样转发给 c。这个"转发动作"就是 redo routing。它默认开启,不需要手动配置 LOG_ARCHIVE_DEST_n 中的 REOPEN 或 ALTERNATE 等复杂参数;但必须满足几个硬性前提:B 必须处于 MANAGED STANDBY RECOVER 模式(即正在应用日志),否则不会转发B 的 LOG_ARCHIVE_DEST_STATE_n 对 C 的目标必须为 ENABLEB 到 C 的网络连通、密码文件一致、DB_UNIQUE_NAME 在 LOG_ARCHIVE_CONFIG 中已声明C 不能是快照备库(Snapshot Standby),否则 B 拒绝向其发送重做如何确认 Redo Routing 实际在工作光看参数不等于生效。最直接的方式是查 B 上的动态视图和归档日志路径:查 VARCHIVE_DEST_STATUS:关注 DESTINATION 是 C 的那行,STATUS 应为 VALID,TRANSMIT_MODE 为 ASYNC 或 SYNC,RECOVERY_MODE 为 MANAGED REAL TIME APPLY(说明 B 正在接收并可能转发)查 VDATAGUARD_STATS:若 NAME = 'transport lag' 和 'apply lag' 都有值,且 C 的 apply lag 明显大于 B 的,说明 B 到 C 的链路存在延迟,Redo Routing 已介入登录 B,执行 ls -lt $ORACLE_HOME/dbs/arch/(或你设的 LOG_ARCHIVE_DEST_2 路径),看是否有刚生成的、目标为 C 的归档(如 1_1234567890_1234567890.arc),再登录 C 查同名文件是否出现常见中断现象和定位命令Redo Routing 中断时,C 往往"静默失联",没有明显报错,只表现为日志不再更新。典型表现和排查顺序如下: MacsMind 电商AI超级智能客服
相关推荐
2401_883600252 小时前
CSS 背景图片无法加载的常见原因与正确写法详解qq_189807032 小时前
mysql如何快速判断两个数据库结构差异_使用mysqldiff工具qq_654366982 小时前
SQL如何优雅地进行多表关联查询_掌握JOIN语法执行逻辑HHHHH1010HHHHH2 小时前
如何强制phpMyAdmin通过HTTPS安全访问_配置ForceSSL参数与Web代理端证书部署解救女汉子2 小时前
如何在Python中正确使用MongoDB事务2301_814809862 小时前
Layui表单提交时如何防止用户重复点击提交按钮qq_413847402 小时前
SQL连接查询中处理NULL值的技巧_利用COALESCE处理JOIN结果m0_734949792 小时前
mysql如何通过Docker快速搭建_mysql容器化部署实践2301_796588502 小时前
Golang怎么处理JSON大数字精度_Golang如何避免前端JavaScript解析大整数丢失精度【避坑】