|
|
本帖最后由 Inkcup 于 2026-6-21 13:33 编辑
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
它指定该参数仅当数据库处于 PRIMARY_ROLE(主库角色)时生效,且传输的是 ONLINE_LOGFILES(在线重做日志)。这确保了在主库角色下,配置是有效的。
====================================
VALID_FOR 是 Oracle Data Guard 中非常重要的参数属性,它定义了归档目标在什么角色下、对哪种日志文件类型生效。
关键参数:
1. redo_log_type(重做日志类型)
ONLINE_LOGFILES:只归档在线重做日志(当前正在写入的日志组)
STANDBY_LOGFILES:只归档备用重做日志(从主库接收的实时日志)
ALL_LOGFILES:两种日志都归档
2. database_role(数据库角色)
PRIMARY_ROLE:当数据库是主库时生效
STANDBY_ROLE:当数据库是备库时生效
ALL_ROLES:无论主库还是备库都生效
组合场景详解:
组合 | 含义 | 典型使用场景 | | (ONLINE_LOGFILES, PRIMARY_ROLE) | 主库角色时,归档在线重做日志 | 主库的本地归档、主库向备库发送日志 | | (STANDBY_LOGFILES, PRIMARY_ROLE) | 主库角色时,归档备用日志 | ❌ 极少使用(主库通常不生成备用日志) | | (ALL_LOGFILES, PRIMARY_ROLE) | 主库角色时,归档所有类型日志 | 特殊场景(如需要归档测试产生的备用日志) | | (ONLINE_LOGFILES, STANDBY_ROLE) | 备库角色时,归档在线日志 | 备库的本地归档(切换后成为主库时) | | (STANDBY_LOGFILES, STANDBY_ROLE) | 备库角色时,归档备用日志 | 备库接收并归档主库发送的日志 ⭐ | | (ALL_LOGFILES, STANDBY_ROLE) | 备库角色时,归档所有类型日志 | 备库需要完整归档两种日志的场景 |
|
|