GoldenGate在Windows平台的双向数据传输配置及其测试_第1页
GoldenGate在Windows平台的双向数据传输配置及其测试_第2页
GoldenGate在Windows平台的双向数据传输配置及其测试_第3页
GoldenGate在Windows平台的双向数据传输配置及其测试_第4页
GoldenGate在Windows平台的双向数据传输配置及其测试_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1、 goldengate单向、双向数据传输配置及其测试oracle goldengate在windows平台中单向、双向数据传输配置及其测试2009年 12月30日第 48 页文档修订历史版本号版本日期修改内容摘要修订人0.12009-12-30初稿蒙昭良0.12009-12-31完成初稿蒙昭良目录第1章goldengate概述51.1goldengate技术原理51.2goldengate可靠的复制81.3goldengate支持操作系统和数据库类型8第2章安装goldengate92.1安装goldengate环境92.2分别在源数据库,目标数据库安装goldengate92.2.1下载go

2、ldengate92.2.2解压102.2.3安装goldengate102.2.4同时在目标数据库安装goldengate11第3章把源数据库的数据同步到目标数据库中113.1设置oracle_home,oracle_sid环境变量113.2在源数据库ora01上打开归档日志及其辅助日志123.3在源数据库,目标数据库创建goldengate globals参数文件133.3.1在源数据库创建133.3.2创建goldengate manager服务133.3.3在目标数据库安装上面步骤创建manager143.4在源数据库,目标数据库配置mgr,启动manager进程143.4.1配置ma

3、nager服务的mgr配置文件143.4.2启动mgr153.4.3同样在目标数据库配置mgr文件153.5测试把源数据库数据同步到目标数据库数据库上163.5.1在源数据库创建test01数据库用户163.5.2执行goldengate的测试脚本,创建表163.5.3插入数据脚本173.5.4在goldengate中用oracle用户登陆数据库173.5.5增加需要传输的用户表183.5.6在目标数据库创建用户及其表结构183.6用goldengate中的direct load方式导入数据到目标数据库的test02用户表上193.6.1在源数据库配置一个extract进程 eini01193

4、.6.2在目标数据库端配置一个replicat进程193.6.3在源数据库执行初始化过程203.6.4验证目标数据库端的test02用户表数据是否和源数据库一样20第4章把源数据库的修改数据同步到目标数据库中214.1在源数据库配置一个extract进程及配置其文件214.1.1配置extract文件214.1.2在ggsci.exe增加一个extract进程224.2配置data pump234.2.1在源数据库端添加一个pump进程234.2.2在源数据库的ggsci中增加extract进程244.2.3在源数据库执行rmttrail244.3启动data pump capture pro

5、cess244.4在目标数据库端配置change delivery264.5在目标数据库中创建goldengate专属用户及其表264.6在目标数据库配置replicat进程274.6.1在ggsci增加一个replicat进程274.6.2编辑配置replicat文件274.7启动replicat进程284.8测试检查同步结果284.8.1在源数据库执行插入数据28第5章把源数据库的ddl(表结构)修改同步到目标数据库中325.1在源数据库端关闭数据库的回收站325.2编辑源数据库参数文件globals325.3在源数据库创建goldengate01用户,并创建goldengate所需要的表

6、335.4检查源数据库上的表是否安装好355.5修改源数据库配置extract文件355.6重新启动extract进程365.7验证源数据库是否可以同步表结构到目标数据库中36第6章配置源数据库、目标数据库的双向数据传输366.1关闭目标数据库回收站,打开数据库辅助日志376.2在源数据库端添加checkpoint表,实现一致性376.3在源数据库增加一个replicat进程386.4在源数据库创建一个checkpoint表386.5编辑配置replicat进程396.6在目标数据库端配置globals文件396.7在目标数据库安装goldengate用户需要的表396.8在目标数据库配置一个

