oracle GoldenGate.docx
- 文档编号:14432719
- 上传时间:2023-04-23
- 格式:DOCX
- 页数:25
- 大小:116.19KB
oracle GoldenGate.docx
《oracle GoldenGate.docx》由会员分享,可在线阅读,更多相关《oracle GoldenGate.docx(25页珍藏版)》请在冰豆网上搜索。
oracleGoldenGate
OracleGoldenGate
1.OracleGoldenGate介绍
GoldenGateTDM(交易数据管理)软件是一种基于日志的结构化数据复制软件,它通过解析源数据库在线日志或归档日志获得数据的增删改变化,再将这些变化应用到目标数据库,实现源数据库与目标数据库同步、双活。
GoldenGateTDM软件可以在异构的IT基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒一级的实时复制,其复制过程简图如下:
如上图所示,GoldenGateTDM的数据复制过程如下:
利用捕捉进程(CaptureProcess)在源系统端读取OnlineRedoLog或ArchiveLog,然后进行解析,只提取其中数据的变化如增、删、改操作,并将相关信息转换为GoldenGateTDM自定义的中间格式存放在队列文件中。
再利用传送进程将队列文件通过TCP/IP传送到目标系统。
捕捉进程在每次读完log中的数据变化并在数据传送到目标系统后,会写检查点,记录当前完成捕捉的log位置,检查点的存在可以使捕捉进程在中止并恢复后可从检查点位置继续复制;
目标系统接受数据变化并缓存到GoldenGateTDM队列当中,队列为一系列临时存储数据变化的文件,等待投递进程读取数据;
GoldenGateTDM投递进程从队列中读取数据变化并创建对应的SQL语句,通过数据库的本地接口执行,提交到数据库成功后更新自己的检查点,记录已经完成复制的位置,数据的复制过程最终完成。
由此可见,GoldenGateTDM是一种基于软件的数据复制方式,它从数据库的日志解析数据的变化(数据量只有日志的四分之一左右)。
GoldenGateTDM将数据变化转化为自己的格式,直接通过TCP/IP网络传输,无需依赖于数据库自身的传递方式,而且可以通过高达9:
1的压缩率对数据进行压缩,可以大大降低带宽需求。
在目标端,GoldenGateTDM可以通过交易重组,分批加载等技术手段大大加快数据投递的速度和效率,降低目标系统的资源占用,可以在亚秒级实现大量数据的复制,并且目标端数据库是活动的
GoldenGateTDM提供了灵活的应用方案,基于其先进、灵活的技术架构可以根据用户需求组成各种拓扑结构,如图所示:
GoldenGateTDM可以提供可靠的数据复制,主要体现在下面三点:
保证事务一致性
GoldenGateTDM在灾备数据库应用复制数据库交易的顺序与在生产中心数据库上的顺序相同,并且按照相同的事务环境提交,确保在目标系统上数据的完整性和读一致性,为实时查询和事务处理创造了条件。
检查点机制保障数据无丢失
GoldenGateTDM的抽取和复制进程使用检查点机制记录完成复制的位置。
对于抽取进程,其检查点记录当前已经抽取日志的位置和写队列文件的位置;对于投递进程,其检查点记录当前读取队列文件的位置。
检查点机制可以保证在系统、网络或GoldenGateTDM进程故障重启后数据无丢失。
可靠的数据传输机制
GoldenGateTDM用应答机制传输交易数据,只有在得到确认消息后才认为数据传输完成,否则将自动重新传输数据,从而保证了抽取出的所有数据都能发送到备份端。
数据传输过程中支持128位加密和数据压缩功能。
Oracle公司的GoldenGate产品,可以在异构的IT基础结构之间实现大量数据的秒一级的数据捕捉、转换和投递。
GoldenGate可以支持几乎所有常用操作系统如和数据库平台,如下表所示:
操作系统
数据库
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兼容数据库
2.OracleGoldenGateForOracle(windows平台)安装
GoldenGate的安装非常简单,将解压缩安装文件到指定目录。
比如安装文件解压缩后的路径为d:
\ggs
安装步骤如下:
1.进入命令行
2.切换到ggs目录下
3.输入命令installaddserviceaddevents
4.输入ggsci进入GoldenGate的命令行
5.输入createsubdirs
OK,GoldenGate安装就已经完成了。
实际操作如下
C:
\DocumentsandSettings\PONY>d:
D:
\>cdggs
D:
\ggs>installaddserviceaddevents
OracleGoldenGatemessagesinstalledsuccessfully.
Service'GGSMGR'created.
Installprogramterminatednormally.
D:
\ggs>ggsci
OracleGoldenGateCommandInterpreterforOracle
Version10.4.0.19Build002
Windows(optimized),Oracle10onSep18200915:
54:
55
Copyright(C)1995,2009,Oracleand/oritsaffiliates.Allrightsreserved.
GGSCI(PONY)1>createsubdirs
CreatingsubdirectoriesundercurrentdirectoryD:
\ggs
ParameterfilesD:
\ggs\dirprm:
created
ReportfilesD:
\ggs\dirrpt:
created
CheckpointfilesD:
\ggs\dirchk:
created
ProcessstatusfilesD:
\ggs\dirpcs:
created
SQLscriptfilesD:
\ggs\dirsql:
created
DatabasedefinitionsfilesD:
\ggs\dirdef:
created
ExtractdatafilesD:
\ggs\dirdat:
created
TemporaryfilesD:
\ggs\dirtmp:
created
VeridatafilesD:
\ggs\dirver:
created
VeridataLockfilesD:
\ggs\dirver\lock:
created
VeridataOut-Of-SyncfilesD:
\ggs\dirver\oos:
created
VeridataOut-Of-SyncXMLfilesD:
\ggs\dirver\oosxml:
created
VeridataParameterfilesD:
\ggs\dirver\params:
created
VeridataReportfilesD:
\ggs\dirver\report:
created
VeridataStatusfilesD:
\ggs\dirver\status:
created
VeridataTracefilesD:
\ggs\dirver\trace:
created
StdoutfilesD:
\ggs\dirout:
created
3.数据库复制实施文档(DML)
3.1准备工作
◆准备两台机器,分别为SourceDB,TargetDB,通过TCP/IP网络进行互连
SourceDB:
WINXP环境,Oracle10g10.2.0.1.0
TargetDB:
WIN2003环境Oracle10g10.2.0.1.0
◆必须保证SourceDB是运行在归档模式下。
◆目的:
将SourceDB中相关Schema中的数据同步复制到TargetDB相对应的Sechema中
本文中要同步的是SouceDB中的SAJET,SJ,SMT,LANG到Target中的SAJET,SJ,SMT,LANG用户下
◆首先要保持SourceD,TargetDB相关Schema中的初始数据一致,可以通过Exp/Imp,Rman,冷备等方式实现.
◆双方DB建立GoldenGate用户,赋予DBA权限,用于GoldenGate连接DB.
◆双方DB安装GoldenGate,安装方式如第二章节所示
◆SourceDB必须开始最小附加日志模式
通过以下语句查看DB是否开启了最小附加日志模式
SQL>selectSUPPLEMENTAL_LOG_DATA_MINfromv$database;
SUPPLEME
--------
YES
如果没有开启数据库的最小附加日志,则通过以下语句开启
SQL>alterdatabaseaddsupplementallogdata;
◆开启表的最小附加日志,通过GoldenGate命令行来添加
GGSCI(PONY)1>dbloginuseridsajetpasswordtech
Successfullyloggedintodatabase.
GGSCI(PONY)2>addtrandatasajet.*
第一条命令表示登录到Database
第二条命令表示添加Sajet用户下所有表的最小附加日志
同样的命令开启SJ,LANG,SMT用户下的表的最小附加日志。
3.2配置GoldenGate
3.2.1配置SourceDB的GoldenGate
SourceDB端需要配置mgr进程,添加一个extract进程,和一个远端队列。
1.配置mgr参数
GGSCI(PONY)2>editparammgr
此时系统自动会新建一个名为mgr的参数文件,填入以下内容后保存
PORT7809
--mgr进程使用的TCP/IP端口侦听请求
2.新增一个抽取进程,在GGSCI命令行中输入如下命令:
GGSCI(PONY)1>addextractext1,tranlog,beginnow
EXTRACTadded.
---新增一个抽取进程,负责抓取SourceDB中变化的数据,基于日志方式,立即生效
3.配置抽取进程
GGSCI(PONY)2>editparamext1
此时系统会自动新建一个名为ext1的参数文件,填入以下内容后保存
extractext1
useridgoldengate,passwordgoldengate
rmthost172.17.17.61,mgrport7809
rmttraild:
\ggs\dirdat\r1
dynamicresolution
gettruncates
tablesajet.*;
tablesj.*;
tablesmt.*;
tablelang.*;
--
抽取进程名为ext2
连接本机DB的账号和密码
远程主机地址以及服务端口号(TargetDB)
远程队列的位置(TargetDB)
优化参数,动态分析表结构
是否抓取Truncate的数据
需要抽取哪些table。
4.新增远端队列位置
GGSCI(PONY)3>addrmttraild:
\ggs\dirdat\r1extractext2
RMTTRAILadded.
--
新增一个远程队列,位置为在TargetDB的d:
\ggs\dirdat\r1,是抽取进程ext1抽取的数据队列,注意和抽取进程中配置的rmttraild:
\ggs\dirdat\r1一致。
开启所有进程
GGSCI(PONY)11>startmgr
StartingManagerasservice('GGSMGR')...
Servicestarted.
GGSCI(PONY)14>startext1
SendingSTARTrequesttoMANAGER('GGSMGR')...
EXTRACTEXT1starting
查看进程的运行情况
GGSCI(PONY)185>infoall
ProgramStatusGroupLagTimeSinceChkpt
MANAGERRUNNING
EXTRACTRUNNINGEXT100:
00:
0000:
00:
06
OK,Mgr进程和EXT进程都已经正常运行
SouceDB端的配置完成。
3.2.2配置TargetDB的GoldenGate
1.配置mgr参数
GGSCI(PONY)2>editparammgr
此时系统自动会新建一个mgr的参数文件,填入以下内容后保存
PORT7809
DYNAMICPORTLIST7840-7850
--mgr进程使用的TCP/IP端口侦听请求
接受远端队列的端口列表。
2.新增一个复制进程
GGSCI(PONY)2>ADDreplicatrep1EXTTRAILd:
\ggs\dirdat\r1,nodbcheckpoint
--新增一个复制进程,将抽取到队列中的文件解析后写进TargetDB
3.配置复制进程
GGSCI(PONY)2>editparamrep1
此时系统会自动新建一个参数文件,填入一下内容后保存
replicatrep1
useridgoldengate,passwordgoldengate
assumetargetdefs
reperrordefault,discard
discardfileD:
\oradata\discard\repsz.dsc,append,megabytes100
gettruncate
mapsajet.*,targetsajet.*;
mapsj.*,targetsj.*;
maplang.*,targetlang.*;
mapsmt.*,targetsmt.*;
--复制进程名
登入TargetDB的账号和密码
两台DB数据结构一致则使用此参数
如果复制出错,则继续,并将错误放进discardfile中
复制truncate操作
复制的源表为sajet,sj,lang,smt用户下的所有表,目标为TargetDB中对用用户下的所有表
开启mgr和rep进程
GGSCI(PONY)20>startmgr
StartingManagerasservice('GGSMGR')...
Servicestarted.
GGSCI(PONY)21>startrep1
SendingSTARTrequesttoMANAGER('GGSMGR')...
REPLICATREP1starting
查看进程的运行情况
GGSCI(PONY)22>infoall
ProgramStatusGroupLagTimeSinceChkpt
MANAGERRUNNING
REPLICATRUNNINGREP100:
00:
0000:
00:
07
OK,MGR进程和REP进程运行正常
至此,两台DB的GoldenGate都已经配置完成。
3.3测试DML操作
首先往SourceDB中插入一行
C:
\DocumentsandSettings\Administrator>sqlplus
SQL*Plus:
Release10.2.0.1.0-ProductiononMonMar815:
33:
472010
Copyright(c)1982,2005,Oracle.Allrightsreserved.
Enteruser-name:
sajet/tech@hitron
Connectedto:
OracleDatabase10gEnterpriseEditionRelease10.2.0.1.0-64bitProduction
WiththePartitioning,OLAPandDataMiningoptions
SQL>insertintosajet.sys_empvalues(10000786,'TEST1','TEST1','','TEST','10000
27','','Y','',0,'',0,'','')
2;
1rowcreated.
SQL>commit
2;
Commitcomplete.
看看TargetDB中是否有同样的记录存在呢
SQL>connectsajet/tech@goldenga
Connected.
SQL>selectcount(*)fromsajet.sys_emp
2whereemp_id=10000786;
COUNT(*)
----------
1
同步过来了。
我们可以看看EXT1进程的相关统计信息
GGSCI(sajet-project)189>statsext1
SendingSTATSrequesttoEXTRACTEXT1...
StartofStatisticsat2010-03-0815:
47:
51.
DDLreplicationstatistics(foralltrails):
***Totalstatisticssinceextractstarted***
Operations40.00
Mappedoperations28.00
Unmappedoperations0.00
Otheroperations12.00
Excludedoperations0.00
Outputtod:
\ggs\dirdat\r1:
ExtractingfromGOLDENGATE.GGS_MARKERtoGOLDENGATE.GGS_MARKER:
***Totalstatisticssince2010-03-0509:
51:
51***
Nodatabaseoperationshavebeenperformed.
***Dailystatisticssince2010-03-0800:
00:
00***
Nodatabaseoperationshavebeenperformed.
***Hourlystatisticssince2010-03-0815:
00:
00***
Nodatabaseoperationshavebeenperformed.
***Lateststatisticssince2010-03-0509:
51:
51***
Nodatabaseoperationshavebeenperformed.
ExtractingfromSAJET.GOLDEGATETESTtoSAJET.GOLDEGATETEST:
***Totalstatisticssince2010-03-0509:
51:
51***
Totalinserts3.00
Totalupdates0.00
Totaldeletes0.00
Totaltruncates2.00
Totaldiscards0.00
Totaloperations5.00
***Dailystatisticssince2010-03-0800:
00:
00***
Nodatabaseoperationshavebeenperformed.
***Hourlystatisticssince2010-03-0815:
00:
00***
Nodatabaseoperationshavebeenperformed.
***Lateststatisticssince2010-03-0509:
51:
51***
Totalinserts3.00
Totalupdates0.00
Totaldeletes0.00
Totaltruncates2.00
Totaldiscards0.00
Totaloperations5.00
ExtractingfromSAJET.SYS_EMPtoSAJET.SYS_EMP:
***Totalstatisticssince2010-03-0509:
51:
51***
Totalinserts2.00
Totalupdates0.00
Totaldeletes0.00
Totaldiscards0.00
Totaloperations2.00
***Dailystatisticssince2010-03-0800:
00:
00***
Totalinserts2.00
Totalupdates0.00
Totaldeletes0.00
Totaldiscards0.00
Totaloperations2.00
***Hourlystatisticssince2010-03-0815:
00:
00***
Totalinserts2.00
Totalupdates0.00
Totaldeletes0.00
Totaldiscards0.00
Totaloperations2.00
***Lateststatisticssince2010-03-0509:
51:
51***
Totalinserts2.00
Totalupdates0.00
Totaldeletes0.00
Totaldiscards0.00
Totaloperations2.00
ExtractingfromSAJET.MLOG$_SYS_EMPtoSAJET.MLOG$_SYS_EMP:
***Totalstatisticssince2010-03-0509:
51:
51***
Totalinserts2.00
Totalupdates0.00
Totaldeletes0.00
Totaldiscards0.00
Totaloperations2.00
***Dailystatisticssince2010-03-0800:
00:
00***
Totalinserts2.00
Totalupdates0.00
Totaldeletes0.00
Totaldiscards0.00
Total
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oracle GoldenGate