GoldenGate基本原理、安装过程和基本维护_第1页
GoldenGate基本原理、安装过程和基本维护_第2页
GoldenGate基本原理、安装过程和基本维护_第3页
GoldenGate基本原理、安装过程和基本维护_第4页
GoldenGate基本原理、安装过程和基本维护_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

目录TOC\o"1-5"\h\z\o"CurrentDocument"一、 GoldenGate介绍 3二、 GoldenGate安装实施 5\o"CurrentDocument"2.1创建GoldenGate软件安装目录 5\o"CurrentDocument"GoldenGate的管理用户 5\o"CurrentDocument"安装GoldenGate软件 6\o"CurrentDocument"2.4设置数据库归档模式 6\o"CurrentDocument"2.5打开数据库的附加日志 7\o"CurrentDocument"2.6开启数据库强制日志模式 7\o"CurrentDocument"2.7创建GoldenGate管理用户 7\o"CurrentDocument"2.8编辑GLOBALS参数文件 8\o"CurrentDocument"2.9管理进程MGR参数配置 8\o"CurrentDocument"2.10抽取进程EXTN参数配置 9\o"CurrentDocument"2.11传输进程DPEN参数配置 10\o"CurrentDocument"2.12建立OGG的DDL对象 11\o"CurrentDocument"2.13数据初始化 12\o"CurrentDocument"2.14容灾端管理进程MGR参数配置 14\o"CurrentDocument"2.15编辑GLOBALS参数文件 15\o"CurrentDocument"2.16容灾端复制进程REPN参数配置 15\o"CurrentDocument"2.17创建复制进程repn 17\o"CurrentDocument"2.18启动生产端传输进程和容灾端复制进程 17\o"CurrentDocument"2.19测试场景 17GoldenGate基本运维命令 17四、 常见故障排除 18单向复制备份、査询二・点对点多业务中心广播貝制数据分发集中媪制数据仓库、N+1灾备单向复制备份、査询二・点对点多业务中心广播貝制数据分发集中媪制数据仓库、N+1灾备多级复制层次化金业数据一、GoldenGate介绍GoldenGate软件是一种基于日志的结构化数据复制软件。GoldenGate能够实现大量交易数据的实时捕捉、变换和投递,实现源数据库与目标数据库的数据同步,保持亚秒级的数据延迟。GoldenGate能够支持多种拓扑结构,包括一对一,一对多,多对一,层叠和双向复制等等。数据复制的拓扑结构双向戛制灾备、双业务中心GoldenGate基本架构NfltworltCTCF/IP) TargetManagerManagerNfltworltCTCF/IP) TargetManagerManagerOracleGoldenGate主要由如下组件组成ExtractDatapumpTrailsCollectorReplicatManagerOracleGoldenGate数据复制过程如下:利用抽取进程(ExtractProcess)在源端数据库中读取OnlineRedoLog或者ArchiveLog,然后进行解析,只提取其中数据的变化信息,比如DML操作一一增、删、改操作,将抽取的信息转换为GoldenGate自定义的中间格式存放在队列文件(trailfile)中。再利用传输进程将队列文件(trailfile)通过TCP/IP传送到目标系统。目标端有一个进程叫ServerCollector,这个进程接受了从源端传输过来的数据变化信息,把信息缓存到GoldenGate队列文件(trailfile)当中,等待目标端的复制进程读取数据。GoldenGate复制进程(replicatprocess)从队列文件(trailfile)中读取数据变化信息,并创建对应的SQL语句,通过数据库的本地接口执行,提交到目标端数据库,提交成功后更新自己的检查点,记录已经完成复制的位置,数据的复制过程最终完成。二、GoldenGate安装实施2.1创建GoldenGate软件安装目录在数据库服务器上创建文件系统:/u01/gg,作为GoldenGate的安装目录。2.2GoldenGate的管理用户安装GoldenGate软件和维护GoldenGate软件时,可以使用系统上的oracle用户。GoldenGate安装目录的所有者必须是GoldenGate管理用户,本次实施过程中使用oracle用户作为GoldenGate管理用户,添加oracle用户的环境变量(在生产端和容灾端均要进行以下操作):exportGGHOME=/u01/ggexportLD_LIBRARY_PATH=$GG_HOME:$ORACLE_HOME/lib:/usr/bin:/libexportPATH=$GG_HOME:$PATH2.3安装GoldenGate软件切换到oracle用户,将GG软件的压缩包存放到GoldenGate安装目录下,即/u01/gg,将这个压缩包进行解压到GoldenGate安装目录下(在生产端和容灾端均要进行以下操作):tar-zxvf*.gz进入到GoldenGate安装目录,运行GGSCI命令以进入GG界面(在生产端和容灾端均要进行以下操作):cd/u01/gg./ggsci在GGSCI界面下创建子目录(在生产端和容灾端均要进行以下操作):GGSCI>createsubdirs至此,GoldenGate软件安装完毕。2.4设置数据库归档模式查看数据库的归档模式:SQL>archiveloglist;如果是非归档模式,需要开启归档模式:shutdownimmediate;startupmount;alterdatabasearchivelog;alterdatabaseopen;2.5打开数据库的附加日志打开附加日志并切换日志(保证Onlineredolog和Archivelog一致)alterdatabaseaddsupplementallogdata;alterdatabaseaddsupplementallogdata(primarykey,uniqueforeignkey)columns;altersystemswitchlogfile;2.6开启数据库强制日志模式alterdatabaseforcelogging;2・7创建GoldenGate管理用户在生产端和容灾端均要进行以下操作:--createtablespaceSQL>createtablespaceoggdatafile'$ORACLE_BASE/oradata/test/oggO1.dbfsize300M;--createtheuserSQL>createuseroggidentifiedbyoggdefaulttablespaceogg;--grantroleprivilegesSQL>grantresource,connect,dbatoogg;2.8编辑GLOBALS参数文件切换到GoldenGate安装目录下,执行命令:cd/u01/gg./ggsciGGSCI>EDITPARAMS./GLOBALS在文件中添加以下内容:GGSCHEMAogg―指定的进行DDL复制的数据库用户利用默认的密钥,生成密文:GGSCI>encryptpasswordoggencryptkeydefaultEncryptedpassword:AACAAAAAAAAAAADAHBLDCCIIOIRFNEPB记录这个密文,将在以下进程参数的配置中使用。2.9管理进程MGR参数配置PORT7839DYNAMICPORTLIST7840-7860--AUTOSTARTER*--AUTORESTARTEXTRACT*,RETRIES5,WAITMINUTES3PURGEOLDEXTRACTS./dirdat/*,usecheckpoints,minkeepdays2useridogg,passwordAACAAAAAAAAAAADAHBLDCCIIOIRFNEPB,ENCRYPTKYdefaultPURGEDDLHISTORYMINKEEPDAYS11,MAXKEEPDAYS14PURGEMARKERHISTORYMINKEEPDAYS11,MAXKEEPDAYS142.10抽取进程EXTN参数配置EXTRACTextnsetenv(NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252)useridogg,passwordAACAAAAAAAAAAADAHBLDCCIIOIRFNEPB,ENCRYPTKEYdefaultREPORTCOUNTEVERY1MINUTES,RATEDISCARDFILE./dirrpt/discard_extn.dsc,APPEND,MEGABYTES1024DBOPTIONSALLOWUNUSEDCOLUMNWARNLONGTRANS2h,CHECKINTERVAL3mEXTTRAIL./dirdat/naTRANLOGOPTIONSEXCLUDEUSEROGGTRANLOGOPTIONSALTARCHIVEDLOGFORMAT%t_%s_%r.dbfFETCHOPTIONSNOUSESNAPSHOTTRANLOGOPTIONSCONVERTUCS2CLOBSTRANLOGOPTIONSaltarchivelogdestprimaryinstancetest/oradata/arch--TRANLOGOPTIONSRAWDEVICEOFFSET0DYNAMICRESOLUTIONDDLINCLUDEALLDDLOPTIONSaddtrandata,NOCROSSRENAME,REPORTtableQQQ.*;tableCUI.*;2.11传输进程DPEN参数配置EXTRACTdpenRMTHOST192.168.4.171,MGRPORT7839,compressPASSTHRUnumfiles50000RMTTRAIL./dirdat/naTABLEQQQ.*;TABLECUI.*;2.12建立OGG的DDL对象$cd/u01/gg$sqlplus"/assysdba"SQL>@marker_setup.sqlEnterGoldenGateschemaname:oggaltersystemsetrecyclebin=off;SQL>@ddl_setup.sqlEnterGoldenGateschemaname:oggSQL>@role_setup.sqlGrantthisroletoeachuserassignedtotheExtract,Replicat,GGSCI,andManagerprocesses,byusingthefollowingSQLcommand:SQL>GRANTGGS_GGSUSER_ROLETO<loggedUser>where<loggedUser>istheuserassignedtotheGoldenGateprocesses.注意这里的提示:需要手工将这个GGS_GGSUSER_ROLE指定给extract所使用的数据库用户(即参数文件里面通过userid指定的用户),可以到sqlplus下执行类似的sql:SQL>GRANTGGS_GGSUSER_ROLETOogg;注:这里的ogg是extract使用的用户。如果你有多个extract,使用不同的数据库用户,则需要重述以上过程全部赋予GGS_GGSUSER_ROLE权限。运行以下脚本,使触发器生效:SQL>@ddlenable.sql注:在生产端开启抽取前,先禁用DDL捕获触发器,调用ddl_disable.sql。2.13数据初始化在初始化过程中,源数据库不需要停机,初始化过程分为三个部分:>生产端开启抽取进程;>生产端导出数据;>容灾端导入数据;在生产端添加抽取进程、传输进程以及相应的队列文件,执行命令如下://创建进程EXTNGGSCI>addextractextn,tranlog,beginnowGGSCI>addexttrail./dirdat/na,extractextn,megabytes500//创建进程DPENGGSCI>addextractdpen,exttrailsource./dirdat/naGGSCI>addrmttrail./dirdat/na,extractdpen,megabytes500在生产端启动管理进程:GGSCI>startmgr启用DDL捕获trigger:$cd/u01/gg$sqlplus“/assysdba”SQL>@ddl_enable.sql在生产端启动抽取进程:GGSCI>startEXTN在数据库中,获取当前的SCN号,并且记录这个SCN号:SQL>selectto_char(dbms_flashback.get_system_change_number)fromdual;603809在数据库中,创建数据泵所需目录并赋予权限:SQL>CREATEORREPLACEDIRECTORYDATA_PUMPAS'/u01';SQL>grantread,writeonDIRECTORYDATA_PUMPtoOgg;在生产端利用数据泵导出数据:expdpogg/oggschemas='QQQ'directory=DATAPUMPdumpfile=QQQ_bak_%Uflashback_scn=123456789logfile=expdp_QQQ.logfilesize=4096mexpdpogg/oggschemas='CUTdirectory=DATA_PUMPdumpfile=CUI_bak_%Uflashback_scn=123456789logfile=expdp_CUI.logfilesize=4096mexpdpogg/oggschemas—test1'directory=DATA_PUMPdumpfile=test1_bak_%Uflashback_scn=603809logfile=expdp_QQQ.logfilesize=4096m把导出的文件传输到容灾端,利用数据泵将数据导入:Impdpogg/oggDIRECTORY=DATAPUMPDUMPFILE=QQQ_bak_%Ulogfile=impdp_QQQ.logImpdpogg/oggDIRECTORY=DATA_PUMPDUMPFILE=CUI_bak_%Ulogfile=impdp_CUI.log2.14容灾端管理进程MGR参数配置PORT7839DYNAMICPORTLIST7840-7860--AUTOSTARTER*--AUTORESTARTEXTRACT*,RETRIES5,WAITMINUTES3PURGEOLDEXTRACTS./dirdat/*,usecheckpoints,minkeepdays2useridogg,passwordAACAAAAAAAAAAADAHBLDCCIIOIRFNEPB,ENCRYPTKEYdefault2.15编辑GLOBALS参数文件切换到GoldenGate安装目录下,执行命令:cd/u01/gg./ggsciggsci>EDITPARAMS./GLOBALS在文件中添加以下内容:GGSCHEMAogg--指定的进行DDL复制的数据库用户2.16容灾端复制进程REPN参数配置REPLICATrepnsetenv(NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252)useridogg,passwordAACAAAAAAAAAAADAHBLDCCIIOIRFNEPB,ENCRYPTKEYdefaultSQLEXEC"ALTERSESSIONSETCONSTRAINTS=DEFERRED"REPORTAT01:59REPORTCOUNTEVERY30MINUTES,RATEREPERRORDEFAULT,ABENDassumetargetdefsDISCARDFILE./dirrpt/repna.dsc,APPEND,MEGABYTES1024DISCARDROLLOVERAT02:30ALLOWNOOPUPDATESREPERROR(1403,discard)DDLINCLUDEMAPPEDDDLOPTIONSREPORTMAPEXCLUDEQQQ.T0417MAPQQQ.*,TARGETQQQ.*;MAPCUI.*,TARGETCUI.*;2.17创建复制进程repn执行以下命令创建复制进程repn:GGSCI>add replicat repn, exttrail ./dirdat/na,nodbcheckpoint2.18启动生产端传输进程和容灾端复制进程GGSCI>startdpenGGSCI>startREPLICATrepnaftercsn1234567892.19测试场景1) 在生产端数据库上,创建一张表。2) 在生产端数据库上,修改这个张表的数据3)在生产端数据库上,删除这张表。GoldenGate基本运维命令(1)查看进程状态GGSCI>infoall——查看GG整体运行情况,比如进程Lag延时,检查点延时。GGSCI>info<进程名>——查看某个进程的运行状况,比如抽取进程正在读取哪个归档日志或者联机重做日志,传输进程正在传送哪一个队列文件,复制进程正在使用哪一个队列文件。GGSCI>info<进程名>showch——查看某个进程运行的详细信息。(2)查看进程报告GGSCI>viewreport<进程名>——报错时,从进程报告里获取错误信息。(3)在操作系统上,查看GoldenGate安装目录的使用率查看ogg目录是否撑满。Logdump工具使用Goldengate初级的性能优化BatchsqlInsertabend限制内存使用颗粒度拆分六、goldengate版本升级七、 goldengate双向复制八、 生产库与容灾库之间的回切八、异构数据库之间的数据转换,数据过滤筛选四、常见故障排除故障(1)错误信息:OGG-00446Couldnotfindarchivedlogforsequence53586thread1underalternativedestinations.SQLvSELECTMAX(sequence#)FROMv$logWHEREthread#=:ora_thread>.Lastalternativelogtried/archcx/153586776148274.arc.,errorretrievingredofilenameforsequence53586,archived=1,use_alternate=ONotabletoestablishinitialpositionforsequence53586,rba44286992.处理办法:将缺失的归档日志从备份中恢复出来。如果依旧找不到所需归档日志,那么只能重新实施数据初始化。故障(2)错误信息OGG-01154OracleGoldenGateDeliveryforOracle,repn.prm:SQLerror1691mappingDATA_USER.DMH_WJXXBtoDATA_USER.DMH_WJXXBOCIErrorORA-01691:unabletoextendlobsegmentDATAUSER.SYSLOB0000083691C00014$$by16384intablespaceDATA_USER_LOB_U12

温馨提示

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

评论

0/150

提交评论