goldengate sqlserver mysql_Oracle GoldenGate 将 SQLServer 数据实时同步到 ORACLE

本文介绍了如何使用Oracle GoldenGate在Windows环境下将SQLServer的数据实时同步到ORACLE数据库,详细步骤包括源端和目标端的配置、数据同步原理以及必要的系统条件。通过设置Extract、Data Pump、Replicat等进程,实现数据的高效迁移,确保即使中断也不会影响数据完整性。
摘要由CSDN通过智能技术生成

Oracle GoldenGate  (简称 OGG)使在不同关系型数据库之间能进行实时同步复制可谓非常强大。

OGG 支持 oracle、sql server、mysql、db2、Sybase 等关系数据库直接的数据复制。OGG  这种灵活特性能够支持多种业务场景。如下图:

af73224c1c617fbe0883860f476f4138.png

OGG 实现原理如图:

55925321cbc4176531efea8ac8211377.png

OGG 有几个进程使数据同步或转移:Extract,Data pump,Replicat,Trails or extract files,Checkpoints,Manager,Collector

(更多参考官方文档:Introduction to Oracle GoldenGate)

以下进行一个小测试: Windows 平台利用 GoldenGate 同步 SQLServer 到 ORACLE

OGG 同步sql server 原理: 启用 Extract 进程后,sql server 中数据库及表将启用 变更数据捕获(CDC),并读取相关日志中表的日志信息。本例中使用的是 pump 进程传输同步文件记录,这样Extract进程读取出来的记录都保存到文件夹 dirdat 中,保证即使中断也不会影响到数据库截断。(否则:Oracle GoldenGate For SQL Server 未提交事务导致MSSQL日志不截断)

服务器信息:

源端:   192.168.1.123服务器: windows server 2008 x64    数据库: MSSQL 2008 R2

目标端: 192.168.1.89 服务器: windows server 2008 x64    数据库: ORACLE oracle 11g.2.0.4.0

GoldenGate下载地址:

http://www.oracle.com/technetwork/cn/middleware/goldengate/downloads/index.html

https://edelivery.oracle.com/osdc/faces/SearchSoftware

本次测试下载的两个 OGG :

ggs_121210_Windows_x64_MSSQL_64bit.zip (解压可用)

适用于 Windows(64 位)上 SQL Server 的 Oracle GoldenGate 12.1.2.1.0 版 (71 MB)

121210_ggs_Windows_x64_shiphome.zip (安装可用)

适用于 Windows(64 位)上 Oracle 的 Oracle GoldenGate 12.1.2.1.0 版 (239 MB)

使用 https://edelivery.oracle.com/osdc/faces/SearchSoftware  下载,参考:

ff4366a46973a386ccccf338ab47d40f.png

ae014c944bf5104731c11870093bc828.png

SQL SERVER 源端重要条件:

企业版:SQL Server Enterprise Edition

启动 SQL Server 代理 (自动)

有权启用:Change Data Capture (CDC)

数据库须为完整回复(FULL)模式

MSSQL端权限:Extract:sysadmin ; REPLICAT:db_owner

当前都使用SQL认证(dblogin ……)

ORACLE 目标端重要条件:

启用归档模式

启用GoldenGate复制

创建用于OGG账户并授予相关权限

/*####################################################################

##  SQL Server源端配置

#####################################################################*/

--创建测试数据

use master

go

CREATE DATABASE Demo

go

use Demo

go

CREATE TABLE [dbo].[tab](

[id] [int] NOT NULL identity(1,1) primary key,

[birthDate] [datetime] NULL,

[age] [int] NULL,

[name] [varchar](50) NULL

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[tab2](

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值