7、extract进程406.9在目标数据库端配置一个pump进程406.10在源数据库端启动replicat进程426.11在目标数据库中启动extract、replicat的进程426.12目标数据库可以把数据、表结构的修过同步到源数据库服务器上42第7章备注:447.1oracle官网的下载地址447.2goldengate的globals配置文件内容447.3goldengate的eiex01配置文件内容447.4goldengate的epmp01配置文件内容447.5goldengate的rora01配置文件内容457.6goldengate的eiexbb配置文件内容457.7golde

8、ngate的epmpbb配置文件内容457.8goldengate的rorabb配置文件内容457.9更改goldengate的复制时间点467.10查看goldengate命令格式467.11查看manager,extract,replicat是否运行477.12查看goldengate进程的错误48第1章 goldengate概述1.1 goldengate技术原理oracle公司的goldengate tdm(交易数据管理)软件是一种基于日志的结构化数据复制软件,它通过解析源数据库在线日志或归档日志获得数据的增删改变化,再将这些变化应用到目标数据库,实现源数据库与目标数据库同步、双活。g

9、oldengate tdm 软件可以在异构的it基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒一级的实时复制,其复制过程简图如下: 如上图所示,goldengate tdm的数据复制过程如下: 利用捕捉进程(capture process)在源系统端读取online redo log或archive log,然后进行解析,只提取其中数据的变化如增、删、改操作,并将相关信息转换为goldengate tdm自定义的中间格式存放在队列文件中。再利用传送进程将队列文件通过tcp/ip传送到目标系统。捕捉进程在每次读完log中的数据变化并在数据传送到目标系统后,会写检查点,记

10、录当前完成捕捉的log位置,检查点的存在可以使捕捉进程在中止并恢复后可从检查点位置继续复制; 目标系统接受数据变化并缓存到goldengate tdm队列当中,队列为一系列临时存储数据变化的文件,等待投递进程读取数据; goldengate tdm投递进程从队列中读取数据变化并创建对应的sql语句,通过数据库的本地接口执行,提交到数据库成功后更新自己的检查点,记录已经完成复制的位置,数据的复制过程最终完成。 由此可见,goldengate tdm是一种基于软件的数据复制方式,它从数据库的日志解析数据的变化(数据量只有日志的四分之一左右)。goldengate tdm将数据变化转化为自己的格式,

11、直接通过tcp/ip网络传输,无需依赖于数据库自身的传递方式,而且可以通过高达9:1的压缩率对数据进行压缩,可以大大降低带宽需求。在目标端,goldengate tdm可以通过交易重组,分批加载等技术手段大大加快数据投递的速度和效率,降低目标系统的资源占用,可以在亚秒级实现大量数据的复制,并且目标端数据库是活动的。 goldengate tdm提供了灵活的应用方案,基于其先进、灵活的技术架构可以根据用户需求组成各种拓扑结构,如图所示:goldengate tdm各种拓扑结构示意图 1、单向数据复制:由一个源数据库复制到一个目的数据库,一般用于高可用性和容灾,为生产机保持一个活动的备份数据库,从

12、而在发生灾难的时候迅速切换,减少数据丢失和系统宕机时间; 2、 双向数据复制:利用goldengate tdm可以实现两个数据库之间数据的双向复制,任何一方的数据变化都会被传递到另一端,可以利用此模式开展双业务中心; 3、 广播复制-由一个数据库向多个数据库复制,利用goldengate tdm的数据过滤功能可以实现数据的有选择分发; 4、 集中复制-由多个数据库向一个数据库复制,可以将分布的、跨平台或异构的多个数据库集中到一个数据库。此种模式广泛应用于n+1模式的容灾,通过将多个系统数据库集中到一起,可以充分利用备份中心的设施,大幅减少投资;另外也用于跨平台多系统的数据集成,为这些提供系统提

