导读:本期聚焦于小伙伴创作的《Oracle GoldenGate双向复制配置详解:从环境准备到监控维护全流程指南》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《Oracle GoldenGate双向复制配置详解:从环境准备到监控维护全流程指南》有用,将其分享出去将是对创作者最好的鼓励。

GoldenGate双向复制配置

一、环境准备

  • 两台数据库服务器,分别安装Oracle数据库和GoldenGate软件。
  • 确保两台服务器之间网络互通,并且防火墙开放了GoldenGate相关端口(默认7809)。
  • 数据库已开启归档模式,并且强制日志模式。

二、数据库配置

1. 开启归档和强制日志

在两台数据库服务器上分别执行以下操作:

-- 查看当前归档模式
archive log list;

-- 若未开启归档,需重启数据库到mount状态开启
shutdown immediate;
startup mount;
alter database archivelog;
alter database open;

-- 开启强制日志
alter database force logging;

2. 创建GoldenGate用户并授权

在两台数据库上创建专用用户并授予必要权限:

-- 创建用户
create user ggate identified by ggate default tablespace users temporary tablespace temp;

-- 授予权限
grant connect, resource, dba to ggate;
grant select any dictionary to ggate;
grant alter any table to ggate;
grant flashback any table to ggate;
grant execute on dbms_flashback to ggate;

3. 启用补充日志

在两台数据库上执行:

alter database add supplemental log data (all) columns;
alter system switch logfile;

三、GoldenGate Manager进程配置

1. 源端Manager配置(Server A)

编辑mgr.prm文件:

PORT 7809
DYNAMICPORTLIST 7810-7820
AUTOSTART ER *
AUTORESTART ER *, RETRIES 5, WAITMINUTES 3
PURGEOLDEXTRACTS ./dirdat/*, USECHECKPOINTS, MINKEEPDAYS 7
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45

2. 目标端Manager配置(Server B)

配置与源端类似,确保端口不冲突:

PORT 7909
DYNAMICPORTLIST 7910-7920
AUTOSTART ER *
AUTORESTART ER *, RETRIES 5, WAITMINUTES 3
PURGEOLDEXTRACTS ./dirdat/*, USECHECKPOINTS, MINKEEPDAYS 7
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45

3. 启动Manager进程

在两台服务器上分别启动:

./ggsci
GGSCI> start mgr
GGSCI> info all

四、Extract进程配置(数据抽取)

1. Server A Extract配置(抽取本地数据)

编辑ext_a.prm:

EXTRACT ext_a
SETENV (ORACLE_SID=orcl)
USERID ggate, PASSWORD ggate
EXTTRAIL ./dirdat/aa
TABLE schema_name.table_name;

2. Server B Extract配置(抽取本地数据)

编辑ext_b.prm:

EXTRACT ext_b
SETENV (ORACLE_SID=orcl)
USERID ggate, PASSWORD ggate
EXTTRAIL ./dirdat/bb
TABLE schema_name.table_name;

3. 添加Extract进程

在各自服务器上添加并启动:

-- Server A
ADD EXTRACT ext_a, TRANLOG, BEGIN NOW
ADD EXTTRAIL ./dirdat/aa, EXTRACT ext_a

-- Server B
ADD EXTRACT ext_b, TRANLOG, BEGIN NOW
ADD EXTTRAIL ./dirdat/bb, EXTRACT ext_b

START EXTRACT ext_a
START EXTRACT ext_b

五、Pump进程配置(数据传输)

1. Server A Pump配置(发送到Server B)

编辑pump_a.prm:

EXTRACT pump_a
RMTHOST Server_B_IP, MGRPORT 7909
RMTTRAIL ./dirdat/bb
TABLE schema_name.table_name;

2. Server B Pump配置(发送到Server A)

编辑pump_b.prm:

EXTRACT pump_b
RMTHOST Server_A_IP, MGRPORT 7809
RMTTRAIL ./dirdat/aa
TABLE schema_name.table_name;

3. 添加Pump进程

在各自服务器上添加并启动:

-- Server A
ADD EXTRACT pump_a, EXTTRAILSOURCE ./dirdat/aa
ADD RMTTRAIL ./dirdat/bb, EXTRACT pump_a

-- Server B
ADD EXTRACT pump_b, EXTTRAILSOURCE ./dirdat/bb
ADD RMTTRAIL ./dirdat/aa, EXTRACT pump_b

START EXTRACT pump_a
START EXTRACT pump_b

六、Replicat进程配置(数据应用)

1. Server B Replicat配置(应用来自Server A的数据)

编辑rep_b.prm:

REPLICAT rep_b
SETENV (ORACLE_SID=orcl)
USERID ggate, PASSWORD ggate
ASSUMETARGETDEFS
HANDLECOLLISIONS
MAP schema_name.table_name, TARGET schema_name.table_name;

2. Server A Replicat配置(应用来自Server B的数据)

编辑rep_a.prm:

REPLICAT rep_a
SETENV (ORACLE_SID=orcl)
USERID ggate, PASSWORD ggate
ASSUMETARGETDEFS
HANDLECOLLISIONS
MAP schema_name.table_name, TARGET schema_name.table_name;

3. 添加Replicat进程

在各自服务器上添加并启动:

-- Server B
ADD REPLICAT rep_b, EXTTRAIL ./dirdat/aa, CHECKPOINTTABLE ggate.checkpoint

-- Server A
ADD REPLICAT rep_a, EXTTRAIL ./dirdat/bb, CHECKPOINTTABLE ggate.checkpoint

START REPLICAT rep_b
START REPLICAT rep_a

七、双向复制冲突解决

  • 采用基于时间戳的冲突检测机制。
  • 在业务层面尽量避免同时修改同一行数据。
  • 设置合理的延迟阈值,及时发现并处理冲突。

八、监控与维护

  • 定期检查GoldenGate进程状态:info all。
  • 监控日志文件,查看是否有错误信息。
  • 定期备份GoldenGate配置文件和数据。

GoldenGate双向复制Oracle数据同步高可用配置数据库容灾实时数据集成

免责声明:已尽一切努力确保本网站所含信息的准确性。网站部分内容来源于网络或由用户自行发表,内容观点不代表本站立场。本站是个人网站免费分享,内容仅供个人学习、研究或参考使用,如内容中引用了第三方作品,其版权归原作者所有。若内容触犯了您的权益,请联系我们进行处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。前端、网络、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握网站开发与运维所需的核心技术栈。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端逻辑,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。