GoldenGate软件及工作原理介绍公司目标GoldenGate为客户提供交易数据管理(TransactionalDataManagement)解决方案.有效帮助客户优化数据访问性能,提高交易数据的可访问性和可用性,满足关键业务的需要Real-TimeAccesstoReal-TimeInformation公司简介历史及现状与多家著名厂商结为战略合作伙伴全球35个国家300多客户,2000多个安装广泛的客户基础始建于1995在北美、欧洲、亚太、拉丁美洲设有分公司24x7全球技术支持交易数据管理TransactionalDataManagementTDM提供异构环境下交易数据的实时捕捉、变换、投递。TDM具有:实时性秒一级延迟异构环境支持在不同平台和数据库环境下复制数据以交易为单位复制维护交易一致性特点:高性能能够以低资源消耗完成每秒数千交易的复制可扩展开放的结构使客户适应各种异构数据平台可靠保证数据的连续可用GoldenGate支持平台…数据库操作系统抽取:OracleDB2OS/390DB2UDBMicrosoftSQLServerSybaseEnscribeSQL/MPSQL/MXTeradata投递:AlllistedaboveMySQL,IngresandanyODBCcompatibledatabasesWindows2000,2003,XPLinuxSunSolarisHP-UXIBMAIXHPNonStopTRU64IBMz/OS,LUWGoldenGate解决方案高可用性与容灾活动备份无宕机运行Active-Active层次化企业数据实时数据集成数据仓库实时数据供给实时报表数据整合实时数据实时访问灾难恢复灾难容忍无间断运行磁带备份磁盘镜像块复制热备份Active-Active硬件存储数据库应用物理结构数据交易批处理即时复制近似实时复制实时复制脚本ETL工具加脚本EAI和ETL工具加脚本GoldenGateTDMWeeksDaysHoursMinutes/SecondsSub-secondsRealTimeThreshold高可用性数据整合实时性要求为什么选择GoldenGateTDM?消除批处理窗口方便实现整合流程低资源占用实时获取数据基于日志的复制对源系统影响小只捕捉数据变化降低系统负荷无需额外编程保证交易完整性和一致性可以保证在各种平台下数据的完整性和一致性GoldenGateTDM软件技术概览TransactionalDataManagement(TDM)SoftwarePlatformTDM工作原理:模块化“积木”网络源数据库目的数据库双向复制队列文件:暂存数据变化.传输:数据经过压缩和加密传送到目的地.Capture:实时读取交易日志捕捉数据变化并可实现过滤.Delivery:执行所需的数据变化,然后将数据变化提交到目的库.CaptureSourceTrailTargetTrailSourceTrailTargetTrailDeliverDeliverCapture逻辑数据复制的几个重要问题(一)数据变化来源读取在线日志或归档日志在信息不足时与数据库交互-数据字典信息-查询日志不足信息,例如大对象只复制提交交易如何标志记录的唯一性?Rowid-逻辑复制源和目标的rowid是不一致的,除非自行为两端记录建立额外的rowidmap主键-实际应用中主要业务表均建立有主键-唯一索引也可作为唯一标示-无主键表可使用全部列作为唯一标示逻辑数据复制的几个问题(二)oracle数据库附加日志缺省状况下只记录变化记录的rowid及对应变化(前影像、后影像)为了能够在目标投递到对应的记录,需在日志中记录主键或唯一索引数据库级附加日志-SUPPLEMENTAL_LOG_DATA_MIN(最小附加日志)-SUPPLEMENTAL_LOG_DATA_PK/UI-SUPPLEMENTAL_LOG_DATA_FK/ALL(10g)表级附加日志–GoldenGate建议方式-sqlplusaltertableaddsupplementalloggroup…-Ggsciaddtrandatactais2.mytable//自动寻找PK/UI-Dba_log_groups和dba_log_group_columns-每个loggroup不能超过32列,超过需要人工分组逻辑数据复制的几个问题(三)目标端使用附加日志还原sql根据附加日志中的主键信息构筑where条件如果没有附加日志或者没有足够的列则无法执行update和delete操作,而insert不受影响主键变化要重新添加表的附加日志无主键表则列的增删均要重新添加表的附加日志CREATETABLEtcustmer(cust_codeVARCHAR2(4),nameVARCHAR2(30),cityVARCHAR2(20),stateCHAR(2),PRIMARYKEY(cust_code)USINGINDEX);ForRecord:(‘a’,’a’,’a’,’a’)Updatetcustmersetname=‘b’;Oracle附加日志会记录cust_code列的值’a’到日志中;目标端根据cust_code=‘a’构筑update的sql语句;如果两端主键变为city,而没有重新添加附加日志,则目标端会根据自己的主键city建立附加日志,此时日志中没有该字段值,导致目标update失败如果修改表但没有修改主键,则附加日志不受影响逻辑数据复制的几个问题(四)如何将数据装载到目标库?常规加载-通过SQL装载直接加载-通过数据块装载-不利用空闲存储空间-不检查外键等约束-装载速度较快GoldenGate采用常规加载-保证数据安全和一致性-有效提高性能的选项–合并小交易–拆分大交易–批处理的加速单向复制报表、灾备双向复制立即接管点对点负载均衡,高可用性及容灾广播复制数据分发集中复制数据仓库灵活的拓扑结构多级复制层次化企业数据DataPumps与一对多复制DatabaseTransactionLogsExtractProcessTrailExtractProcessTrailTrailTrailExtractProcessExtractProcessGoldenGateVeridata™PrimaryBackupNodeBNodeAHighAvailability&DisasterToleranceSolarisLinuxMigratingtoNewDB,O/SVersion==快速数据对比方案能够快速设别和报告在线数据的差异用途:降低数据差异带来的风险简便快捷的对比无需影响业务关键特性:支持大数据量对比支持在线状态的数据对比优秀的对比效率和速度可执行选择性对比可自动执行无需人工干预灵活的报表GoldenGateDirector™能够使客户定义、配置和管理GoldenGateTDM各节点和进程,监控运行状态优化系统管理关键特性:集中管理多个GG进程丰富的客户端和web界面提高可用性提供报警以及与第三方软件集成的接口实时获取GG进程信息对原系统无影响典型案例案例一:美国银行超过五千八百家分行及一万六千多部自动柜员机热备份数据中心从贯穿北美的四台主机(HPNSK)抓取数据保障ATM7X24小时可用热备份点主数据中心客户客户客户客户双向数据复制GoldenGatehashelpedtheBankofAmericaaccommodategrowth.MicheleSchwappach,VicePresidentandSeniorSystemsManager案例二:中华人民共和国海关总署远距离容灾低带宽低延时可随时接管的双业务中心快速业务切换Oracle9iRACOracle9iRACOracle9iRAC决策支持库GoldenGate单向复制GoldenGate单向复制H2000生产库Oracle9i全国各地41个口岸H2000应用GoldenGate双向复制广州北京H2000生产库决策支持库网络案例三:国家体育总局体彩中心N+1模式容灾各省市集中备份远距离低带宽IBMP570hHpSuperdomeHpSuperdomeIBMP570hHAOracle10gR2RACOracle10gR1IBMP570hIBMP570hHAOracle10gR1IBMP570hIBMP570hHAOracle10gR1IBMP570hIBMP570hHAOracle10gR1IBMP570hIBMP570hHAOracle10gR1IBMP570hIBMP570hHAOracle10gR1IBMP570hIBMP570hHAOracle10gR1IBMP570hIBMP570hHAOracle10gR1IBMP570hIBMP570hHAOracle10gR1IBMP570hIBMP570hHAOracle10gR1IBMP570hIBMP570hHAOracle10gR1IBMP570hIBMP570hHAOracle10gR1天津分中心成都分中心武汉分中心广州分中心北京备份中心GoldenGateGoldenGateGoldenGateGoldenGate2019年12月19日星期四GoldenGate安装及其组件系统需求为获取高可用性,建议安装于共享阵列,可以随集群软件切换到备用节点复制软件只需不到200M空间大小,考虑到需要缓存队列数据,建议保留相当于数据库归档日志量3-7天的存储空间复制软件安装目录可位于任何位置复制软件可使用现有系统用户或者建立专门系统用户,需满足一下条件该用户具有为Oracle安装用户组成员,环境变量与Oracle运行用户一致,可访问Oracle数据库其内存限制应当满足数据复制要求,可以通过ulimit–a输出察看信息,具体配置在/etc/security/limits文件中。双机环境下的理想配置方案主节点备节点GoldenGate安装位置主节点归档日志位置备节点归档日志位置/archivelog01/archivelog02/goldengate共享阵列/archivelog02NFSGoldenGate复制进程主节点备节点共享阵列/archivelog01/archivelog02/goldengateGoldenGate安装位置主节点归档日志位置备节点归档日志位置GoldenGate复制进程正常运行状态备机接管状态安装步骤Unix下的安装步骤1.ftp.gzfiletoGoldenGate安装目录2.gzip–d*.gz3.tar–xvf*.tar4.lddggsci5../ggsci6.GGSCICREATESUBDIRS数据库需求复制用户可以使用现有或者新建用户,DML复制要求权限如下:源端:CONNECT/ALTERANYTABLE/ALTERSESSION/CREATESESSION/FLASHBACKANYTABLE/SELECTANYDICTIONARY/SELECTANYTABLE/RESOURCE“目标端在源端基础上加以下权限:INSERTANYTABLE/DELETEANYTABLE/UPDATEANYTABLE;需要打开数据库级最小附加日志selectSUPPLEMENTAL_LOG_DATA_MINfromv$database;ALTERDATABASEADDSUPPLEMENTALLOGDATA;针对所有复制表打开表级附加日志GGSCIaddtrandatatablenameselect*fromuser_log_group_columnswheretable_name='tablename';超过32列无主键表需要手工添加附加日志:-Altertabletableaddsupplementallog