13、供一个统一视图便于查询和统计数据。 5、 层复制-由a数据库向b复制,同时又由b向c复制,可以在以上几种模式基础上无限制扩展。 由此可见,goldengate tdm的复制模式非常灵活,用户可以根据自己的需求选择特定的复制方式,并根据系统扩展对复制进行扩展。1.2 goldengate可靠的复制goldengate tdm 可以提供可靠的数据复制,主要体现在下面三点: 保证事务一致性 goldengate tdm 在灾备数据库应用复制数据库交易的顺序与在生产中心数据库上的顺序相同,并且按照相同的事务环境提交,确保在目标系统上数据的完整性和读一致性,为实时查询和事务处理创造了条件。 检查点机制保

14、障数据无丢失 goldengate tdm的抽取和复制进程使用检查点机制记录完成复制的位置。对于抽取进程,其检查点记录当前已经抽取日志的位置和写队列文件的位置;对于投递进程,其检查点记录当前读取队列文件的位置。检查点机制可以保证在系统、网络或goldengate tdm进程故障重启后数据无丢失。 可靠的数据传输机制 goldengate tdm 用应答机制传输交易数据,只有在得到确认消息后才认为数据传输完成,否则将自动重新传输数据,从而保证了抽取出的所有数据都能发送到备份端。数据传输过程中支持128位加密和数据压缩功能; 1.3 goldengate支持操作系统和数据库类型 goldengat

15、e tdm公司的核心产品transactional data management (tdm),可以在异构的it基础结构之间实现大量数据的秒一级的数据捕捉、转换和投递。goldengate tdm可以支持几乎所有常用操作系统如和数据库平台,如下表所示: 操作系统 数据库 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, teradat

16、a, 其他odbc 兼容数据库 第2章 安装goldengate2.1 安装goldengate环境源数据库平台:32位windows2003 oracle10.2.0.1.0版本目标数据库平台:32位windows2003 oracle10.2.0.1.0版本源数据库:服务器名称:源数据库,ip:10.21.8.50目标数据库:服务器名称:目标数据库, ip:10.21.8.51源数据库:归档模式,oracle_sid:ora01 用户:test01 goldengate专属用户:goldengate01目标数据库:归档模式,oracle_sid:ora02 用户:test02 golden

17、gate专属用户:goldengate2.2 分别在源数据库,目标数据库安装goldengate2.2.1 下载goldengate在源数据库下操作,windows的goldengate比较小,只有8.37m。如下图:2.2.2 解压2.2.3 安装goldengate官方文档要求用administrator权限安装(需要系统管理员的权限)双击f:goldengatev18162-01目录下的ggsci.exeggsci(源数据库) 1create subdirs然后退出:ggsci(源数据库) 2exit2.2.4 同时在目标数据库安装goldengate在目标数据库下执行上面的步骤操作,进

18、行安装goldengate第3章 把源数据库的数据同步到目标数据库中3.1 设置oracle_home,oracle_sid环境变量如果源数据库、目标数据库有多个oracle数据库实例,需要在系统中分别设置oracle_home,oracle_sid.如“我的电脑”右键“属性”,选择“高级”“环境变量”进行添加oracle_home,oracle_sid。如下图:3.2 在源数据库ora01上打开归档日志及其辅助日志sqlarchive log list; -确认数据库为归档日志sqlalter database add supplemental log data;sqlalter syste

19、m switch logfile;sqlexit3.3 在源数据库,目标数据库创建goldengate globals参数文件3.3.1 在源数据库创建双击ggsci.exeggsciedit params ./globals内容:mgrservname mgrtest013.3.2 创建goldengate manager服务install addservice addevents创建后,如下图3.3.3 在目标数据库安装上面步骤创建manager在目标数据库也执行上面的操作,把mgrservname 中的“mgrtest01”改成“mgrservname mgrtest02”如下图:3.4

20、 在源数据库,目标数据库配置mgr,启动manager进程3.4.1 配置manager服务的mgr配置文件在源数据库,双击ggsci.exe源数据库的端口暂时给8001,目标数据库的端口设置为8002ggsciedit params mgr内容为:port 80013.4.2 启动mgr如下图:manager的“mgrtest01”已经启动3.4.3 同样在目标数据库配置mgr文件在目标数据库端执行上面的步骤操作,把port改成80023.5 测试把源数据库数据同步到目标数据库数据库上3.5.1 在源数据库创建test01数据库用户3.5.2 执行goldengate的测试脚本,创建表3.5

