如何配置Data Guard的重做路由Redo Routing_级联备库Cascaded Standby架构

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超级智能客服

相关推荐
oradh15 分钟前
Oracle数据库中的Java概述
java·数据库·oracle·sql基础·oracle数据库java概述
2301_7950997434 分钟前
如何优化SQL中大批量数据的物理删除_分批次与间隔控制
jvm·数据库·python
阿kun要赚马内37 分钟前
后端数据操作组合:Pydantic与ORM
后端·python·orm·sqlalchemy
2301_8125396744 分钟前
CSS如何引入CSS形状生成器_通过自定义属性实现图形化样式
jvm·数据库·python
maxmaxma1 小时前
Claude Code集成DeepSeek-V4-pro全栈开发 - MCP 连接数据库
数据库·ai
lb29171 小时前
navicat连接Oracle报错了:“身份证明检索失败”
数据库·oracle·连接oracle数据库报错
xfhuangfu1 小时前
Oracle 12.2 ORA-600 数据库发生重启案例
数据库·oracle
m0_609160491 小时前
Golang怎么实现数据库连接重试_Golang如何在启动时重试连接直到数据库就绪【技巧】
jvm·数据库·python
罗超驿1 小时前
8.数据库约束学习笔记:从非空、默认、唯一与主键约束到主键自增
数据库·mysql
花米徐2 小时前
技术洞察精选 | 2026年4月28日 — 5月4日
后端·python·flask