讲师中心 微信公众号
AI工具推荐 视频效率加速

如何配置Oracle 12c Far Sync实例以减少异地容灾的延迟?

胖静同学_4776

胖静同学_4776

发布时间:2026-07-04 10:31:22

|

788人浏览过

|

来源于php中文网

原创

Far Sync通过分离主库与远端备库的同步路径来规避高延迟,而非降低延迟;其必须无数据文件、仅含控制文件/SPFILE/密码文件/备用日志,且主库归档目标须指向Far Sync的SCAN并启用SYNC AFFIRM,Far Sync至备库必须ASYNC并开启STANDBY_FILE_MANAGEMENT=AUTO。

far sync 不能“减少延迟”,它绕过延迟——主库只和它同步,不和远端备库直接同步。 这是关键前提。强行让主库直连百公里外的备库走 lgwr sync,事务会卡死在 net_timeout 上;far sync 的价值在于把“高延迟链路”从主库路径里切出去,换成两条低延迟链路(主→far sync、far sync→备库)。

Far Sync 实例必须没有数据文件,否则就不是 Far Sync

这是最容易被误操作的点:有人用 DUPLICATE TARGET DATABASE FOR STANDBY 创建 Far Sync,结果生成了完整数据库(含 SYSTEM、SYSAUX 等数据文件),后续会报 ORA-16778 或启动失败。Far Sync 只能有:

  • CONTROLFILE(用 ALTER DATABASE CREATE FAR SYNC INSTANCE CONTROLFILE AS '/path/to/fs.ctl' 创建)
  • SPFILE 或 PFILE(必须含 FAR_SYNC=TRUE)
  • STANDBY REDO LOG(至少比在线日志多一组,如主库有 3 组,则 Far Sync 至少配 4 组)
  • PASSWORD FILE(必须复制自主库,且所有节点 REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE)

任何数据文件、临时表空间、undo 表空间的存在,都会导致实例无法以 MOUNT 状态启动,或在 DG Broker 中显示为 INVALID。

主库 LOG_ARCHIVE_DEST_n 必须指向 Far Sync 的 SCAN 名,且启用 SYNC AFFIRM

如果写成单节点 VIP 或主机名,DG Broker 在 Failover 后会因 SCAN 切换而断连;AFFIRM 是强制 Far Sync 将 redo 写入磁盘才返回 ACK,缺它等于白配 SYNC。

典型配置(主库执行):

QuantOracle
QuantOracle

63个确定性量化金融计算器 + 10个通过MCP的复合工作流。期权定价、Greeks、奇异衍生品、风险指标、投资组合优化……

下载
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2 = 'SERVICE=fsync-scan SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=fsync01' SCOPE=BOTH;

注意三点:

  • SERVICE 值必须解析到 Far Sync 集群的 SCAN VIP(不是某节点的 VIP)
  • DB_UNIQUE_NAME 必须与 Far Sync 的实际 DB_UNIQUE_NAME 完全一致,且已加入主库的 LOG_ARCHIVE_CONFIG
  • 不能漏掉 VALID_FOR,否则 DG Broker 无法识别该路径在主库角色下的有效性

Far Sync 到备库必须用 ASYNC,且备库需开启 STANDBY_FILE_MANAGEMENT=AUTO

Far Sync 本身不应用日志,只转发;它到备库的链路若也设 SYNC,等于把延迟又加回去了,违背设计初衷。但这里有个隐性陷阱:

  • Far Sync 转发用的是自己的 LNS 进程,不是主库的——所以备库的 LOG_ARCHIVE_DEST_1(接收 Far Sync 日志)必须配置 ASYNC,且 VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE)
  • 主库新增表空间/数据文件时,Far Sync 不感知,但备库必须自动创建——否则 ALTER DATABASE RECOVER MANAGED STANDBY DATABASE 会报 ORA-16401
  • 备库的 STANDBY_FILE_MANAGEMENT=AUTO 必须显式开启,不能依赖默认值(某些版本默认为 MANUAL)

真正难调的不是命令怎么敲,而是网络抖动下 NET_TIMEOUT 和 REOPEN 的组合策略——主库到 Far Sync 的链路一旦超时,LGWR 会中断事务,但 Far Sync 自身无业务,它不关心重试节奏;这个窗口期里主库的可用性完全取决于你设的 NET_TIMEOUT 和底层网络稳定性,而不是 DG 配置本身。

热门AI工具

更多
超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

相关专题

更多
oracle清空表数据
oracle清空表数据

当表中的数据不需要时,则应该删除该数据并释放所占用的空间。本专题为大家提供oracle清空表数据的相关文章,帮助大家解决该问题。

1001

2023.08.16

Oracle中declare的使用
Oracle中declare的使用

Oracle DECLARE语句是PL/SQL编程语言中用于声明变量、常量、游标或异常的关键字。它的主要作用是在程序中定义这些对象,以便在后续的代码中使用。DECLARE语句的语法简单明了,可以根据需要声明多个对象。通过使用这些声明的对象,可以进行各种操作,如计算、查询数据库、处理异常等 。

2933

2023.09.15

oracle怎么分页
oracle怎么分页

实现分页的步骤:1、使用ROWNUM进行分页查询;2、在执行查询之前进行设置分页参数;3、使用"COUNT(*)"函数来获取总行数,并使用"CEIL"函数来向上取整计算总页数;4、在外部查询中使用"WHERE"子句来筛选出特定的行号范围,以实现分页查询。想了解更多oracle怎么分页的文章,可以来阅读本专题先的文章。

2930

2023.09.18

Oracle查看表操作历史记录
Oracle查看表操作历史记录

查看操作历史记录的方法:1、使用Oracle内置的审计功能,可以记录数据库中发生的各种操作,包括登录、DDL语句、DML语句等;2、使用Oracle日志文件,其中包含了数据库中发生的各种操作,可以通过查看日志文件来获取操作历史记录;3、使用Oracle的Flashback功能,可以查看数据库在某个时间点的操作历史记录;4、使用第三方工具等。本专题还提供其他查看表操作的文章,大家可以免费阅读。

1669

2023.09.19

Oracle中RAC的用法
Oracle中RAC的用法

Oracle中RAC的用法:1、通过在多个服务器上运行数据库实例来提供高可用性;2、允许在需要时增加或减少节点数量;3、通过将工作负载分布到多个节点上来实现负载均衡;4、使用共享存储来实现多个节点之间的数据共享;5、允许多个节点同时处理数据库请求,从而实现并行处理;6、提供了透明故障切换功能;7、使用了一些技术来确保数据的一致性;8、提供了管理工具来简化RAC环境的管理和维护。本专题还提供RAC相关的其他文章,大家可以免费阅读。

2293

2023.09.19

oracle imp
oracle imp

imp是Oracle数据库中的一个命令行工具,用于将导出的数据和对象从一个数据库实例导入到另一个数据库实例。imp命令的一般语法为“imp username/password@connect_string file=file_name [options]”。

3109

2023.09.19

常用的数据库软件
常用的数据库软件

常用的数据库软件有MySQL、Oracle、SQL Server、PostgreSQL、MongoDB、Redis、Cassandra、Hadoop、Spark和Amazon DynamoDB。更多关于数据库软件的内容详情请看本专题下面的文章。php中文网欢迎大家前来学习。

4569

2023.11.02

oracle通配符有哪些
oracle通配符有哪些

oracle通配符有“%”、“_”、“[]”和“[^]"。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

237

2023.11.08

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

0

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn