far sync实例是跨地域同步中解决log file sync等待飙升的刚需配置,需满足网络延迟≤5ms、参数一致、角色切换兼容等硬性条件,且仅能mount不能open。
far sync 实例不是“可选优化项”,而是解决跨地域同步时 log file sync 等待飙升、主库事务卡顿的刚需配置。它不存数据文件,只做日志中转,但必须严格满足网络延迟、参数一致性、角色切换兼容性三重约束。
Far Sync 实例启动前必须确认的 4 个硬性条件
缺一不可,否则实例无法挂载或日志传输中断:
-
db_unique_name必须全局唯一,且不能与主库、备库重名(例如主库是orcl,Far Sync 就不能叫orcl_farsync或orcl) - 控制文件必须由主库显式生成:
ALTER DATABASE CREATE FAR SYNC INSTANCE CONTROLFILE AS '/path/controlfs.ctl';,不能用CREATE CONTROLFILE手动重建 - 密码文件必须用主库的原始密码文件复制后重命名,且文件名必须为
orapw<db_unique_name></db_unique_name>(如orapwFSTOR),orapwd重新生成会失败 - 初始化参数中
LOG_ARCHIVE_CONFIG必须包含所有参与 DG 的DB_UNIQUE_NAME,且主库和 Far Sync 都要配置一致,例如:LOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl,FSTOR,orcldg)'
主库端 LOG_ARCHIVE_DEST_n 配置的关键参数组合
常见错误是把 Far Sync 当成普通备库配 SYNC NOAFFIRM 或漏掉 VALID_FOR,导致日志不发送或角色切换后失效:
- 必须使用
SERVICE=<tns_alias> SYNC AFFIRM</tns_alias>——AFFIRM表示写入磁盘才确认,这是 RPO=0 的前提;NOAFFIRM仅写入内存,Far Sync 崩溃即丢日志 - 必须指定
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE),否则主库切为备库后该路径自动禁用,无法回切 - 建议加
REOPEN=5(单位秒),避免网络抖动触发持续报错ORA-16792 - 示例命令:
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=farsync_tor SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) REOPEN=5';
Far Sync 实例自身不能启用 ADG 功能
Far Sync 是纯中转节点,没有数据文件,因此以下操作会直接报错:
- 执行
ALTER DATABASE OPEN或ALTER DATABASE RECOVER MANAGED STANDBY DATABASE—— 它只能MOUNT,不能OPEN - 配置
STANDBY_FILE_MANAGEMENT=AUTO—— 没有数据文件,此参数无意义且可能干扰日志应用逻辑 - 启用
ADG_REDIRECT_DML或任何 DML 相关参数 —— Far Sync 不处理 SQL,只转发 redo - 检查状态应始终用:
SELECT DATABASE_ROLE, OPEN_MODE FROM V$DATABASE;,返回FAR SYNC和MOUNTED才正确
主库到 Far Sync 的网络延迟必须 ≤ 5ms
这是 Far Sync 能降低主库压力的核心前提。实测中若 RTT > 8ms,log file sync 等待时间反而比直连备库更高:
- 用
sqlplus / as sysdba连接 Far Sync 实例后,运行SELECT * FROM V$DATAGUARD_STATS;,重点关注transport lag和apply lag是否稳定在 0 秒 - 用
tnsping farsync_tor测试 TNS 连通性,但更关键的是用tcping或hping3 -S -p 1521 <ip></ip>测真实 TCP 握手延迟 - 如果同城机房间延迟超标,优先排查交换机 QoS 策略、网卡 offload 设置(如
ethtool -K eth0 gso off tso off),而不是调大REOPEN或降级为ASYNC
Far Sync 最容易被忽略的点是:它对 switchover 透明,但对 failover 后新主库的 Far Sync 配置不自动继承。一旦发生故障切换,必须人工在新主库上补全 LOG_ARCHIVE_DEST_n 指向原 Far Sync 的配置,否则日志链路断裂。这个动作没有自动化脚本兜底,得进应急预案清单。











