《第10课 Oracle Golden gate 概念和机制.pdf》由会员分享,可在线阅读,更多相关《第10课 Oracle Golden gate 概念和机制.pdf(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、DATAGURU专业数据分析网站2013.2.28DATAGURU专业数据分析网站 2013.2.28 Oracle高可用第十课高可用第十课 Oracle Golden gate 概念和机制概念和机制DATAGURU专业数据分析网站2013.2.282法律声明法律声明【声明声明】本视频和幻灯片为炼数成金网络课程的教本视频和幻灯片为炼数成金网络课程的教学资料,所有资料只能在课程内使用,不得在课学资料,所有资料只能在课程内使用,不得在课程以外范围散播,违者将可能被追究法律和经济程以外范围散播,违者将可能被追究法律和经济责任。责任。课程详情访问炼数成金培训网站课程详情访问炼数成金培训网站http:/
2、DATAGURU专业数据分析网站2013.2.28GG的企业用途的企业用途 数据库升级8i-11g,平滑的业务切换 负载分担oltp-olap 数据复制不同地理位置的数据同步 异构平台数据的同步数据仓库的数据汇集DATAGURU专业数据分析网站2013.2.28下载下载GoldengateGoldengate属于Oracle中间件产品DATAGURU专业数据分析网站2013.2.28Golden gate的特点和优势DATAGURU专业数据分析网站2013.2.28交易数据管理交易数据管理GoldenGate提供异构环境下交易数据的实时捕捉、变换、投递。特性:实时性秒一级延迟异构环境支持在不同
3、平台和数据库环境下复制数据以交易为单位复制维护交易一致性收益:高性能能够以低资源消耗完成每秒数千交易的复制可扩展开放的结构使客户适应各种异构数据平台可靠保证数据的连续可用DATAGURU专业数据分析网站2013.2.28GoldenGate 支持的环境支持的环境源和目标端的操作系统和数据库的任意组合源和目标端的操作系统和数据库的任意组合 IBM AIX Sun Solaris HP-UX Linux NT,2000,XP HP NonStop TRU64 IBM z/OS,OS/390操作系统 Oracle DB2 Sybase MS SQLServer MySQL Enscribe SQL/
4、MP SQL/MX Teradata ODBC 兼容数据库SQL ServerDB2OracleMysqlTeradataSybaseDATAGURU专业数据分析网站2013.2.28GoldenGate关键特性关键特性 对生产系统影响小实时读取交易日志,以低资源占用实现大交易量数据实时复制 以交易为单位复制,保证交易一致性 高性能智能的交易重组和操作合并使用数据库本地接口访问并行处理体系 灵活的拓扑结构支持一对一、一对多、多对一、多对多和双向复制等 支持数据过滤和转换可以自定义基于表和行的过滤规则.可以对实时数据执行灵活影射和变换.提供数据压缩和加密降低传输所需带宽,提高传输安全性.DATA
5、GURU专业数据分析网站2013.2.28Golden gate的原理DATAGURU专业数据分析网站2013.2.28Oracle GoldenGate 是怎样工作的LAN/WANInternet捕获捕获:通过读取事务日志,在事务发生时捕获(也可过滤)提交的事务。源Oracle 和非 Oracle 数据库目标Oracle 和非 Oracle 数据库DATAGURU专业数据分析网站2013.2.28Oracle GoldenGate 是怎样工作的LAN/WANInternet捕获队列源Oracle 和非 Oracle 数据库目标Oracle 和非 Oracle 数据库捕获:通过读取事务日志,在
6、事务发生时捕获(也可过滤)提交的事务。跟踪队列:准备数据,使数据排入队列以备路由。DATAGURU专业数据分析网站2013.2.28Oracle GoldenGate 是怎样工作的LAN/WANInternet捕获队列泵出捕获:通过读取事务日志,在事务发生时捕获(也可过滤)提交的事务。跟踪队列:准备数据,使数据排入队列以备路由。数据泵:分发数据以便路由到目标。源Oracle 和非 Oracle 数据库目标Oracle 和非 Oracle 数据库DATAGURU专业数据分析网站2013.2.28Oracle GoldenGate 是怎样工作的LAN/WANInternetTCP/IP捕获队列泵出
7、队列捕获:通过读取事务日志,在事务发生时捕获(也可过滤)提交的事务。跟踪队列:准备数据,使数据排入队列以备路由。数据泵:分发数据以便路由到目标。路由:压缩、加密数据以便路由到目标。源Oracle 和非 Oracle 数据库目标Oracle 和非 Oracle 数据库DATAGURU专业数据分析网站2013.2.28Oracle GoldenGate 是怎样工作的LAN/WANInternetTCP/IP捕获队列泵出交付队列捕获:通过读取事务日志,在事务发生时捕获(也可过滤)提交的事务。跟踪队列:准备数据,使数据排入队列以备路由。数据泵:分发数据以便路由到目标。路由:压缩、加密数据以便路由到目标
8、。交付:保证事务数据完整,根据需要转换数据。源Oracle 和非 Oracle 数据库目标Oracle 和非 Oracle 数据库DATAGURU专业数据分析网站2013.2.28Oracle GoldenGate 是怎样工作的LAN/WANInternetTCP/IP双向捕获队列泵出交付队列捕获:通过读取事务日志,在事务发生时捕获(也可过滤)提交的事务。跟踪队列:准备数据,使数据排入队列以备路由。数据泵:分发数据以便路由到目标。路由:压缩、加密数据以便路由到目标。交付:保证事务数据完整,根据需要转换数据。源Oracle 和非 Oracle 数据库目标Oracle 和非 Oracle 数据库D
9、ATAGURU专业数据分析网站2013.2.28DATAGURU专业数据分析网站2013.2.28Golden gate的进程DATAGURU专业数据分析网站2013.2.28DATAGURU专业数据分析网站2013.2.28Golden gate的组成和进程的组成和进程 manger extract replicat Collector Trails data pump Group DATAGURU专业数据分析网站2013.2.28manger Manager进程是GoldenGate的控制进程,运行在源端和目标端上。它主要作用有以下几个方面:启动、监控、重启Goldengate的其他进程,
10、报告错误及事件,分配数据存储空间,发布阀值报告等。在目标端和源端有且只有一个manager进程.DATAGURU专业数据分析网站2013.2.28Extract Extract运行在数据库源端,负责从源端数据表或者日志中捕获数据。Extract的作用可以按照阶段来划分为:初始时间装载阶段:在初始数据装载阶段,Extract进程直接从源端的数据表中抽取数据同步变化捕获阶段:初始数据同步完成以后,Extract进程负责捕获源端数据的变化(DML和DDL)DATAGURU专业数据分析网站2013.2.28Pump pump进程运行在数据库源端,其作用是将源端产生的本地trail文件,把trail以数
11、据块的形式通过TCP/IP 协议发送到目标端,这通常也是推荐的方式。pump进程本质是extract进程的一种特殊形式,如果不使用trail文件,那么extract进程在抽取完数据以后,直接投递到目标端,生成远程trail文件。DATAGURU专业数据分析网站2013.2.28Collector 与 Pump进程对应 的叫Server Collector进程,这个进程不需要引起我的关注,因为在实际操作过程中,无需我们对其进行任何配置,所以对我们来说它是透明的。它运行在目标端,其 任务就是把Extract/Pump投递过来的数据重新组装成远程ttrail文件。DATAGURU专业数据分析网站20
12、13.2.28Replicat Replicat进程,通常我们也把它叫做应用进程。运行在目标端,是数据传递的最后一站,负责读取目标端trail文件中的内容,并将其解析为DML或 DDL语句,然后应用到目标数据库中。DATAGURU专业数据分析网站2013.2.28Trail文件文件 为了更有效、更安全的把数据库事务信息从源端投递到目标端。GoldenGate引进trail文件的概念。前面提到extract抽取完数据以后 Goldengate会将抽取的事务信息转化为一种GoldenGate专有格式的文件。然后pump负责把源端的trail文件投递到目标端,所以源、目标两端都会存在这种文件。tra
13、il文件存在的目的旨在防止单点故障,将事务信息持久化,并且使用checkpoint机制来记录其读写位置,如果故障发生,则数据可以根据checkpoint记录的位置来重传。DATAGURU专业数据分析网站2013.2.28Golden gate的数据一致性DATAGURU专业数据分析网站2013.2.28GG完整性的两个问题 我如何保证数据引用的完整性?我如何保证事务在目标数据库应用的顺序性?DATAGURU专业数据分析网站2013.2.28GG完整性-引用完整性 涉及到引用关系的所有表,必须只能由一个相应进程处理。同一个extract 同一个data pump 同一个 replicatDATA
14、GURU专业数据分析网站2013.2.28GG完整性-事务一致性 GG按照提交的顺序作为数据在目标库应用的顺序 未提交的数据不加入传输队列DATAGURU专业数据分析网站2013.2.28checkpoint checkpoint用于抽取或复制失败后(如系统宕机、网络故障),抽取、复制进程重新定位抽取或者复制的起点。extract进程在数据源和trail文件中都会标识checkpoint,Replicat只会在trail文件中标示checkpoint。DATAGURU专业数据分析网站2013.2.28OGG Checkpoint(1)31CaptureCommit Ordered Source
15、 TrailSourceDatabase Begin,TX 1Insert,TX 1Begin,TX 2Update,TX 1Insert,TX 2Commit,TX 2Begin,TX 3Insert,TX 3Begin,TX 4Commit,TX 3Delete,TX 4Begin,TX 2Insert,TX 2Commit,TX 2Begin,TX 3Insert,TX 3Commit,TX 3Start of Oldest Open(Uncommitted)TransactionCurrent Read PositionCapture CheckpointCurrent Write P
16、ositionDATAGURU专业数据分析网站2013.2.2832CapturePumpCommit Ordered Source TrailCommit Ordered Target TrailSourceDatabase Begin,TX 1Insert,TX 1Begin,TX 2Update,TX 1Insert,TX 2Commit,TX 2Begin,TX 3Insert,TX 3Begin,TX 4Commit,TX 3Delete,TX 4Begin,TX 2Insert,TX 2Commit,TX 2Begin,TX 3Insert,TX 3Commit,TX 3Begin
17、,TX 2Insert,TX 2Commit,TX 2Start of Oldest Open(Uncommitted)TransactionCurrent Read PositionCapture CheckpointCurrent Write PositionCurrent Read PositionPump CheckpointCurrent Write PositionOGG Checkpoint(2)DATAGURU专业数据分析网站2013.2.2833CaptureDeliveryPumpCommit Ordered Source TrailCommit Ordered Targe
18、t TrailSourceDatabase TargetDatabase Begin,TX 1Insert,TX 1Begin,TX 2Update,TX 1Insert,TX 2Commit,TX 2Begin,TX 3Insert,TX 3Begin,TX 4Commit,TX 3Delete,TX 4Begin,TX 2Insert,TX 2Commit,TX 2Begin,TX 3Insert,TX 3Commit,TX 3Begin,TX 2Insert,TX 2Commit,TX 2Start of Oldest Open(Uncommitted)TransactionCurren
19、t Read PositionCapture CheckpointCurrent Write PositionCurrent Read PositionPump CheckpointCurrent Write PositionCurrent Read PositionDelivery CheckpointOGG Checkpoint(3)DATAGURU专业数据分析网站2013.2.28OGG Checkpoint 存放在GGHOMEdirchk下的文件中 存放在数据库指定的表中,需要单独配置DATAGURU专业数据分析网站2013.2.28进程如何写进程如何写trail文件文件 为了减小系统
20、的I/O负载,抽取的数据通过大字节块的方式存储到trail文件中。同时为了提高兼容性,存储在trail文件中的数据以通用数据模式(一种可以在异构数据库之间进行快速而准确转换的模式)存储。默认情况下,extract进程以追加的方式写入trail文件。当extract进程异常终止时,trail文件会被标记为需要恢复。当extract重新启动时会追加checkpoint之后的数据追加到该trail文件中。DATAGURU专业数据分析网站2013.2.28Group 我们可以通过为不同的extract和replicat进程进行分组来去区分不同进程之间的作用。例如,当需要并行的复制不同的数据集时,我们则
21、可以创建两个或者多个复制进程。DATAGURU专业数据分析网站2013.2.2837炼数成金逆向收费式网络课程炼数成金逆向收费式网络课程Dataguru(炼数成金)是专业数据分析网站,提供教育,媒体,内容,社区,出版,数(炼数成金)是专业数据分析网站,提供教育,媒体,内容,社区,出版,数据分析业务等服务。我们的课程采用新兴的互联网教育形式,独创地发展了逆向收费据分析业务等服务。我们的课程采用新兴的互联网教育形式,独创地发展了逆向收费式网络培训课程模式。既继承传统教育重学习氛围,重竞争压力的特点,同时又发挥式网络培训课程模式。既继承传统教育重学习氛围,重竞争压力的特点,同时又发挥互联网的威力打破
22、时空限制,把天南地北志同道合的朋友组织在一起交流学习,使到互联网的威力打破时空限制,把天南地北志同道合的朋友组织在一起交流学习,使到原先孤立的学习个体组合成有组织的探索力量。并且把原先动辄成千上万的学习成本原先孤立的学习个体组合成有组织的探索力量。并且把原先动辄成千上万的学习成本,直线下降至百元范围,造福大众。我们的目标是:低成本传播高价值知识,构架中,直线下降至百元范围,造福大众。我们的目标是:低成本传播高价值知识,构架中国第一的网上知识流转阵地。国第一的网上知识流转阵地。关于逆向收费式网络的详情,请看我们的培训网站关于逆向收费式网络的详情,请看我们的培训网站 http:/DATAGURU专业数据分析网站2013.2.2838DATAGURU专业数据分析网站ThanksFAQ曳露