Oracle GoldenGate 简介 数据库同步 异地复制方案

OracleGoldenGate介绍

GoldenGateTDM(交易数据管理)软件是一种基于日志的结构化数据复制软件,它通过解析源数据库在线日志或归档日志获得数据的增删改变化,再将这些变化应用到目标数据库,实现源数据库与目标数据库同步、双活。GoldenGateTDM 软件可以在异构的IT基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒一级的实时复制,其复制过程简图如下:

如上图所示,GoldenGate TDM的数据复制过程如下:

1

利用捕捉进程(Capture Process)在源系统端读取OnlineRedo Log或Archive Log,然后进行解析,只提取其中数据的变化如增、删、改操作,并将相关信息转换为GoldenGateTDM自定义的中间格式存放在队列文件中。再利用传送进程将队列文件通过TCP/IP传送到目标系统。捕捉进程在每次读完log中的数据变化并在数据传送到目标系统后,会写检查点,记录当前完成捕捉的log位置,检查点的存在可以使捕捉进程在中止并恢复后可从检查点位置继续复制;

2

目标系统接受数据变化并缓存到GoldenGate TDM队列当中,队列为一系列临时存储数据变化的文件,等待投递进程读取数据;

3

GoldenGate TDM投递进程从队列中读取数据变化并创建对应的SQL语句,通过数据库的本地接口执行,提交到数据库成功后更新自己的检查点,记录已经完成复制的位置,数据的复制过程最终完成。

由此可见,GoldenGate TDM是一种基于软件的数据复制方式,它从数据库的日志解析数据的变化(数据量只有日志的四分之一左右)。GoldenGateTDM将数据变化转化为自己的格式,直接通过TCP/IP网络传输,无需依赖于数据库自身的传递方式,而且可以通过高达9:1的压缩率对数据进行压缩,可以大大降低带宽需求。在目标端,GoldenGateTDM可以通过交易重组,分批加载等技术手段大大加快数据投递的速度和效率,降低目标系统的资源占用,可以在亚秒级实现大量数据的复制,并且目标端数据库是活动的

GoldenGate TDM提供了灵活的应用方案,基于其先进、灵活的技术架构可以根据用户需求组成各种拓扑结构,如图所示:

GoldenGateTDM 可以提供可靠的数据复制,主要体现在下面三点:

保证事务一致性

GoldenGateTDM 在灾备数据库应用复制数据库交易的顺序与在生产中心数据库上的顺序相同,并且按照相同的事务环境提交,确保在目标系统上数据的完整性和读一致性,为实时查询和事务处理创造了条件。

检查点机制保障数据无丢失

GoldenGate TDM的抽取和复制进程使用检查点机制记录完成复制的位置。对于抽取进程,其检查点记录当前已经抽取日志的位置和写队列文件的位置;对于投递进程,其检查点记录当前读取队列文件的位置。检查点机制可以保证在系统、网络或GoldenGate TDM进程故障重启后数据无丢失。

可靠的数据传输机制

GoldenGateTDM 用应答机制传输交易数据,只有在得到确认消息后才认为数据传输完成,否则将自动重新传输数据,从而保证了抽取出的所有数据都能发送到备份端。数据传输过程中支持128位加密和数据压缩功能。

Oracle 公司的GoldenGate产品,可以在异构的IT基础结构之间实现大量数据的秒一级的数据捕捉、转换和投递。GoldenGate可以支持几乎所有常用操作系统如和数据库平台,如下表所示:


操作系统


数据库


MS NT, 2000, XP, Linux, Sun Solaris,  HP-UX, IBM AIX, HP NonStop, TRU64, IBM z/OS,OS/390


Oracle, DB2, MS SQL Server, MySQL,  Enscribe, SQL/MP, SQL/MX, Sybase, Teradata, 其他ODBC 兼容数据库

时间: 2024-10-10 10:16:05

Oracle GoldenGate 简介 数据库同步 异地复制方案的相关文章

为Oracle GoldenGate准备数据库

了解如何为Oracle GoldenGate准备数据库,包括如何配置连接和日志记录,如何在数据库中启用Oracle GoldenGate,如何设置闪回查询以及如何管理服务器资源. 为集成进程配置连接 配置日志记录属性 在数据库中启用Oracle GoldenGate 设置闪回查询 管理服务器资源 2.1 为集成进程配置连接 如果您将使用集成捕获和集成Replicat,则每个都需要tnsnames.ora文件中的专用服务器连接.当您配置这些进程时,您可以指示进程在Extract and Repli

mysql数据库多源复制方案

