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

下载本文档

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

文档简介

本文格式为Word版,下载可任意编辑——GoldenGate在Windows平台的双向数据传输配置及其测试

ORACLEGoldenGate在Windows平台中单向、双向数据传输配置及其测试

2023年12月30日

GoldenGate单向、双向数据传输配置及其测试

文档修订历史版本号0.10.1

第2页

版本日期2023-12-302023-12-31修改内容摘要初稿完成初稿修订人蒙昭良蒙昭良GoldenGate单向、双向数据传输配置及其测试

目录

第1章

1.11.21.3第2章

2.12.2

GoldenGate概述5GoldenGate技术原理5GoldenGate可靠的复制8GoldenGate支持操作系统和数据库类型8安装GoldenGate9安装GoldenGate环境9分别在源数据库,目标数据库安装GoldenGate92.2.1下载GoldenGate92.2.2解压102.2.3安装GoldenGate102.2.4同时在目标数据库安装GoldenGate11

第3章把源数据库的数据同步到目标数据库中11

3.1设置ORACLE_HOME,ORACLE_SID环境变量113.2在源数据库ora01上开启归档日志及其辅助日志123.3在源数据库,目标数据库创立GoldenGateGLOBALS参数文件13

3.3.1在源数据库创立133.3.2创立Goldengatemanager服务133.3.3在目标数据库安装上面步骤创立manager143.4在源数据库,目标数据库配置mgr,启动manager进程14

3.4.1配置manager服务的mgr配置文件143.4.2启动mgr153.4.3同样在目标数据库配置mgr文件153.5测试把源数据库数据同步到目标数据库数据库上16

3.5.1在源数据库创立test01数据库用户163.5.2执行GoldenGate的测试脚本,创立表163.5.3插入数据脚本173.5.4在goldengate中用oracle用户登陆数据库173.5.5增加需要传输的用户表183.5.6在目标数据库创立用户及其表结构183.6用goldengate中的directload方式导入数据到目标数据库的test02用户表上19

3.6.1在源数据库配置一个extract进程eini01193.6.2在目标数据库端配置一个replicat进程193.6.3在源数据库执行初始化过程203.6.4验证目标数据库端的test02用户表数据是否和源数据库一样20

第4章把源数据库的修改数据同步到目标数据库中21

4.1在源数据库配置一个EXTRACT进程及配置其文件21

4.1.1配置EXTRACT文件214.1.2在GGSCI.exe增加一个EXTRACT进程224.2配置datapump23

4.2.1在源数据库端添加一个pump进程234.2.2在源数据库的ggsci中增加extract进程244.2.3在源数据库执行RMTTRAIL24

第3页

GoldenGate单向、双向数据传输配置及其测试

启动datapumpcaptureprocess24在目标数据库端配置changedelivery26在目标数据库中创立goldengate专属用户及其表26在目标数据库配置replicat进程274.6.1在ggsci增加一个replicat进程274.6.2编辑配置replicat文件274.7启动replicat进程284.8测试检查同步结果28

4.8.1在源数据库执行插入数据28

4.34.44.54.6

第5章5.15.25.35.45.55.65.7第6章6.16.26.36.46.56.66.76.86.96.106.116.12第7章7.17.27.37.47.57.67.77.87.97.107.117.12

第4页

把源数据库的DDL(表结构)修改同步到目标数据库中32

在源数据库端关闭数据库的回收站32编辑源数据库参数文件GLOBALS33在源数据库创立goldengate01用户,并创立goldengate所需要的表33检查源数据库上的表是否安装好35修改源数据库配置extract文件35重新启动extract进程36验证源数据库是否可以同步表结构到目标数据库中36配置源数据库、目标数据库的双向数据传输36

关闭目标数据库回收站,开启数据库辅助日志37在源数据库端添加checkpoint表,实现一致性37在源数据库增加一个replicat进程38在源数据库创立一个checkpoint表38编辑配置replicat进程39在目标数据库端配置GLOBALS文件39在目标数据库安装goldengate用户需要的表39在目标数据库配置一个extract进程40在目标数据库端配置一个pump进程40在源数据库端启动replicat进程42在目标数据库中启动extract、replicat的进程42目标数据库可以把数据、表结构的修过同步到源数据库服务器上42备注:44

