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

下载本文档

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

文档简介

目录一、GoldenGate介绍1二、GoldenGate安装实施42.1创建GoldenGate软件安装目录42.2 GoldenGate的管理用户42.3安装GoldenGate软件52.4设置数据库归档模式52.5打开数据库的附加日志62.6开启数据库强制日志模式62.7创建GoldenGate管理用户62.8编辑GLOBALS参数文件72.9管理进程MGR参数配置72.10抽取进程EXTN参数配置82.11 传输进程DPEN参数配置92.12建立OGG的DDL对象102.13 数据初始化112.14 容灾端管理进程MGR参数配置132.15编辑GLOBALS参数文件142.16 容灾端复制进程REPN参数配置142.17创建复制进程repn152.18启动生产端传输进程和容灾端复制进程152.19测试场景16三GoldenGate基本运维命令16四、常见故障排除17一、GoldenGate介绍GoldenGate软件是一种基于日志的结构化数据复制软件。GoldenGate 能够实现大量交易数据的实时捕捉、变换和投递,实现源数据库与目标数据库的数据同步,保持亚秒级的数据延迟。GoldenGate能够支持多种拓扑结构,包括一对一,一对多,多对一,层叠和双向复制等等。GoldenGate基本架构Oracle GoldenGate主要由如下组件组成 Extract Data pump Trails Collector Replicat ManagerOracle GoldenGate 数据复制过程如下:利用抽取进程(Extract Process)在源端数据库中读取Online Redo Log或者Archive Log,然后进行解析,只提取其中数据的变化信息,比如DML操作增、删、改操作,将抽取的信息转换为GoldenGate自定义的中间格式存放在队列文件(trail file)中。再利用传输进程将队列文件(trail file)通过TCP/IP传送到目标系统。目标端有一个进程叫Server Collector,这个进程接受了从源端传输过来的数据变化信息,把信息缓存到GoldenGate 队列文件(trail file)当中,等待目标端的复制进程读取数据。 GoldenGate 复制进程(replicat process)从队列文件(trail file)中读取数据变化信息,并创建对应的SQL语句,通过数据库的本地接口执行,提交到目标端数据库,提交成功后更新自己的检查点,记录已经完成复制的位置,数据的复制过程最终完成。二、GoldenGate安装实施2.1创建GoldenGate软件安装目录在数据库服务器上创建文件系统:/u01/gg,作为GoldenGate的安装目录。2.2 GoldenGate的管理用户安装GoldenGate软件和维护GoldenGate软件时,可以使用系统上的oracle用户。GoldenGate安装目录的所有者必须是GoldenGate管理用户,本次实施过程中使用oracle用户作为GoldenGate管理用户,添加oracle用户的环境变量(在生产端和容灾端均要进行以下操作):export GG_HOME=/u01/ggexport LD_LIBRARY_PATH=$GG_HOME:$ORACLE_HOME/lib:/usr/bin:/libexport PATH=$GG_HOME:$PATH2.3安装GoldenGate软件切换到oracle用户,将GG软件的压缩包存放到GoldenGate安装目录下,即/u01/gg,将这个压缩包进行解压到GoldenGate安装目录下(在生产端和容灾端均要进行以下操作):tar -zxvf *.gz 进入到GoldenGate安装目录,运行GGSCI命令以进入GG界面(在生产端和容灾端均要进行以下操作):cd /u01/gg./ggsci在GGSCI界面下创建子目录(在生产端和容灾端均要进行以下操作):GGSCIcreate subdirs至此,GoldenGate软件安装完毕。2.4设置数据库归档模式查看数据库的归档模式:SQLarchive log list;如果是非归档模式,需要开启归档模式:shutdown immediate;startup mount;alter database archivelog;alter database open;2.5打开数据库的附加日志打开附加日志并切换日志(保证Online redo log和Archive log一致)alter database add supplemental log data ;alter database add supplemental log data (primary key, unique,foreign key) columns;alter system switch logfile;2.6开启数据库强制日志模式alter database force logging;2.7创建GoldenGate管理用户在生产端和容灾端均要进行以下操作:-create tablespaceSQLcreate tablespace ogg datafile $ORACLE_BASE/oradata/test/ogg01.dbf size 300M ;- create the user SQLcreate user ogg identified by ogg default tablespace ogg;- grant role privileges SQLgrant resource, connect, dba to ogg;2.8编辑GLOBALS参数文件切换到GoldenGate安装目录下,执行命令:cd /u01/gg./ggsciGGSCIEDIT PARAMS ./GLOBALS -指定进行DDL复制的数据库用户,DML可不配置在文件中添加以下内容:GGSCHEMA ogg -指定的进行DDL复制的数据库用户CHECKPOINTTABLE ogg.checkpoint利用默认的密钥,生成密文:GGSCIencrypt password ogg encryptkey defaultEncrypted password: AACAAAAAAAAAAADAHBLDCCIIOIRFNEPB 记录这个密文,将在以下进程参数的配置中使用。2.9管理进程MGR参数配置PORT 7839DYNAMICPORTLIST 7840-7860-AUTOSTART *AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 3PURGEOLDEXTRACTS ./dirdat/*,USECHECKPOINTS, MINKEEPDAYS 7LAGREPORTHOURS 1LAGINFOMINUTES 30LAGCRITICALMINUTES 45以下两句用于DDL,单独配置DML时,可不添加PURGEDDLHISTORY MINKEEPDAYS 11,MAXKEEPDAYS 14PURGEMARKERHISTORY MINKEEPDAYS 11, MAXKEEPDAYS 142.10 在目标端配置GoldenGate软件复制进程Dblogin userid ogg,password oggAdd checkpointtable ogg.checktable2.11抽取进程EXTN参数配置Add extract extn,tranlog,begin nowAdd exttrail ./dirdat/na,extract extn,megabytes 100EXTRACT extnsetenv (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)userid ogg, password AACAAAAAAAAAAADAHBLDCCIIOIRFNEPB, ENCRYPTKEY defaultREPORTCOUNT EVERY 1 MINUTES, RATEDISCARDFILE ./dirrpt/discard_extn.dsc,APPEND,MEGABYTES 1024DBOPTIONS ALLOWUNUSEDCOLUMNWARNLONGTRANS 2h,CHECKINTERVAL 3mEXTTRAIL ./dirdat/naTRANLOGOPTIONS EXCLUDEUSER OGG TRANLOGOPTIONS ALTARCHIVEDLOGFORMAT %t_%s_%r.dbfFETCHOPTIONS NOUSESNAPSHOTTRANLOGOPTIONS CONVERTUCS2CLOBSTRANLOGOPTIONS altarchivelogdest primary instance test /oradata/arch-TRANLOGOPTIONS RAWDEVICEOFFSET 0DYNAMICRESOLUTION以下两句是配置DDL需要:DDL INCLUDE ALLDDLOPTIONS addtrandata, NOCROSSRENAME, REPORT table QQQ.*;table CUI.*;2.11 传输进程DPEN参数配置Add extract dpen,exttrailsource ./dirdat/naAdd rmttrail ./dirdat/na,extract dpenEXTRACT dpenRMTHOST 192.168.56.7 , MGRPORT 7839, compressPASSTHRUnumfiles 50000RMTTRAIL ./dirdat/naTABLE QQQ.*;TABLE CUI.*;2.12建立OGG的DDL对象$ cd /u01/gg $ sqlplus / as sysdbaSQL marker_setup.sqlEnter GoldenGate schema name:oggalter system set recyclebin=off;SQL ddl_setup.sqlEnter GoldenGate schema name: oggSQL role_setup.sqlGrant this role to each user assigned to the Extract, Replicat, GGSCI, and Manager processes, by using the following SQL command:SQLGRANT GGS_GGSUSER_ROLE TO where is the user assigned to the GoldenGate processes.注意这里的提示:需要手工将这个GGS_GGSUSER_ROLE指定给extract所使用的数据库用户(即参数文件里面通过userid指定的用户),可以到sqlplus下执行类似的sql:SQLGRANT GGS_GGSUSER_ROLE TO ogg;注:这里的ogg是extract使用的用户。如果你有多个extract,使用不同的数据库用户,则需要重述以上过程全部赋予GGS_GGSUSER_ROLE权限。运行以下脚本,使触发器生效:SQL ddl_enable.sql注:在生产端开启抽取前,先禁用DDL捕获触发器,调用ddl_disable.sql。2.13 数据初始化在初始化过程中,源数据库不需要停机,初始化过程分为三个部分: 生产端开启抽取进程; 生产端导出数据; 容灾端导入数据;在生产端添加抽取进程、传输进程以及相应的队列文件,执行命令如下:/创建进程 EXTN GGSCIadd extract extn,tranlog,begin nowGGSCIadd exttrail ./dirdat/na,extract extn,megabytes 500/创建进程 DPEN GGSCIadd extract dpen,exttrailsource ./dirdat/naGGSCIadd rmttrail ./dirdat/na,extract dpen,megabytes 500在生产端启动管理进程:GGSCI start mgr启用DDL 捕获trigger:$ cd /u01/gg$ sqlplus “/as sysdba”SQL ddl_enable.sql在生产端启动抽取进程:GGSCI start EXTN在数据库中,获取当前的SCN号,并且记录这个SCN号:SQLselect to_char(dbms_flashback.get_system_change_number) from dual;603809在数据库中,创建数据泵所需目录并赋予权限:SQLCREATE OR REPLACE DIRECTORY DATA_PUMP AS /u01;SQLgrant read ,write on DIRECTORY DATA_PUMP to ogg;在生产端利用数据泵导出数据:expdp ogg/ogg schemas=QQQ directory=DATA_PUMP dumpfile=QQQ_bak_%U flashback_scn=123456789 logfile=expdp_QQQ.log filesize=4096mexpdp ogg/ogg schemas=CUI directory=DATA_PUMP dumpfile=CUI_bak_%U flashback_scn=123456789 logfile=expdp_ CUI.log filesize=4096mexpdp ogg/ogg schemas=test1 directory=DATA_PUMP dumpfile=test1_bak_%U flashback_scn=603809 logfile=expdp_QQQ.log filesize=4096m把导出的文件传输到容灾端,利用数据泵将数据导入:Impdp ogg/ogg DIRECTORY=DATA_PUMP DUMPFILE=QQQ_bak_%U logfile=impdp_ QQQ.logImpdp ogg/ogg DIRECTORY=DATA_PUMP DUMPFILE=CUI_bak_%U logfile=impdp_CUI.log2.14 容灾端管理进程MGR参数配置PORT 7839DYNAMICPORTLIST 7840-7860-AUTOSTART ER *-AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 3PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 2userid ogg, password AACAAAAAAAAAAADAHBLDCCIIOIRFNEPB, ENCRYPTKEY default2.15编辑GLOBALS参数文件切换到GoldenGate安装目录下,执行命令:cd /u01/gg./ggsciggsciEDIT PARAMS ./GLOBALS在文件中添加以下内容:GGSCHEMA ogg -指定的进行DDL复制的数据库用户2.16 容灾端复制进程REPN参数配置REPLICAT repnsetenv (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)userid ogg, password AACAAAAAAAAAAADAHBLDCCIIOIRFNEPB, ENCRYPTKEY defaultSQLEXEC ALTER SESSION SET CONSTRAINTS=DEFERREDREPORT AT 01:59REPORTCOUNT EVERY 30 MINUTES, RATEREPERROR DEFAULT, ABENDassumetargetdefsDISCARDFILE ./dirrpt/repna.dsc, APPEND, MEGABYTES 1024DISCARDROLLOVER AT 02:30ALLOWNOOPUPDATESREPERROR (1403, discard)DDL INCLUDE MAPPED DDLOPTIONS REPORTMAPEXCLUDE QQQ.T0417MAP QQQ.*, TARGET QQQ.*;MAP CUI.*, TARGET CUI.*;2.17创建复制进程repn 执行以下命令创建复制进程repn:GGSCIadd replicat repn, exttrail ./dirdat/na, nodbcheckpoint2.18启动生产端传输进程和容灾端复制进程GGSCIstart dpenGGSCIstart REPLICAT repn aftercsn 1234567892.19测试场景(1)在生产端数据库上,创建一张表。(2)在生产端数据库上,修改这个张表的数据。(3)在生产端数据库上,删除这张表。三GoldenGate基本运维命令(1)查看进程状态GGSCIinfo all 查看GG整体运行情况,比如进程Lag延时,检查点延时。GGSCIinfo 查看某个进程的运行状况,比如抽取进程正在读取哪个归档日志或者联机重做日志,传输进程正在传送哪一个队列文件,复制进程正在使用哪一个队列文件。GGSCIinfo showch 查看某个进程运行的详细信息。(2)查看进程报告GGSCIview report 报错时,从进程报告里获取错误信息。(3)在操作系统上,查看GoldenGate安装目录的使用率$ df -h查看ogg目录是否撑满。四Logdump工具使用五Goldengate初级的性能优化BatchsqlInsert abend限制内存使用颗粒度拆分六、goldengate版本升级七、goldengate双向复制八、生产库与容灾库之间的回切八、异构数据库之间的数据转换,数据过滤筛选 四、常见故障排除故障(1)错误信息:OGG-00446 Could not find archived log for sequence 53586 thread 1 under alternative destinations. SQL . Last alternative log tried /arch_cx/1_53586_776148274.arc., error retrieving redo file name for sequence 53586, archived = 1, use_alternate = 0Not able to establish initial position for sequence 53586, rba 44286992.处理办法:将缺失的归档日志从备份中恢复出来。如果依旧找不到所需归档日志,那么只能重新实施数据初始化。故障(2)错误信息:OGG-01154 Oracle GoldenGate Delivery for Oracle, repn.prm: SQL error 1691

温馨提示

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

评论

0/150

提交评论