OracleGoldenGate技术交流概论.ppt_第1页
OracleGoldenGate技术交流概论.ppt_第2页
OracleGoldenGate技术交流概论.ppt_第3页
OracleGoldenGate技术交流概论.ppt_第4页
OracleGoldenGate技术交流概论.ppt_第5页
已阅读5页,还剩112页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

OracleGoldenGate技术交流 XX公司技术沙龙第二期XXX2017年3月 OracleGoldenGate介绍 前GoldenGate公司简介 创建于1995年 总部在美国旧金山 数据复制领域的专业公司 全球超过4 000个安装许可 分布在政府 银行 制造 传媒 电信 证券 医疗和零售等各大行业 其中有多个全球财富500强企业 Oracle IBM HP Microsoft Sybase Teradata等著名企业建立了紧密合作关系 中科领新信息技术有限公司是GoldenGate公司中国区总代理和技术支持中心 2009年被Oracle收购 GoldenGate是什么 OracleGoldenGate提供异构环境间事务数据的实时 低影响的捕获 路由 转换和交付实时数据整合市场的领导者GoldenGate给Oracle的数据整合方案带来了在异构平台的快速的 可扩展的 实时数据整合能力GoldenGate为应用或数据库的提供了在线升级 迁移的能力 GoldenGate产品组件 ManagementPackforOracleGoldenGate需要安装OracleWeblogic标准版 需要购买相关的License GoldenGateTDM介绍 GoldenGateTDM是基于日志的实时CDC软件平台 提供异构环境下大量交易数据的实时捕捉 变换和投递 同时保持亚秒一级的数据延迟 基于GoldenGateTDM 我们提供高可用 容灾和实时数据集成的解决方案 GoldenGateTDM采用高内聚低耦合的结构 能够支持多种拓扑结构 包括一对一 一对多 多对一 多对多 层叠和双向复制 CDC ChangeDataCapture 就是我们通常提到的变化数据捕获 GoldenGate工作原理 交易数据管理TransactionalDataManagement TDM GoldenGate提供异构环境下交易数据的实时捕捉 变换 投递 主要是支持异构数据库环境下的变化数据同步 GoldenGate变化数据捕捉的优势 针对SQLSERVER DB2都提供基于日志的CDC 直接从数据库日志中通过自己的专有程序抽取数据 支持在备份系统上抓取变化数据 对一些数据类型如LONG XML BLOB都提供了支持 基于日志的实时数据复制 亚秒级复制不依赖源数据库的触发器和规则 对源数据库影响小 OGG在数据传输方面的优势 OGG有很好的机制来保证传输的交易一致性和断点续传 事务完整性 事务级粒度只复制成功提交的事务防止源和目标的不一致性 OracleGoldenGate架构 OracleGoldenGate架构 OracleGoldenGate架构 OracleGoldenGate架构 OracleGoldenGate架构的优势 GoldenGate的工作特点 实时数据复制支持异构环境可靠性 断点续传 不影响系统连续运行 高性能 对生产系统影响小事务完整性整合 ETLtools MessageService灵活拓扑结构复制冲突检测和解决事件标记基础架构 Eventmarkerinfrastructure 路由和压缩 TCP IP LAN WAN加密 128 位 SSL自定义延时应用修改根据事务大小和数量自动管理内存 事务完整性 事务级粒度 只复制成功提交的事务防止源和目标的不一致性 GoldenGate支持异构环境任意组合 GoldenGate10 4支持的主流数据库版本 Oracle8i DMLonly Oracle9 1and9 2 DMLandDDL Oracle10 1and10 2 DMLandDDL Oracle11g DMLandDDL DB2UDB8 xand9 5onWindowsandUNIXDB2UDBforOS 390andz OS7 1 untilIBMendofservicedate DB2UDBforz OSVersion8 1and9 1SQLServer2000and2005onMS supportedOSasasourceortarget SQLServer2008onMS supportedOSasatargetonly Sybase12 5 4and15ASEMySQLversions4 0and4 1 GoldenGate架构中关键的技术 分布式松散耦合的进程架构初始化装载时不影响数据库使用可以在异构平台之间进行数据初始化装载可扩展性 变化数据捕获API VAM 客户化定制 UserExits SQLcallouts Macros异步的数据变化传输只传输提交的数据DML Metadata DDL统一的Trail文件格式在异构平台之间交换数据可以设定数据转换规则 设置数据和操作过滤条件 table row column 基于的事务的批量操作 GoldenGate架构中关键的技术 续 归档和审计功能Trail文件备份审计 保存所有变化 Insertallrecords 数据冲突的检测和解决机制 用于双向数据传输 双活 的系统在目标数据库延迟应用目标端的数据基于事件驱动的基本架构e g 自动的主备机切换进程的自动定位支持动态回滚和基于时间点的数据恢复支持并行操作批量数据抽取和批量数据入库恢复 GoldenGate的核心竞争点 Active Active避免了资源浪费 提高系统利用率即时接管在线迁移基于事务日志的数据抽取处理量大 负载小过滤配置并行可靠的数据传输Checkpoint机制 以便于发生错误时恢复基于TCP IP网络 对网络连接要求低强大的异构支持无需停机的数据比较方案图形化的集中管理 OracleGoldenGate使用场景 很多客户需要连续的实时数据降低IT系统的成本赢得业务系统运行的效率 数据复制的拓扑结构 OracleGoldenGate用例满足实时数据需求的企业级解决方案 降低成本降低风险实现卓越的运营 GoldenGate解决方案 高可用性 容灾与应急备份 实现 快速恢复和切换最小化数据损失重新同步主备两端数据用途 在非计划性停机时保持业务连续 高可用性 减少计划内停机 实现 保障业务零或者近似零停机滚动升级降低业务中断带来的损失用途 保障系统 应用 数据库在升级 移植和维护期间业务的可用性 高可用性 双业务中心 Active Active 实现 负载均衡 提高系统整体性能连续可用 快速的容灾接管冲突检测和处理 数据仓库实时供给 和ODI结合使用 实现 数据仓库数据实时得到更新对源系统低影响用途 提升商务智能和信息分析能力实时可用的数据仓库 实时报表 实现 将实时报表从主系统剥离 可根据客户需求定制显著提高主系统性能用途 实时报表提高系统性能和可用性 OGG与Oracle其他数据复制产品 OGG在oracle数据复制产品中的定位 Lantency延迟Transformation转换 OracleActiveDataGuard ADG OracleGoldenGate OracleDataIntegrator GoldenGate与Streams的比较 OracleStreams Oracle从9i开始推出streams 用于提供灵活的复制和容灾解决方案 但是9i的streams配置相当的麻烦 少说也有十几个步骤 还容易出错 10gR2则将整个配置过程封装在几个简单的PL SQL过程中 使得配置过程大大的简化 但是实际的配置步骤还是一样的 Oracle只是利用这些PL SQL过程先生成对应的脚本 然后再执行脚本进行配置 这个过程可以全自动完成 也可以先将脚本生成到某个指定的目录 我们根据需要修改脚本 然后再执行脚本进行配置 这样就灵活又方便 Streams的原理其实很简单 通过logmnr技术从oracle的log中解析出数据 然后传递到目标库并应用 从而将源库的数据复制到目标库 当然 复制可以是双向的 也可以是单向的 双向复制还需要考虑数据冲突的问题 而多源复制其实是双向复制的基础上衍生而来的 OracleStreams 整个的复制过程可以分成三个步骤 捕获 capture 传播 propagation 和应用 apply 利用高级队列 advancequeue 来将这三个步骤的数据串起来 通过在步骤中定义不同的规则 rule 来控制需要复制的数据 复制可以基于全库 基于表空间 基于用户或者基于表 提供了相当大的灵活性 捕获进程可以直接在源库捕获日志 也可以先将日志 归档日志或者联机日志 传递另外的库中进行捕获 这就是本地捕获 localcapture 和异地捕获 downstreamcapture 对于异地捕获 根据是传递归档日志还是联机日志 可以分为普通的异地捕获和实时异地捕获 日志的传递其实和DataGuard中是一样的机制 Oracle11g的streams还提供了同步捕获 Oracle数据集成平台 OracleEnterpriseDataQuality OracleMetadataManagement 相关产品网站快速链接 OracleADG主页面 OracleGoldenGate实施架构 OracleGoldenGate实施步骤 实施流程 OracleGoldenGate项目实施大致流程检查操作系统和数据库是否满足OracleGoldenGate要求配置数据库及要复制的表 使其满足OracleGoldenGate要求启动OracleGoldenGateExtract进程捕获增量数据获取和记录数据库SCN 使用数据库工具完成到目标数据库的数据初始加载启动OracleGoldenGateReplicat进程 从记录的SCN号起开始同步增量数据 Step1 PreparetheEnvironment 准备环境 Step1 PreparetheEnvironment 准备环境 Setupeachsystem InstallOracleGoldenGatesoftwareonsourceandtarget 安装软件 ConfigureandstartGoldenGateManageronsourceandtarget 配置并启动ogg管理器 Ifheterogeneoussource target generatesourcedefinitionsandcopytotarget 如果异构 生成源端定义并复制到目标端 Preparethedatabase Forexample EnsuredatabaseaccessbyGoldenGate 确保数据库可被ogg访问 Enabletransactionlogging 启用事务日志 准备工作 OracleGoldenGate检查操作系统及数据库如果操作系统是AIX5 3 须确保xlC C 的版本是9 0或者以上 如果源数据库的版本是9iR1或者9iR2 确保参数 log parallelism或者log parallelism的值为1 确认源数据库处于归档模式 可用命令archiveloglist查看 确认源数据库undo retention的值足够大 undotablespace的空间足够多 确认源及目标数据库的open cursors值足够大 检查源库redolog的Thread数目 支持DDL 如果数据库的版本是10gR1 将 recyclebin设置为false 如果数据库的版本是10gR2或者以上 将recyclebin设置为off 准备工作 OracleGoldenGate数据库及表的设置在源和目标数据库为OracleGoldenGate创建数据库用户 createusergoldengateidentifiedbyoracledefaulttablespaceuserstemporarytablespacetemp grantdba connect resourcetogoldengate 打开源数据库的supplementallog开关 alterdatabaseaddsupplementallogdata altersystemswitchlogfile altersystemarchivelogcurrent 在源端 对于要复制的表 样例 ggsci dbloginuseridgoldengate passwordoracleaddtrandatadbaccadm dconmsg如果复制表没有主键也没有唯一索引 且字段数目超过32个 则需要手动将表所有的字段都加入supplementallog 在目标端 disable复制表的触发器及cascadeconstraints 准备环境 安装 GoldenGate目录 Step2 ChangeCapture 变化捕获 ChangeCapture ExtractOverview Extractcanbeconfiguredto Capturechangeddatafromdatabaselogs 根据数据库日志捕获变化的数据 Distributedatafromlocaltrailstoremotesystems datapump 根据本地trail文件把数据分发到远程主机 Capturedatadirectlyfromsourcetablesforinitialdataload 直接从源端数据库表中捕获数据 捕获增量 OracleGoldenGate捕获增量在数据初始化之前 在源端启动Extract来捕获增量数据Addextract Threads 将Threads设置为当前数据库真实的redologThread数目 不论其是否是RAC环境 Step3 InitialLoad 初始化 OracleGoldenGate数据初始化 SCN的意义 数据初始化手段 EXP IMPDATAPUMPTransportableTablespace TTS RMAN以上方法均可以指定SCN以上方法均可以不中断业务系统 初始化 Step4 ChangeDelivery 变化交付 ChangeDelivery ReplicatOverview Replicatcan ReaddataoutofGoldenGatetrails 从trail文件中读取数据 Performdatafiltering 执行数据过滤 Table row operationPerformdatatransformation 执行数据转换 Performdatabaseoperationsjustasyourapplicationperformedthem 执行数据库操作 以应用程序的执行模式 加载 OracleGoldenGateDataPump和ReplicatOracleGoldenGateDataPump进程也是一个Extract进程 DataPump将Trail文件送到远端 远端可以不是目标端 由于DataPump的任务较轻 从性能的角度出发 可以考虑在DataPump这一侧做过滤和转换Replicat 使用startreplicat afterscn 可以对同一个Trailfile启用多个Replicat 但最好别超过四个 数据初始化 10G 同构 数据初始化 10G 异构 各模块介绍 各模块结构 Extract Capture Extract的两个功能 Extract Capture DB变更信息的获取 1 Extract Capture DB变更信息的获取 2 Extract Capture 双向复制 双向复制场合的注意事项为避免重复应用 应设置不捕获GoldenGate Replicat 的SQL语句通过Extract Capture 的参数可指定GETAPPLOPS IGNOREAPPLOPS指定捕获 忽略Replicat以外的更新数据库进程的动作GETREPLICATES IGNOREREPLICATES指定捕获 忽略Replicat对数据库的更新动作 各组件的结构 Collector 变更信息的收发 DataPump 变更信息的发送 两种方式 方式 另外起动发送专用的Extract 即DataPump 先保存到本地的Trail文件然后发送方式 一个Extract兼Capture和DataPump之职从REDO日志取得信息然后直接向远端发送 DataPump 多个目标发送 两种方式 各部件的结构 Replicat Replicat的功能 Replicat的功能从Trail文件生成SQL语句在目标DB执行以变更的行为单位生成SQL语句 执行基于主键 或唯一键 和变更前的值 可选 更新 主键或唯一键的值是在源端通过附加日志方式从日志中获得 各部件结构 Manager GoldenGate整体的监控 管理 Manager的作用Trail文件的管理Trail文件的生成 删除进程的监控 管理定期监控进程进程的启动 停止 再启动GoldenGate整体的监控 报表执行用户的命令 Manager GoldenGate整体的监控 管理 Manager与各部件之间通信UI Manager TCP IPExtract Replicat Manager 本地 共享内存各进程状况 如处理完的检查点等等 都保存在共享内存 Manager查询后产生相关报表Extract DataPump Manager 远端 TCP IP OracleGoldenGateCapture OracleGoldenGateDelivery Filter Map 转换 Filter Map 变换 可以配置Filter Map以及变换的部件Capture 推荐 DataPumpReplicat Filter Map 变换 可配置的Filter Map 变换 表 以表为单位指定例 MAPscott empTARGETjames empMAPscott TARGETjames 支持通配符 列 仅指定特定的列例 MAPscott empTARGETjames empCOLS empno ename MAPscott empTARGETjames empCOLEXCEPT salgrade 行 指定满足特定条件的行 Filter Map 变换 可配置的Filter Map 变换 2 可以在特定操作 UPDATE或者INSERT等等 时来应用Filter条件中可指定GoldenGate的函数和宏例 MAPscott empTARGETjames empWHERE sal 100000 MAPscott empTARGETjames empFILTER ONUPDATE COMPUTE sal 100 100000 数据变换 可以对列进行映射和列值的变换数据变换可以利用GoldenGate的函数和宏例 MAPhr contact TARGEThr phone COLMAP USEDEFAULTS name cust name phone number STRCAT area code ph prefix ph number 注意 不支持多字节的列名或文字串作为条件 函数 主要函数条件判断函数IF CASE EVAL VALONEOF等例 FILTER IF sal 100 sal 0 100 文字列 数値操作函数COMPUTE STRCAT STRCMP STRLEN STRFIND等注意 不支持对多字节文字列进行操作例 FILTER STRLEN ename 40 日期函数DATE DATENOW等例 FILTER hiredate DATENOW GoldenGateVeridata 什么是GoldenGateVeridata GoldenGateVeridata是一个快速 低影响的数据比较解决方案 它用于鉴别和报告两个数据库之间的数据差异 而不需要中断这些系统或他们的业务流程支持 为什么需要Veridata 数据之间的差距是现实存在的用户错误 输入错误 无意识的使用 恶意的企图基础架构错误 系统故障 磁盘损坏 网络故障移植确认 数据库升级 数据库移植 操作系统升级 应用升级实时数据集成验证 数据仓库 查询分载 营销数据库应用错误 逻辑故障 升级失败 潜在缺陷配置错误 应用 复制 网

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论