Oracle官网的下载地址44GoldenGate的GLOBALS配置文件内容44GoldenGate的eiex01配置文件内容44GoldenGate的epmp01配置文件内容44GoldenGate的rora01配置文件内容45GoldenGate的eiexbb配置文件内容45GoldenGate的epmpbb配置文件内容45GoldenGate的rorabb配置文件内容45更改GoldenGate的复制时间点46查看GoldenGate命令格式46查看manager,extract,replicat是否运行47查看goldengate进程的错误48GoldenGate单向、双向数据传输配置及其测试

第1章GoldenGate概述

1.1GoldenGate技术原理

Oracle公司的GoldenGateTDM(交易数据管理)软件是一种基于日志的结构化数据复制软件,它通过解析源数据库在线日志或归档日志获得数据的增删改变化,再将这些变化应用到目标数据库,实现源数据库与目标数

据库同步、双活。GoldenGateTDM软件可以在异构的IT基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒一级的实时复制,其复制过程简图如下:

如上图所示,GoldenGateTDM的数据复制过程如下:

?利用捕获进程(CaptureProcess)在源系统端读取OnlineRedoLog或ArchiveLog,然

后进行解析,只提取其中数据的变化如增、删、改操作,并将相关信息转换为GoldenGateTDM自定义的中间格式存放在队列文件中。再利用传送进程将队列文件通过TCP/IP传送到目标系统。捕获进程在每次读完log中的数据变化并在数据传送到目标系统后,会写检查点,记录当前完成捕获的log位置,检查点的存在可以使捕获进程在中止并恢复后可从检查点位置继续复制;

第5页

GoldenGate单向、双向数据传输配置及其测试

?目标系统接受数据变化并缓存到GoldenGateTDM队列当中,队列为一系列临时存储数据

变化的文件,等待投递进程读取数据;

?GoldenGateTDM投递进程从队列中读取数据变化并创立对应的SQL语句,通过数据库的

本地接口执行,提交到数据库成功后更新自己的检查点,记录已经完成复制的位置,数据的复制过程最终完成。

由此可见,GoldenGateTDM是一种基于软件的数据复制方式,它从数据库的日志解析数据的变化(数据量只有日志的四分之一左右)。GoldenGateTDM将数据变化转化为自己的格式,直接通过TCP/IP网络传输,无需依靠于数据库自身的传递方式,而且可以通过高达9:1的压缩率对数据进行压缩,可以大大降低带宽需求。在目标端,GoldenGateTDM可以通过交易重组,分批加载等技术手段大大加快数据投递的速度和效率,降低目标系统的资源占用,可以在亚秒级实现大量数据的复制,并且目标端数据库是活动的。

GoldenGateTDM提供了灵活的应用方案,基于其先进、灵活的技术架构可以根据用户需求组成各种拓扑结构,如下图:

第6页

GoldenGate单向、双向数据传输配置及其测试

GoldenGateTDM各种拓扑结构示意图

1、单向数据复制:由一个源数据库复制到一个目的数据库,一般用于高可用性和容灾,为

生产机保持一个活动的备份数据库,从而在发生灾难的时候迅速切换,减少数据丢失和系统宕机时间;

2、双向数据复制:利用GoldenGateTDM可以实现两个数据库之间数据的双向复制,任何一

方的数据变化都会被传递到另一端,可以利用此模式开展双业务中心;

3、广播复制由一个数据库向多个数据库复制,利用GoldenGateTDM的数据过滤功能可

以实现数据的有选择分发;

4、集中复制由多个数据库向一个数据库复制,可以将分布的、跨平台或异构的多个数

据库集中到一个数据库。此种模式广泛应用于n+1模式的容灾,通过将多个系统数据库集中到一起,可以充分利用备份中心的设施,大幅减少投资;另外也用于跨平台多系统的数据集成,为这些提供系统提供一个统一视图便于查询和统计数据。