21、.3 插入数据脚本3.5.4 在goldengate中用oracle用户登陆数据库双击ggsci.exe出现这个错误有可能是test01用户没有dba的权限进入数据库中,把权限赋予给test01sqlgrant dba to test01;下面就可以登陆了3.5.5 增加需要传输的用户表需要把test01用户的tcustmer、tcustord表的数据传输到目标数据库服务器的test02用户上3.5.6 在目标数据库创建用户及其表结构在目标数据库端创建test02用户,创建tcustmer、tcustord两个表的结构sqlconn test02/test02sql f:goldengatev

22、18162-01demo_ora_create.sql3.6 用goldengate中的direct load方式导入数据到目标数据库的test02用户表上3.6.1 在源数据库配置一个extract进程 eini013.6.2 在目标数据库端配置一个replicat进程3.6.3 在源数据库执行初始化过程ggscistart extract eini01该进程会自动启动目标数据库端的replicat rini01进程。在ggsci.exe查看源数据库中的传输是否有错 view report eini01在ggsci.exe查看目标数据库中的是否有错:view report rini01 3.

23、6.4 验证目标数据库端的test02用户表数据是否和源数据库一样第4章 把源数据库的修改数据同步到目标数据库中4.1 在源数据库配置一个extract进程及配置其文件4.1.1 配置extract文件和初始化数据一样,先配置一个extract进程ggsciedit param eiex014.1.2 在ggsci.exe增加一个extract进程ggsci add extract eiex01, tranlog,begin nowggsci add exttrail ./dirdat/tt, extract eiex01, megabytes 54.2 配置data pump4.2.1 在源

24、数据库端添加一个pump进程4.2.2 在源数据库的ggsci中增加extract进程其作用为读取本地trail文件到目标端trail文件ggsci add extract epmp01, exttrailsource ./dirdat/tt添加进程 并通过exttrailsource说明本地trail 文件存放地。4.2.3 在源数据库执行rmttrailggsci add rmttrail ./dirdat/tt, extract epmp01,megabytes 5告诉其目标数据库trail文件地点4.3 启动data pump capture processggsci start ex

25、tract eiex01 ggsci start extract epmp01ggsciinfo all发现extract eiex01不能启动,用view report eiex01查看具体原因,错误如下把源数据库的recyclebin 参数改成falsesql show parameter recyclebinname type value- - -recyclebin string onsql alter system set recyclebin=off;系统已更改。再启动eiex01进程4.4 在目标数据库端配置change delivery在目标数据库的全局文件中添加checkpo

26、int表,用来实现一致性的4.5 在目标数据库中创建goldengate专属用户及其表4.6 在目标数据库配置replicat进程4.6.1 在ggsci增加一个replicat进程ggsci (omstest02) 79 dblogin userid test02ora02,password test02successfully logged into database.ggsci (omstest02) 80 add replicat rora01,checkpointtable goldengate.ggs_checkpoint,exttrail ./dirdat/ttreplicat

27、added.4.6.2 编辑配置replicat文件ggsci (omstest02) 80edit params rora014.7 启动replicat进程4.8 测试检查同步结果4.8.1 在源数据库执行插入数据sql demo_ora_misc 生成数据查看ggserr.log出错2009-12-24 11:04:01 ggs info 374 oracle goldengate command interpreter for oracle: ggsci received window closed event.可以查看源数据库的eiex01,epmp01进程信息和目标数据库的rora

