如何处理Data Guard中的主库添加Redo日志组_备库同步添加Standby Redo Log操作

张开发
2026/4/17 1:26:15 15 分钟阅读

分享文章

如何处理Data Guard中的主库添加Redo日志组_备库同步添加Standby Redo Log操作
Oracle Data Guard中备库不会自动同步主库新增的Online Redo Log组必须手动添加大小≥主库最大日志、数量≥主库组数1且匹配THREAD的Standby Redo LogSRL否则切换或应用会失败。主库加 ALTER DATABASE ADD LOGFILE 后备库不自动同步 SRLoracle data guard 不会自动在备库创建 standby redo logsrl哪怕主库刚加了新 online redo log 组。这是设计使然不是 bug。备库必须手动添加 srl否则切换或重做应用可能卡在“waiting for archive log”或报 ora-00313、ora-00312 错误。实操建议主库执行 ALTER DATABASE ADD LOGFILE GROUP 4 (/u01/oradata/ORCL/redo04a.log) SIZE 200M; 后立刻查备库是否已有对应数量的 SRL —— 通常没有备库上不能用 ALTER DATABASE ADD STANDBY LOGFILE 直接照搬主库路径尤其 RAC 或 ASM 环境路径不一致优先用 V$LOGFILE 和 V$STANDBY_LOG 对比组数SRL 组数应 ≥ Online Redo Log 组数 1官方推荐若备库是物理 standby 且处于 MOUNT 状态可直接添加若已启用了实时应用ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE需先取消恢复再加备库加 SRL 必须匹配主库 Online Redo Log 的 SIZE 和 THREADSRL 大小必须 ≥ 主库对应线程中最大 Online Redo Log 文件尺寸否则日志传输时会报 ORA-16191primary and standby database are not synchronized或归档无法应用。实操建议查主库最大日志尺寸SELECT MAX(BYTES) FROM V$LOG;比如结果是 209715200200MB备库添加时不能写更小值例如 ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 /u01/oradata/ORCL/srl4.log SIZE 100M; 是错的单实例主库默认 THREAD 1RAC 主库若开了多线程备库必须为每个 THREAD 都配够 SRL否则某线程日志无法传递路径名无需和主库一致但需确保 Oracle 进程有读写权限且磁盘空间充足SRL 占用和 Online Redo Log 相当备库已开启实时应用时加 SRL 的安全操作顺序直接在运行中的 MRPManaged Recovery Process下执行 ALTER DATABASE ADD STANDBY LOGFILE 会失败报 ORA-01126database must be mounted in exclusive mode and not open —— 但物理备库正常就是 MOUNT 状态问题出在 MRP 正在跑。 稿定AI 拥有线稿上色优化、图片重绘、人物姿势检测、涂鸦完善等功能

更多文章