5、层复制由A数据库向B复制,同时又由B向C复制,可以在以上几种模式基础上无限制

扩展。

第7页

GoldenGate单向、双向数据传输配置及其测试

由此可见,GoldenGateTDM的复制模式十分灵活,用户可以根据自己的需求选择特定的复制方式,并根据系统扩展对复制进行扩展。1.2

GoldenGate可靠的复制

GoldenGateTDM可以提供可靠的数据复制,主要表达在下面三点:

?保证事务一致性

GoldenGateTDM在灾备数据库应用复制数据库交易的顺序与在生产中心数据库上的顺序一致,并且依照一致的事务环境提交,确保在目标系统上数据的完整性和读一致性,为实时查询和事务处理创造了条件。

?检查点机制保障数据无丢失

GoldenGateTDM的抽取和复制进程使用检查点机制记录完成复制的位置。对于抽取进程,其检查点记录当前已经抽取日志的位置和写队列文件的位置;对于投递进程,其检查点记录当前读取队列文件的位置。检查点机制可以保证在系统、网络或GoldenGateTDM进程故障重启后数据无丢失。

?可靠的数据传输机制

GoldenGateTDM用应答机制传输交易数据,只有在得到确认消息后才认为数据传输完成,否则将自动重新传输数据,从而保证了抽取出的所有数据都能发送到备份端。数据传输过程中支持128位加密和数据压缩功能;

1.3

GoldenGate支持操作系统和数据库类型

GoldenGateTDM公司的核心产品TransactionalDataManagement(TDM),可以在异构的IT基础结构之间实现大量数据的秒一级的数据捕获、转换和投递。GoldenGateTDM可以支持几乎所有常用操作系统如和数据库平台,如下表所示:

操作系统MSNT,2000,XP,Linux,SunSolaris,HP-UX,IBMAIX,HPNonStop,TRU64,IBMz/OS,OS/390数据库Oracle,DB2,MSSQLServer,MySQL,Enscribe,SQL/MP,SQL/MX,Sybase,Teradata,其他ODBC兼容数据库

第8页

GoldenGate单向、双向数据传输配置及其测试

第2章安装GoldenGate

2.1安装GoldenGate环境

源数据库平台:32位Windows2023Oracle10.2.0.1.0版本目标数据库平台:32位Windows2023Oracle10.2.0.1.0版本

源数据库:服务器名称:源数据库,ip:10.21.8.50

目标数据库:服务器名称:目标数据库,ip:10.21.8.51

源数据库:归档模式,ORACLE_SID:ora01用户:test01goldengate专属用户:goldengate01

目标数据库:归档模式,ORACLE_SID:ora02用户:test02goldengate专属用户:goldengate2.2

分别在源数据库,目标数据库安装GoldenGate

2.2.1下载GoldenGate

在源数据库下操作,windows的GoldenGate比较小,只有8.37M。如下图:

第9页

GoldenGate单向、双向数据传输配置及其测试

2.2.2解压

2.2.3安装GoldenGate

官方文档要求用administrator权限安装(需要系统管理员的权限)双击F:\\GoldenGate\\V18162-01\\目录下的ggsci.exeGGSCI(源数据库)1>CREATESUBDIRS

然后退出:

GGSCI(源数据库)2>EXIT

第10页

GoldenGate单向、双向数据传输配置及其测试

2.2.4同时在目标数据库安装GoldenGate

在目标数据库下执行上面的步骤操作,进行安装GoldenGate

第3章把源数据库的数据同步到目标数据库中

3.1设置ORACLE_HOME,ORACLE_SID环境变量

假使源数据库、目标数据库有多个Oracle数据库实例,需要在系统中分别设置ORACLE_HOME,ORACLE_SID.

如“我的电脑〞右键“属性〞,选择“高级〞——》“环境变量〞进行添加ORACLE_HOME,ORACLE_SID。如下图:

第11页

GoldenGate单向、双向数据传输配置及其测试

3.2在源数据库ora01上开启归档日志及其辅助日志

SQL>archiveloglist;--确认数据库为归档日志