28、01进程信息如图rora01进程异常具体信息修改userid goldengate,password goldengate修改成userid test02ora02,password test02如图:出错错误如下图:重新配置replicat进程这样就可以把源数据库的test01数据表同步到目标数据库的test02数据库上。如果出错,可以查看源数据库,或者目标数据库上的eiex01、epmp01、rora01进程的错误。如 view report eiex01.如果修改进程的配置文件,需要关闭进程,然后重新启动才有效。gsciistop extract eiex01 (或者stop eiex0

29、1)gsciistart extract eiex01 (或者start eiex01)第5章 把源数据库的ddl(表结构)修改同步到目标数据库中ddl同步默认是不支持的,需要在源数据库上安装相关goldengate包 并配置才能使用。dml-data manipulation language 数据操纵语言如insert,delete,update,select(插入、删除、修改、检索)ddl-data definition language 数据库定义语言 如 create procedure之类dcl-data control language 数据库控制语言如grant,deny,re

30、voke等,只有管理员才有这样的权限。 5.1 在源数据库端关闭数据库的回收站recyclebin值为offsql show parameter recyclename type value- - -buffer_pool_recycle stringdb_recycle_cache_size big integer 0recyclebin string off5.2 编辑源数据库参数文件globals5.3 在源数据库创建goldengate01用户,并创建goldengate所需要的表sqlgrant connect,resource to goldengate01 ;在sys用户执行sq

31、lplusmarker_setup -选择刚才创建的用户goldengate01sqlplusddl_setup -选择goldengate01 然后选择initialsetup,再然后选择yessqlplus role_setup -选择goldengate01sqlplus ddl_enable5.4 检查源数据库上的表是否安装好5.5 修改源数据库配置extract文件ggsciedit params eiex01在文件中加上ddl关键字,如下图:5.6 重新启动extract进程修改了eiex01配置文件,需要关闭该进程,再启动5.7 验证源数据库是否可以同步表结构到目标数据库中在目标

32、数据库查看该表结构,也已经增加上该字段。第6章 配置源数据库、目标数据库的双向数据传输在上面单向ddl、dml传输的基础上配置双向ddl、dml6.1 关闭目标数据库回收站,打开数据库辅助日志6.2 在源数据库端添加checkpoint表,实现一致性6.3 在源数据库增加一个replicat进程6.4 在源数据库创建一个checkpoint表6.5 编辑配置replicat进程6.6 在目标数据库端配置globals文件6.7 在目标数据库安装goldengate用户需要的表sqlplusgrant execute on utl_file to goldengate;sqlplusmarker

33、_setup 选择goldengate用户sqlplusddl_setup 选择goldengate用户,第一次选择initialsetup,再yessqlplus role_setup 选择goldengate用户sqlplus ddl_enable6.8 在目标数据库配置一个extract进程在ggsci中添加extract进程,如下图:6.9 在目标数据库端配置一个pump进程其作用为读取本地trail文件到目标端trail文件6.10 在源数据库端启动replicat进程6.11 在目标数据库中启动extract、replicat的进程如下图:6.12 目标数据库可以把数据、表结构的修

34、过同步到源数据库服务器上目标数据库:源数据库:可以把数据修改、表结构的修改在源数据库或者在目标数据库中执行,都可以同步到另一端的数据库中。第7章 备注:7.1 oracle官网的下载地址.7.2 goldengate的globals配置文件内容mgrservname mgr01ggschema gate01checkpointtable gate01.ggs_checkpoint7.3 goldengate的eiex01配置文件内容内容:extract eiex01userid test01ora01,password test01exttrail ./dirdat/aaddltable te

35、st01.tcustmer;table test01.tcustord;上面的参数可以参考goldengate文档,启动eiex01进程,即是读取该配置文件的内容。把数据库中的golden01用户的dml操作和ddl的操作捕获到goldengate安装目录的./dirdat/目录中,生成的文件一般是aa000000,aa000001这里的文件。7.4 goldengate的epmp01配置文件内容内容:extract eini01userid test01ora01,password test01rmthost 10.21.8.51,mgrport 8002rmttask replicat,group rini01table test01.tcustmer;table test01.tcustord;该进程把当前的./dirdat/目录中的aa000000,

温馨提示

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

最新文档

评论

0/150

提交评论