goldengate安装测试文档.docx
《goldengate安装测试文档.docx》由会员分享,可在线阅读,更多相关《goldengate安装测试文档.docx(13页珍藏版)》请在冰豆网上搜索。
![goldengate安装测试文档.docx](https://file1.bdocx.com/fileroot1/2023-5/15/823df887-46c1-4d2c-97ad-3ce7d45d40bd/823df887-46c1-4d2c-97ad-3ce7d45d40bd1.gif)
goldengate安装测试文档
初尝oracleGoldenGate备份软件
前言
GoldenGate软件是一种基于日志的结构化数据复制软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库同步。
GoldenGate可以在异构的IT基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒一级的实时复制,从而在可以在应急系统、在线报表、实时数据仓库供应、交易跟踪、数据同步、集中/分发、容灾等多个场景下应用。
同时,GoldenGate可以实现一对一、广播(一对多)、聚合(多对一)、双向、点对点、级联等多种灵活的拓扑结构。
环境要求:
1.支持的平台
支持的OracleDatabase版本
在当前的OracleGoldenGate10.4版本中,支持如下OracleDatabase版本
Oracle8i(DMLsupportonly)
Oracle9.1and9.2(DMLandDDLsupport)
Oracle10.1and10.2(DMLandDDLsupport)
Oracle11g(DMLandDDLsupport)
支持的操作系统平台
几乎所有主流的操作系统,GoldenGate都支持
Windows2000,2003,XP,Linux,SunSolaris,HPNonStop,HP-UX
2.操作系统需求
内存要求
GoldenGate对操作系统内存的需求主要取决于Extract和Replicat进程数,一般建议>2G。
DISK空间需求
由于要数据库必须设置为归档模式,所以要求至少保存7天以上的日志,建议剩余空间在10G~100G之间。
对于RAC环境
对于RAC环境,GoldenGate的相关软件和工作目录需要配置在shareddisk环境中,从而保证对所有node都是可用的,从任何一个node都可以启动GoldenGate的进程,当其中一个node出现异常时,可以在剩余的node启动而无须修改任何配置参数。
否则如果运行在单个node上的话,需要将剩余node中的归档日志通过一定的技术共享出来并加载到GoldenGate运行节点。
对于RAC环境,GoldenGate要求所有node必须保持时钟同步,同时必须保持所有RACnode和运行extract进程的node节点保持时钟同步。
因为GoldenGate会比较本地的系统时间和commit的时间戳。
所以不能忽略这个设置。
否则可能导致数据复制的紊乱。
3.数据库需求
数据库客户端
GoldenGate需要安装fullOracleclient,以便于GoldenGate程序访问OracleXDKlibraries。
数据库用户
建议使用sys或任何其他具有sysdba/sysasm权限的用户。
数据库配置
对于SourceOracleDatabase要求
数据库处于归档模式下
打开补充日志
打开forcelogging
分别配置连接源数据库和目标数据库的主机字符串
建立一个专门的用户如Goldengate来负责将所需的数据同步到远端,而不是用已有的业务用户
这个用户需要哪些权限呢?
Createusergoldengateidentifiedbygoldengatedefaulttablespaceuserstemporarytablespacetempquotaunlimitedonusers;
GRANTCONNECTTOgoldengate;
GRANTALTERANYTABLETOgoldengate;
GRANTALTERSESSIONTOgoldengate;
GRANTCREATESESSIONTOgoldengate;
GRANTFLASHBACKANYTABLETOgoldengate;
GRANTSELECTANYDICTIONARYTOgoldengate;
GRANTSELECTANYTABLETOgoldengate;
GRANTRESOURCETOgoldengate;
GRANTdropANYTABLETOgoldengate;
GRANTDBATOgoldengate;
注*
补充日志是否打开查询语句:
selectsupplemental_log_data_minfromv$database;
打开补充日志语句:
alterdatabaseaddsupplementallogdata;
打开forcelogging语句:
Alterdatabaseforcelogging;
配置golengate
环境:
oslinux4.7x86_64数据库:
10.0.2.164位
IP设置:
源192.168.8.1目标192.168.8.2
SID:
ORCL
1.安装goldengate软件
在oracle官方网站上下载goldengate对应平台的安装程序
进入到GoldenGate的安装目录.
运行
GGSCI
InGGSCI,issuethefollowingcommandtocreatetheGoldenGateworkingdirectories.
CREATESUBDIRS
IssuethefollowingcommandtoexitGGSCI.
EXIT
2.数据复制初始化
GoldenGate中支持的dataload方法有
Loadingdatawithadatabaseutility
LoadingdatafromfiletoReplicat
Loadingdatafromfiletodatabaseutility
LoadingdatawithaGoldenGatedirectload
LoadingdatawithadirectbulkloadtoSQL*Loader
LoadingtableswithTeradatatablecopy
LoadingdatawithTeradataloadutilities
注*这点我没怎么研究,我采用的rman异地恢复
3.配置进程
第一步:
在源数据库和目标数据库分别配置管理进程mgr
GGSCI>editparamsmgr
port7809
(保存退出)
GGSCI>startmgr
Managerstarted.
GGSCI>infoall
ProgramStatusGroupLagimeSinceChkpt
MANAGERRUNNING
(可以正常启动)
第二步:
源数据库增加两个进程
*.一般源数据库需要应配置两个进程,一个负责抽取数据(ZLE_01),另一个负责投递数据(ZLE_02),默认只支持DML,如果要支持DDL需要执行一些单独的配置。
在源数据库系统中执行如下命令增加一个Extractgroup,详细的ADDEXTRACT语法参见官方手册说明或GGSCI的onlinehelp.
GGSCI>addextract,TRANLOG,BEGINNOW,THREADS
其中groupname表示这个Extractgroup的名字
TRANLOG表示使用事务日志的方式
BEGINNOW表示从现在开始,你也可以指定一个具体的开始时间
THREADS表示从哪个instance上运行,只对RAC环境有用,单机环境比需要指定该Option
2.1配置抽取进程
我这里是单机环境,extractgroupname定义为zle_01
GGSCI>DBLOGINUSERIDgoldengate@orcl1,PASSWORDgoldengate
GGSCI>addextractZLE_01,tranlog,beginnow
EXTRACTadded.
GGSCI>addRMTTRAIL./dirdat/ra,extractzle_01,megabytes50
查看一下刚才定义的这个extractprocess的结果
GGSCI>infoextractzle_01
EXTRACTZLE_01Initialized2010-01-1911:
50StatusSTOPPED
CheckpointLag00:
00:
00(updated00:
00:
22ago)
LogReadCheckpointOracleRedoLogs
2010-01-1911:
50:
39Seqno0,RBA0
补充一个命令:
infoextractzle_01,showch看的更详细
为该抽取Extract进程配置参数文件,在源数据库执行如下命令
GGSCI>editparamzle_01
增加如下内容
EXTRACTZLE_01
SETENV(ORACLE_SID=ORCL)
USERIDgoldengate@ORCL1,PASSWORDgoldengate
RMTHOST192.168.8.1,MGRPORT9001
RMTTRAIL./dirdat/ra
TABLEZLHIS.TEST;
RMTTRAIL告诉extractprocess需要将trail文件写到哪里
TABLE部分说明我这个Extract进程只处理ZLHIS用户下的TEST表
好了,到这里就可以启动上面定义的Capture进程了,执行如下命令
GGSCI>startextractzle_01
SendingSTARTrequesttoMANAGER('mgr')...
EXTRACTZLE_01starting
GGSCI>
Verifytheresults:
GGSCI>infoEXTRACTZLE_01,DETAIL
GGSCI>viewREPORTZLE_01
GGSCI>infoextractZLE_01
好了,到这里就完成了一个最简单的抽取Extractprocess的配置并启动,下面来配置投递Extractprocess进程。
2.2配置投递进程
在Source系统执行如下命令
GGSCI>ADDEXTRACTZLE_02,EXTTRAILSOURCE./dirdat/ra,BEGINnow
GGSCI>ADDRMTTRAIL./dirdat/la,EXTRACTZLE_02
*(./dirdat/la为远端接收目录,必须存在)
GGSCI>editparamszle_02
添加内容如下:
extractZLE_02
dynamicresolution
PASSTHRU
rmthost192.168.8.2,mgrport9001,compress
rmttrail./dirdat/la
numfiles3000
TABLEZLHIS.TEST;
GGSCI>startextractzle_02
SendingSTARTrequesttoMANAGER('mgr')...
EXTRACTZLE_02starting
查看下状态:
GGSCI>infoall
ProgramStatusGroupLagTimeSinceChkpt
MANAGERRUNNING
EXTRACTRUNNINGZLE_0100:
00:
0000:
00:
05
EXTRACTRUNNINGZLE_0200:
00:
0000:
00:
07
2.3配置接收进程
在目标系统(Targetsystem)上执行如下命令增加一个复制组(ReplicatGroup)
GGSCI>DBLOGINUSERIDgoldengate@orcl2,PASSWORDgoldengate
GGSCI>addreplicatZLR_01,EXTTRAIL./dirdat/la,nodbcheckpoint
注,我这个中配置Extractprocess那个示例对应的,所以这里的exttrail文件名正好是Extractprocess中定义的RMTTRAIL./dirdat/la这点需要大家注意.
GGSCI>editparamZLR_01
增加如下内容并保存退出
REPLICATZLR_01
SETENV(ORACLE_SID=ORCL)
USERIDgoldengate@ORCL2,PASSWORDgoldengate
HANDLECOLLISIONS
ASSUMETARGETDEFS
allownoopupdates
dynamicresolution
numfiles3000
DISCARDFILE./dirrpt/ZLR_01.DSC,append,megabytes10
mapZLHIS.TEST,targetZLHIS.TEST;
在Target系统中,执行如下命令
GGSCI>startreplicatZLR_01
Verifytheresults:
GGSCI>inforeplicatZLR_01
REPLICATZLR_01LastStarted2010-01-1913:
50StatusRUNNING
CheckpointLag00:
00:
00(updated00:
00:
03ago)
LogReadCheckpointFile./dirdat/la000000
FirstRecordRBA0
查看下状态:
GGSCI>infoall
ProgramStatusGroupLagTimeSinceChkpt
MANAGERRUNNING
REPLICATRUNNINGZLR_0100:
00:
0000:
00:
09
测试效果
在源数据库分别插入、修改、删除一条数据。
查看抽取进程状态:
GGSCI>statsZLE_01
SendingSTATSrequesttoEXTRACTZLE_01...
StartofStatisticsat2010-01-2602:
53:
01.
Outputto./dirdat/ra:
ExtractingfromZLHIS.TESTtoZLHIS.TEST:
***Totalstatisticssince2010-01-2602:
15:
01***
Totalinserts1.00
Totalupdates1.00
Totaldeletes1.00
Totaldiscards0.00
Totaloperations3.00
***Dailystatisticssince2010-01-2602:
15:
01***
Totalinserts1.00
Totalupdates1.00
Totaldeletes1.00
Totaldiscards0.00
Totaloperations3.00
***Hourlystatisticssince2010-01-2602:
15:
01***
Totalinserts1.00
Totalupdates1.00
Totaldeletes1.00
Totaldiscards0.00
Totaloperations3.00
***Lateststatisticssince2010-01-2602:
15:
01***
Totalinserts1.00
Totalupdates1.00
Totaldeletes1.00
Totaldiscards0.00
Totaloperations3.00
EndofStatistics.
可以看到已经有记录,而且已经抽取成功,再查看投递进程,
GGSCI>statsZLE_02
SendingSTATSrequesttoEXTRACTZLE_02...
StartofStatisticsat2010-01-2603:
04:
13.
Outputto/u01/ggs/dirdat/re:
ExtractingfromZLHIS.TESTtoZLHIS.TEST:
***Totalstatisticssince2010-01-2602:
14:
25***
Totalinserts1.00
Totalupdates1.00
Totaldeletes1.00
Totaldiscards0.00
Totaloperations3.00
***Dailystatisticssince2010-01-2602:
14:
25***
Totalinserts1.00
Totalupdates1.00
Totaldeletes1.00
Totaldiscards0.00
Totaloperations3.00
***Hourlystatisticssince2010-01-2603:
00:
00***
Nodatabaseoperationshavebeenperformed.
***Lateststatisticssince2010-01-2602:
14:
25***
Totalinserts1.00
Totalupdates1.00
Totaldeletes1.00
Totaldiscards0.00
Totaloperations3.00
EndofStatistics.
切换到目标数据库环境,同样查看接受应用进程。
GGSCI>statsZLR_01
SendingSTATSrequesttoREPLICATZLR_01...
StartofStatisticsat2010-01-2605:
58:
36.
ReplicatingfromZLHIS.TESTtoZLHIS.TEST:
***Totalstatisticssince2010-01-2604:
46:
57***
Totalinserts1.00
Totalupdates1.00
Totaldeletes1.00
Totaldiscards0.00
Totaloperations3.00
***Dailystatisticssince2010-01-2604:
46:
57***
Totalinserts1.00
Totalupdates1.00
Totaldeletes1.00
Totaldiscards0.00
Totaloperations3.00
***Hourlystatisticssince2010-01-2605:
00:
00***
Totalinserts0.00
Totalupdates1.00
Totaldeletes1.00
Totaldiscards0.00
Totaloperations2.00
***Lateststatisticssince2010-01-2604:
46:
57***
Totalinserts1.00
Totalupdates1.00
Totaldeletes1.00
Totaldiscards0.00
Totaloperations3.00
EndofStatistics.
总结:
以上只是记录了对于GoldenGate软件测试的一小部分,总体感觉GoldenGate同Oracle的流复制非常类似,但又有所不同,对比其各自的应用,各有有缺点:
优点:
1.安装、配置简单。
2.管理维护相对直观,通过其自带的OracleManagementPackforOracleGoldenGate管理工具,能够对其进行图形化界面的管理。
3.支持异构复制,如不同用户,不同数据库平台的复制,这也是其亮点所在。
4.未来发展潜力还是很看好。
缺点:
1.官方的软件目前都只支持64位系统。
2.由于是第三方工具,对环境要求比较高,特别是在LINUX环境下,对操作系统的字符集有所要求,主要是我们系统中的表名都是中文,必须要其对中文的支持。
3.在进行应用进程的参数配置时候发现,对于特别多的表复制,暂时不清楚GoldenGate是否有限制,因为启动的时候,我配置参数对ZLHIS所有表进行复制的时候,会提示“”错误,但是如果只对少数表或者单个表复制的时候,又不出现该提示,这个问题正在核实。
4.目前网上能查询到的资料相当有限,普及率不是很高。
综上所述,GoldenGate同流复制比较起来的亮点还是在异构上,不过Oracle官方的说法是以后一流的Streams技术将被集成到GoldenGate中,这也是其发展的趋势,其价值对于我们用户的应用来说,还是很值得继续深入研究。