概述 由于目前生产环境的mysql数据库分布在两台服务器,若从单一主从来看,配置很简单,但是需要将两台服务器的数据库同步到一台从库上面,需要进行更多配置和注意事项.多源复制有两种方案,Binlog+Position和GTID,我们采用的是第一种方案Binlog+Position进行的多源复制. 安装mysql 在从库的服务器上安装mysql-5.7版本的,目前只有mysql5.7以上的版本才支持多源复制. 配置mysql 1.配置两台master的mysql 在my.cnf配置文件中增加或修改以

使用 Oracle GoldenGate 在 Microsoft SQL Server 和 Oracle Database 之间复制事务

使用 Oracle GoldenGate 在 Microsoft SQL Server 和 Oracle Database 之间复制事务 作者:Nikolay Manchev 分步构建一个跨这些平台的简单事务复制示例. 2011 年 8 月发布 大多数关注数据复制的 Oracle 技术专家都熟悉 Oracle Streams.在 2009 年之前,Streams 一直是推荐使用的最流行的 Oracle 数据分发技术. 2009 年 7 月,Oracle 收购了 GoldenGate 这一数据库复

Mysql数据库主从同步(复制)热备份

随着大数据的发展,数据的安全问题日益凸显,往常不被重视的数据库维护变得必不可缺,数据的灾备变成个各大企业/个人站长业务运行中必须重视的环节.上一篇文章提到了自动化备份避灾的几种方案及选择,今天就来实践一下主从/双向异地热备份方案. Mysql数据库同步(复制)的概念,主从同步使得数据可以从一个服务器无缝迁移复制到另一台服务器.这个过程中一台服务器充当主服务器(master),另一台或另外多台充当从服务器(slave).复制进程I/O是异步进行的,所以服务器不需要一直保持关联的状态. Mysql数

oracle goldengate 远程捕获和投递

很早之前,OGG只支持部署在数据库主机上,这叫本地化部署.而现在OGG支持远端部署,即OGG软件不安装在数据库主机上,而是安装在单独的机器上,负责数据抽取和投递. 这样做的好处: l 易于管理 - 在单独的服务器上运行Oracle GoldenGate时,您可以更好的管理OGG,降低对生产数据库的影响,比如硬件升级升级,性能调整,软件修补和升级等操作变得更易于管理,风险更低.另一方面,从长远来看,您需要集中管理来监督所有复制操作,将Oracle GoldenGate安装与数据库服务器进行混合,使

Global Azure SQL Server Database异地复制配置介绍

近期写了很多关于Azure的相关文章,前几篇介绍了VPN的相关配置,今天就说说Azure上的SQL Server相关的配置信息:今天呢,我们主要介绍的是在Global Azure上配置数据库的异地复制功能,通过了解,在Azure上启用异地复制的工作原理很我们平常对SQL Server的异地复制备份是有差别的,在Azure 上配置完SQL 异地复制后,在异地是无法连接到服务器的,而且也是无法打开备份数据的,最为重要的一点是,在Azure上无法演练SQL异地复制的整个效果的,当然我们也不能质疑Azu

配置Goldengate从Oracle到PostgreSQL的同步复制

1.平台环境 Oracle:rhel6.7+Oracle11.2.0.4  ip:192.168.56.2 PostgreSQL:rhel7.2+Pg9.6.1  ip:192.168.56.25 Goldengate:Goldengate12.2.0.1 for oracle和Goldengate 12.2.0.1 for PostgreSQL 2.Ogg配置 Oracle端: 直接安装goldengate for oracle 11g 配置环境变量 [[email protected] og

Oracle Goldengate数据库复制与容灾项目实施与维护_OGG实战培训

Oracle Goldengate数据库复制与容灾项目实施与维护_OGG实战培训 课程介绍 Oracle视频教程,风哥本套oracle教程培训学习oracle数据库GoldenGate数据复制与容灾项目实施,涉及goldengate版本:OGG 11.2.OGG 12:GoldenGate概念讲解,GoldenGate数据复制与容灾项目实施3个(文件系统1+1,ASM 1+1,RAC*2+FS*1),常用的初始化方式,Goldengate基础功能操作与测试,GoldenGate日常维护与管理,G

MSSQL复制功能实现与Oracle数据库同步

1.分别建立链接对数据库进行操作,SQLServer可以用ADO.NET,操作Oracle可以用OLEDB或者用System.Data.OracleClient(需要添加引用才能用) 这种方案的优点就是简单,各自写各自的数据库操作代码,缺点就是不能将两个数据库中的表直接进行联合查询,链接Oracle的每台机器必须安装OracleClient才可以使用. 2.使用同义词操作Oracle数据库. 这种方法的具体操作我在以前的文章中已经写清楚了,这样做一来可以进行表的联合查询二来不需要每台机器都安装O