转:Oracle GoldenGate学习之Goldengate介绍
转自:http://blog.sina.com.cn/s/blog_a32eff28010136d9.html
日志或归档日志获得数据的增删改变化,再将这些变化应用到目标数据库,实现源数据库与目标数据库同步、双活。GoldenGate TDM 软件能够在异构的IT基础结构(包含差点儿全部经常使用操作系统平台和数据库平台)之间实现大量数据亚秒一级的实时复制。其复制过程简图例如以下:
如上图所看到的,GoldenGate TDM的数据复制步骤例如以下:
利用捕捉进程(Capture Process)在源系统端读取Online Redo Log或Archive Log。然后进行解析,仅仅提取当中数据的变化如增、删、改操作,并将相关信息转换为GoldenGate TDM自己定义的中间格式存放在队列文件里。再利用传送进程将队列文件通过TCP/IP传送到目标系统。捕捉进程在每次读完log中的数据变化并在数据传送到目标系统后,会写检查点,记录当前完毕捕捉的log位置,检查点的存在能够使捕捉进程在中止并恢复后可从检查点位置继续复制;
目标系统接受数据变化并缓存到GoldenGate TDM队列其中。队列为一系列暂时存储数据变化的文件,等待投递进程读取数据;
GoldenGate TDM投递进程从队列中读取数据变化并创建相应的SQL语句,通过数据库的本地接口运行,提交到数据库成功后更新自己的检查点。记录已经完毕复制的位置,数据的复制过程终于完毕。
由此可见,GoldenGate TDM是一种基于软件的数据复制方式,它从数据库的日志解析数据的变化(数据量仅仅有日志的四分之中的一个左右)。GoldenGate TDM将数据变化转化为自己的格式,直接通过TCP/IP网络传输,无需依赖于数据库自身的传递方式,并且能够通过高达9:1的压缩率对数据进行压缩,能够大大减少带宽需求。
在目标端,GoldenGate TDM能够通过交易重组,分批载入等技术手段大大加快数据投递的速度和效率。减少目标系统的资源占用。能够在亚秒级实现大量数据的复制,并且目标端数据库是活动的
GoldenGate TDM提供了灵活的应用方案,基于其先进、灵活的技术架构能够依据用户需求组成各种拓扑结构,如图所看到的:
GoldenGate TDM 能够提供可靠的数据复制,主要体如今以下三点:
保证事务一致性
GoldenGate TDM 在灾备数据库应用复制数据库交易的顺序与在生产中心数据库上的顺序同样,而且依照同样的事务环境提交,确保在目标系统上数据的完整性和读一致性,为实时查询和事务处理创造了条件。
检查点机制保障数据无丢失
GoldenGate TDM的抽取和复制进程使用检查点机制记录完毕复制的位置。对于抽取进程,其检查点记录当前已经抽取日志的位置和写队列文件的位置;对于投递进程。其检查点记录当前读取队列文件的位置。检查点机制能够保证在系统、网络或GoldenGate TDM进程故障重新启动后数据无丢失。
可靠的传输数据机制
GoldenGate TDM 用应答机制传输交易数据,仅仅有在得到确认消息后才觉得传输数据完毕,否则将自己主动又一次传输数据。从而保证了抽取出的全部数据都能发送到备份端。传输数据过程中支持128位加密和数据压缩功能。
GoldenGate TDM 能够提供可靠的数据复制。主要体如今以下三点:
保证事务一致性
GoldenGate TDM 在灾备数据库应用复制数据库交易的顺序与在生产中心数据库上的顺序同样,而且依照同样的事务环境提交,确保在目标系统上数据的完整性和读一致性,为实时查询和事务处理创造了条件。
检查点机制保障数据无丢失
GoldenGate TDM的抽取和复制进程使用检查点机制记录完毕复制的位置。
对于抽取进程,其检查点记录当前已经抽取日志的位置和写队列文件的位置;对于投递进程,其检查点记录当前读取队列文件的位置。检查点机制能够保证在系统、网络或GoldenGate TDM进程故障重新启动后数据无丢失。
可靠的传输数据机制
GoldenGate TDM 用应答机制传输交易数据,仅仅有在得到确认消息后才觉得传输数据完毕,否则将自己主动又一次传输数据,从而保证了抽取出的全部数据都能发送到备份端。
传输数据过程中支持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 兼容数据库 |
转:Oracle GoldenGate学习之Goldengate介绍的更多相关文章
- Oracle GoldenGate学习之Goldengate介绍
Oracle GoldenGate学习之Goldengate介绍 (2012-10-02 17:07:27) 标签: 检查点 数据传输 队列 进程 分类: Goldengate Goldengate介 ...
- Oracle Database 11g Express Editon介绍及安装
一.Oracle Database 11g Express版本介绍 公司项目开发中,使用的数据库是Oracle 10g和MySQL 5.5,最新因为开发需要,需要从后台读取一些数据.使用的客户端是PL ...
- Asp.Net MVC4 + Oracle + EasyUI 学习 序章
Asp.Net MVC4 + Oracle + EasyUI 序章 -- 新建微软实例 本文链接:http://www.cnblogs.com/likeli/p/4233387.html 1. 简 ...
- 人工智能深度学习Caffe框架介绍,优秀的深度学习架构
人工智能深度学习Caffe框架介绍,优秀的深度学习架构 在深度学习领域,Caffe框架是人们无法绕过的一座山.这不仅是因为它无论在结构.性能上,还是在代码质量上,都称得上一款十分出色的开源框架.更重要 ...
- 数据库事务隔离级ORACLE数据库事务隔离级别介绍
本文系转载,原文地址:http://singo107.iteye.com/blog/1175084 数据库事务的隔离级别有4个,由低到高依次为Read uncommitted.Read committ ...
- iOS学习之NSBundle介绍和使用
iOS学习之NSBundle介绍和使用 http://blog.csdn.net/totogo2010/article/details/7672271 新建一个Single View Applicat ...
- Oracle RAC学习笔记:基本概念及入门
Oracle RAC学习笔记:基本概念及入门 2010年04月19日 10:39 来源:书童的博客 作者:书童 编辑:晓熊 [技术开发 技术文章] oracle 10g real applica ...
- ASP.NET Core Web开发学习笔记-1介绍篇
ASP.NET Core Web开发学习笔记-1介绍篇 给大家说声报歉,从2012年个人情感破裂的那一天,本人的51CTO,CnBlogs,Csdn,QQ,Weboo就再也没有更新过.踏实的生活(曾辞 ...
- oracle 12c 学习系列(1)–12c初体验
详见原文博客链接地址: oracle 12c 学习系列(1)–12c初体验
随机推荐
- MyEclipse设置默认注释的格式
首先选菜单windows-->preferenceJava-->Code Style-->Code Templates code-->new Java files 然后选中点编 ...
- ListView修改快速滑动的滑块
1:如图 2: ListView加入快速滑动属性 <ListView android:id="@+id/listView" android:layout_width=&quo ...
- 基于Intent实现Activity与Activity之间的数据传递,实现二个Activity的跳转功能
在讲参数传递之前,先讲下intent的定义: Intent intent = new Intent(MainActivity.this,SecondActivity.class); //这是显式定义 ...
- 记我安装Caffe的血泪史(1)
Caffe的安装我主要参考的是这篇博客 http://blog.csdn.net/ubunfans/article/details/47724341 按照他的方法我很快就安好了cuda8(为后面安装了 ...
- 使用QT的一些小Tipster
1.在使用Qt Creator编程时,难免会用到将float类型转换为QString类型的方法:原文 1.1. 将QString类型转化为float类型,很简单 QString data; ...
- Xcode8 NSLog打印json不完整的解决方案
解决方案:自定义宏,通过fprintf函数打印log,完美解决! #ifdef DEBUG #define NSLog(FORMAT, ...) fprintf(stderr, "%s:%z ...
- openlayers5学习笔记-001
tmp.initPoint = function (items) { //初始化所有农户点坐标,聚合 var count = items.length; var features = new Arra ...
- 任务调度开源框架Quartz概述
任务调度开源框架Quartz 几乎每个项目中都用到了自动任务处理功能.所以在任务调度的功能很常用,但是一个好的任务调度程序是一个颇具挑战性的工作.最近用到Quartz这个框架,感觉很好,所以进行学习. ...
- Javascript中的原型链,__proto__和prototype等问题总结
1.js中除了原始数据类型 都是对象. 包括函数也是对象,可能类似于C++函数对象把 应该是通过解释器 进行()操作符重载或其他操作, 用的时候把它当函数用就行 但是实际上本质是一个对象 原型也是一个 ...
- Vue学习之路第十八篇:私有过滤器的使用
1.上篇已经介绍了全局过滤器的使用,“全局”顾名思义就是一次定义处处使用,可以被一个页面里不同的Vue对象所使用,如下代码所示: <body> <div id="app1& ...