OracleGoldengate数据复制产品解决方案介绍议程•GoldenGate整体介绍•GoldenGate工作原理简介•配置OracleGoldenGate•GoldenGate优势和对比前GoldenGate公司简介•创建于1995年,总部在美国旧金山。•数据复制领域的专业公司。•全球超过4,000个安装许可,分布在政府、银行、制造、传媒、电信、证券、医疗和零售等各大行业,其中有多个全球财富500强企业。•与Oracle、IBM、HP、Microsoft、Sybase、Teradata等著名企业建立了紧密合作关系。•2009年7月被Oracle收购。OracleGoldenGate介绍•GoldenGateTDM(交易数据管理)软件是一种基于日志的结构化数据复制软件,它通过解析源数据库在线日志或归档日志获得数据的增删改变化,再将这些变化应用到目标数据库,实现源数据库与目标数据库同步、双活。GoldenGateTDM软件可以在异构的IT基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒一级的实时复制。OracleGoldenGate介绍•GoldenGateTDM可以提供可靠的数据复制,主要体现在下面三点:•保证事务一致性•GoldenGateTDM在灾备数据库应用复制数据库交易的顺序与在生产中心数据库上的顺序相同,并且按照相同的事务环境提交,确保在目标系统上数据的完整性和读一致性,为实时查询和事务处理创造了条件。•检查点机制保障数据无丢失•GoldenGateTDM的抽取和复制进程使用检查点机制记录完成复制的位置。对于抽取进程,其检查点记录当前已经抽取日志的位置和写队列文件的位置;对于投递进程,其检查点记录当前读取队列文件的位置。检查点机制可以保证在系统、网络或GoldenGateTDM进程故障重启后数据无丢失。•可靠的数据传输机制•GoldenGateTDM用应答机制传输交易数据,只有在得到确认消息后才认为数据传输完成,否则将自动重新传输数据,从而保证了抽取出的所有数据都能发送到备份端。数据传输过程中支持128位加密和数据压缩功能。GoldenGate的定位•GoldenGate可以满足用户针对实时数据的需求•可持续的数据高可用性和实时商务智能•跨越多种异构数据库和操作系统实现实时数据同步•对源系统是非侵入式的•GoldenGate在实时数据市场是全球一流的产品•在提供关键业务高可用性方面是公认的领导者•财富500强企业很多用户采用GoldenGateGoldenGate特点•对生产系统影响小–实时读取交易日志,以低资源占用实现大交易量数据实时复制•以交易为单位复制,保证交易一致性•高性能–智能的交易重组和操作合并–使用数据库本地接口访问–并行处理体系•灵活的拓扑结构–支持一对一、一对多、多对一、多对多和双向复制等•支持数据过滤和转换–可以自定义基于表和行的过滤规则.–可以对实时数据执行灵活映射和转换.•提供数据压缩和加密–降低传输所需带宽,提高传输安全性.议程•GoldenGate整体介绍•GoldenGate工作原理简介•配置OracleGoldenGate•GoldenGate优势和对比GoldenGate工作原理简介GoldenGate工作原理简介•OGG的抓取(extract)进程在事务发生时通过redo日志文件读取数据,其只是抓取commit的数据,故不会产生不一致性问题。通过在source端和target端分别安装goldengate软件,在源端抓取改变数据(CDC)并通过各种方式传输(pump),在目标端应用。注意其并非执行sql,而是真实修改所对应数据,类似物理dataguard.GoldenGate工作原理简介-传输方式1GoldenGate工作原理简介-传输方式1•源端在manager进程的协调下,通过extract进程将changedata通过互联网直接传target端,target端协调接收的数据,由servercollector进程写入trail文件当中,通过replicat同步进程同步数据。GoldenGate工作原理简介-传输方式2GoldenGate工作原理简介-传输方式2•源端在manager进程的协调下,通过extract进程将changedata写到本地trail文件,由源端的datapump进程通过network将trail中数据传到target端,target端由servercollector进程写入trail文件当中,通过replicat同步进程同步数据。GoldenGate工作原理简介-几个进程介绍1.Manager管理进程在两端控制开启,监控和重启其他进程;分配数据存储和报告错误及事件。2.Extract进程从日志中抓取并传输到target端事务数据3.ServerCollector进程在target端接受数据并写入trail文件4.Replicat进程读取trail文件,并且应用到targetdatabase。5.trail文件是gg自己存储抓捕信息的文件,是一个os文件,存放在./dirdat/下,以xx00000n命名,n顺序1,2,3.。。。此文件应用完后可配置参数自动删除。议程•GoldenGate整体介绍•GoldenGate工作原理简介•配置OracleGoldenGate•GoldenGate优势和对比配置OracleGoldenGate•这里我们模拟第二种传输方式环境大致如下同一台机器上装2个oracle数据库,hisyy源,testtarget目标。分别建立2个gg环境•源端gg目录为D:\goldengatetest\OracleGoldenGate,目标端为D:\goldengatetest\OracleGoldenGate2配置OracleGoldenGate-创建相关目录•ShellcdD:\goldengatetest\OracleGoldenGate•Shellggsci•GGSCICREATESUBDIRS•GGSCIEXIT••ShellcdD:\goldengatetest\OracleGoldenGate2•Shellggsci•GGSCICREATESUBDIRS•GGSCIEXIT配置OracleGoldenGate-在源库打开supplementallogging•SQLALTERDATABASEADDSUPPLEMENTALLOGDATA;•SQLALTERSYSTEMSWITCHLOGFILE;•SQLEXIT配置OracleGoldenGate-创建GGGLOBALS参数文件•Shellggsci•GGSCIEDITPARAMS./GLOBALS•MGRSERVNAMEmgrtest1配置OracleGoldenGate-创建manager服务•ShellINSTALLADDSERVICEADDEVENTS此时服务是关闭的,手工无法启动,manager读取前面创建的global文件创建服务mgrtest1•同样在target下也创建mgr服务配置OracleGoldenGate-启动mgr服务•在源端和target端分别•GGSCIEDITPARAMSMGR•填入mgr的相关参数,这些参数可以控制gg的一些属性比如mgr进程是否自动启动,是否启动自动删除过期trail等最重要的是port参数是控制源连接目标pump进程传递目标gg的端口。这里我们在源端设置port为7809,target端为7841配置OracleGoldenGate-配置捕获进程•和初始化数据一样先配置一个extract进程•GGSCIEDITPARAMEIEXtt注意由于我们是先抓的本地再Pump到目标端故这里为exttrail直接传到target端是rmthostrmtrail参数配置OracleGoldenGate-配置捕获进程•GGSCIADDEXTRACTEIEXtt,TRANLOG,BEGINNOW•GGSCIADDEXTTRAIL./dirdat/tt,EXTRACTEIEXtt,MEGABYTES5配置OracleGoldenGate-配置传输进程•在源端添加一个pump进程•GGSCIEDITPARAMSEPMPtt•其作用为读取本地trail文件到目标端trail文件•GGSCIADDEXTRACTEPMPtt,EXTTRAILSOURCE./dirdat/tt•添加进程并通过EXTTRAILSOURCE说明本地trail文件存放地。配置OracleGoldenGate-配置传输进程•定义ggtrail•GGSCIADDRMTTRAIL./dirdat/tt,EXTRACTEPMPtt,MEGABYTES5•告诉其远端trail文件地点•启动datapumpcaptureprocess•GGSCISTARTEXTRACTEIEXtt•GGSCISTARTEXTRACTEPMPtt配置OracleGoldenGate-配置复制进程•在目标端的全局文件中添加checkpoint表,用来实现一致性的•GGSCIEDITPARAMS./GLOBALS•GGSCIDBLOGINUSERIDyytarget,PASSWORDyytarget•GGSCIADDCHECKPOINTTABLE配置OracleGoldenGate-配置复制进程•配置replicat进程•GGSCIADDREPLICATRORAtt,EXTTRAIL./dirdat/tt•GGSCIEDITPARAMRORAtt配置OracleGoldenGate-配置复制进程•GGSCISTARTREPLICATRORAtt议程•GoldenGate整体介绍•GoldenGate工作原理简介•配置OracleGoldenGate•GoldenGate优势和对比OracleGoldenGate数据容灾特点•OracleGoldenGate用于数据容灾•OracleGoldenGate架构非常灵活•OracleGoldenGate容灾方案属于基于逻辑的数据容灾•OracleGoldenGate对操作系统没有特定的要求•OracleGoldenGate对数据库版本没有特定的要求•OracleGoldenGate能容忍苛刻的网络环境•OracleGoldenGate不存在逻辑坏块•OracleGoldenGate当生产系统的DDL操作比较多时,维护量比较大OracleGoldenGate优势(1)对生产系统影响小解压缩即可使用,无须对数据库、主机、存储做任何调整,施工过程简便、风险低,不影响业务运行(2)实时高性能当新交易到达,数据被立即捕获、转换(如需要)并在亚秒延迟内投递到其他系统,能够以低资源消耗完成每秒数千交易的复制(3)带宽要求低,可以忍受苛刻的网络条件GoldenGate需要在网络上传输的数据量非常少。(4)接管时间短GoldenGate的备份端是活动的,可以在灾难出现后立即把业务接管过来,快速恢复业务,大大减少RTO(RecoveryTimeObject)。(5)可以实现负载均衡GoldenGate的复制方式备份端时可用的,可以将主机的部分业务转移到备份端执行,实现负载均衡,有效地降低主机的负荷。OracleGoldenGate优势(6)灵活的拓扑结构GoldenGate可以实现一对一、一对多、多对一、双向复制等多种灵活的拓扑结构,它可以实现数据的分发和集中以及对等复制,非常灵活。(7)高兼容性,降低投资和提高投资回报率GoldenGate则可以兼容各种磁盘阵列,也可以跨不同操作系统和不同数据库以及数据库不同版本,因此客户在采购方面可以更为灵活,处于更有利的商务地位。(8)避免错误传播GoldenGate只复制交易数据,不会传播底层错误(特别是逻辑坏块)到备份端,可以在出现上述错误的情况下保证备份端的可用性。(9)保证交易数据完整性GoldenGate是把交易数据抽取到备份端进