Sql>alterdatabaseaddsupplementallogdata;Sql>altersystemswitchlogfile;

Sql>exit

第12页

GoldenGate单向、双向数据传输配置及其测试

3.3在源数据库,目标数据库创立GoldenGateGLOBALS参数文件

3.3.1在源数据库创立

双击ggsci.exe

GGSCI>editparams./GLOBALS内容:MGRSERVNAMEmgrtest01

3.3.2创立Goldengatemanager服务>INSTALLADDSERVICEADDEVENTS

创立后,如下图

第13页

GoldenGate单向、双向数据传输配置及其测试

3.3.3在目标数据库安装上面步骤创立manager

在目标数据库也执行上面的操作,把MGRSERVNAME中的“mgrtest01〞改成“MGRSERVNAMEmgrtest02〞如下图:

3.4

在源数据库,目标数据库配置mgr,启动manager进程

3.4.1配置manager服务的mgr配置文件

在源数据库,双击ggsci.exe

源数据库的端口暂时给8001,目标数据库的端口设置为8002

GGSCI>EDITPARAMSMGR内容为:PORT8001

第14页

GoldenGate单向、双向数据传输配置及其测试

3.4.2启动mgr

如下图:manager的“mgrtest01〞已经启动

3.4.3同样在目标数据库配置mgr文件

在目标数据库端执行上面的步骤操作,把PORT改成8002

第15页

GoldenGate单向、双向数据传输配置及其测试

3.5测试把源数据库数据同步到目标数据库数据库上

3.5.1在源数据库创立test01数据库用户

3.5.2执行GoldenGate的测试脚本,创立表

第16页

GoldenGate单向、双向数据传输配置及其测试

3.5.3插入数据脚本

3.5.4在goldengate中用oracle用户登陆数据库双击ggsci.exe

出现这个错误有可能是test01用户没有dba的权限

进入数据库中,把权限赋予给test01SQL>grantdbatotest01;

下面就可以登陆了

第17页

GoldenGate单向、双向数据传输配置及其测试

3.5.5增加需要传输的用户表

需要把test01用户的tcustmer、tcustord表的数据传输到目标数据库服务器的test02用户上

3.5.6在目标数据库创立用户及其表结构

在目标数据库端创立test02用户,创立tcustmer、tcustord两个表的结构

第18页

GoldenGate单向、双向数据传输配置及其测试

SQL>conntest02/test02

SQL>@F:\\GoldenGate\\V18162-01\\demo_ora_create.sql3.6

3.6.1在源数据库配置一个extract进程eini01

用goldengate中的directload方式导入数据到目标数据库的test02用户表上

3.6.2在目标数据库端配置一个replicat进程

第19页

GoldenGate单向、双向数据传输配置及其测试

3.6.3在源数据库执行初始化过程

GGSCI>startextracteini01

该进程会自动启动目标数据库端的replicatrini01进程。

在ggsci.exe查看源数据库中的传输是否有错viewreporteini01

在ggsci.exe查看目标数据库中的是否有错:viewreportrini01

3.6.4验证目标数据库端的test02用户表数据是否和源数据库一样

第20页

GoldenGate单向、双向数据传输配置及其测试

第4章把源数据库的修改数据同步到目标数据库中

4.1

在源数据库配置一个EXTRACT进程及配置其文件

4.1.1配置EXTRACT文件

和初始化数据一样,先配置一个extract进程GGSCI>EDITPARAMeiex01

第21页

GoldenGate单向、双向数据传输配置及其测试

4.1.2在GGSCI.exe增加一个EXTRACT进程

GGSCI>ADDEXTRACTeiex01,TRANLOG,BEGINNOW

GGSCI>ADDEXTTRAIL./dirdat/tt,EXTRACTeiex01,MEGABYTES5

第22页

GoldenGate单向、双向数据传输配置及其测试

4.2

4.2.1在源数据库端添加一个pump进程

配置datapump

第23页

GoldenGate单向、双向数据传输配置及其测试

4.2.2在源数据库的ggsci中增加extract进程

其作用为读取本地trail文件到目标端trail文件

GGSCI>ADDEXTRACTepmp01,EXTTRAILSOURCE./dirdat/tt添加进程并通过EXTTRAILSOURCE说明本地trail文件存放地。

4.2.3在源数据库执行RMTTRAIL

GGSCI>ADDRMTTRAIL./dirdat/tt,EXTRACTepmp01,MEGABYTES5告诉其目标数据库trail文件地点4.3

启动datapumpcaptureprocess

GGSCI>STARTEXTRACTeiex01GGSCI>STARTEXTRACTepmp01GGSCI>infoall

发现extracteiex01不能启动,

用viewreporteiex01查看具体原因,错误如下

第24页

GoldenGate单向、双向数据传输配置及其测试

把源数据库的recyclebin参数改成false

SQL>showparameterrecyclebin

NAMETYPEVALUE

recyclebinstringonSQL>altersystemsetrecyclebin=off;

系统已更改。

再启动eiex01进程

第25页

GoldenGate单向、双向数据传输配置及其测试

4.4在目标数据库端配置changedelivery

在目标数据库的全局文件中添加checkpoint表,用来实现一致性的

4.5

在目标数据库中创立goldengate专属用户及其表

第26页

GoldenGate单向、双向数据传输配置及其测试

4.6在目标数据库配置replicat进程

4.6.1在ggsci增加一个replicat进程

GGSCI(omstest02)79>dbloginuseridtest02@ora02,passwordtest02Successfullyloggedintodatabase.

GGSCI(omstest02)80>addreplicatrora01,CHECKPOINTTABLEgoldengate.ggs_checkpoint,EXTTRAIL./dirdat/ttREPLICATadded.

4.6.2编辑配置replicat文件

GGSCI(omstest02)80>editparamsrora01

第27页

GoldenGate单向、双向数据传输配置及其测试

4.7启动replicat进程

4.8

测试检查同步结果

4.8.1在源数据库执行插入数据SQL>@demo_ora_misc生成数据

第28页

GoldenGate单向、双向数据传输配置及其测试

查看ggserr.log出错

2023-12-2411:04:01GGSINFO374OracleGoldenGateCommandInterpreterforOracle:ggscireceivedwindowclosedevent.

可以查看源数据库的eiex01,epmp01进程信息和目标数据库的rora01进程信息如图

Rora01进程异常具体信息

修改useridgoldengate,passwordgoldengate修改成useridtest02@ora02,passwordtest02

第29页

GoldenGate单向、双向数据传输配置及其测试

如图:出错

错误如下图:

第30页

showparameterrecycle

NAMETYPEVALUE

buffer_pool_recyclestring

db_recycle_cache_sizebiginteger0recyclebinstringOFF

第32页

GoldenGate单向、双向数据传输配置及其测试

5.2编辑源数据库参数文件GLOBALS

5.3

在源数据库创立goldengate01用户,并创立goldengate所需要的表

SQL>grantconnect,resourcetogoldengate01;在sys用户执行

sqlplus>@marker_setup--选择方才创立的用户goldengate01

第33页

GoldenGate单向、双向数据传输配置及其测试

sqlplus>@ddl_setup--选择goldengate01然后选择INITIALSETUP,再然后选择yessqlplus>@role_setup--选择goldengate01sqlplus>@ddl_enable

第34页

GoldenGate单向、双向数据传输配置及其测试

5.4检查源数据库上的表是否安装好

5.5

修改源数据库配置extract文件

GGSCI>editparamseiex01

在文件中加上ddl关键字,如下图:

第35页

GoldenGate单向、双向数据传输配置及其测试

5.6重新启动extract进程

修改了eiex01配置文件,需要关闭该进程,再启动

5.7

验证源数据库是否可以同步表结构到目标数据库中

在目标数据库查看该表结构,也已经增加上该字段。

第6章配置源数据库、目标数据库的双向数据传输

在上面单向DDL、DML传输的基础上配置双向DDL、DML

第36页

GoldenGate单向、双向数据传输配置及其测试

6.1关闭目标数据库回收站,开启数据库辅助日志

6.2

温馨提示

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

评论

0/150

提交评论