1. 当前位置:网站首页 > Goldengate相关

goldengate安装手册


文档下载:goldengate安装手册.zip

图示:

 

 

 

 

×××公司

Oracle Goldengate安装手册

 

 

 

 

 


·   提交日期: 20131

·   版本号:          v1.0

 

 

 

 

 

 

 

 

 

 

 

本文件是由甲骨文软件系统有限公司(以下简称:Oracle公司)向×××免费提供,其内容专供江西用于评估Oracle公司为其提供产品及服务的能力,仅供参考。

 

本文件所包含的信息所有权属于Oracle公司。由于本文件包含Oracle公司保密资料,因此要求贵公司在收到本文件后三年内应为Oracle公司保密;除非根据法律要求,不得出于除本项目评估之外的任何目的,以任何形式向任何第三方提供本文件内容;并同意采取所有合理的步骤,保证其接触本文件的人员不对外披露或散布本文件内容。

 

本文件的内容将可能且应该根据×××的具体实施情况及阶段的变化而变化。 本文件对硬件规格、型号、性能的分析与估计并没有考虑操作系统、网络资源或任何其它在同一服务器上运转的应用软件对硬件的消耗。具体的硬件配备必须根据硬件厂商的推荐来决定。对本项目硬件最终选择的决定权应由客户掌握。本文件中对硬件规格的估计也不对客户形成任何具有约束性质的陈述或担保。

 

请注意:如果您不同意上述声明,请不要阅读本文件,并立即将其返还给Oracle公司;否则,Oracle公司将视为您接受并同意遵守上述声明。

 

 

 

 

 

 

 

 

 

目录

1       环境信息... 5

2       Goldengate安装说明... 6

2.1 总体说明... 6

2.2 GG软件的安装(源和目标系统均需要安装)... 6

2.3 开启数据库附加日志... 6

2.4 关闭数据库的recyclebin (仅实施DDL时进行配置) 7

2.5 添加环境变量... 7

2.6 编辑GLOBALS参数文件... 7

2.7 建立OGGDDL对象... 8

2.8 建立OGG进程和队列... 8

2.9 数据初始化... 13

2.10 目标库disable相关对象... 14

2.11 目标配置replicat进程并追加增量数据(在目标库完成重构后)... 14

 

 

1      环境信息

以下为复制相关的环境信息说明(根据用户实际环境填写):

 

源端

目标端

操作系统版本

AIX5.3

AIX6.1

数据库版本

Oracle 10.2.0.5

11.2.0.3

是否RAC

RAC

RAC

IP地址

 

 

Oracle SID

 

 

是否ASM

yes

yes

GG版本

11.1.1.1.2

11.1.1.1.2

GG安装所在用户

Oracle

Oracle

GG安装所在主机

RAC任意一个节点

RAC任意一个节点

GG安装路径

/gg/ogg

/gg/ogg

Goldengate数据库用户和表空间

GOLDENGATE

GOLDENGATE

复制的用户范围

XPADB用户下101张需要复制

复制到目标的XPADRPT用户同名对象中。

特别说明

部分表不需delete操作同步:

'FINANCIAL_SALEBANK', 'RICH_TRADELOG', 'RICH_CUSTPAYAMOUNTHIS','RICH_CUSTPRODUCTBALHIS',

'RICH_CUSTPROFIT', 'RICH_CUSTPROFITLOGHIS'

,'RICH_CASHPOOL','RICH_AUTOTRADEHIS','BASE_CHANGELOG'

2      Goldengate安装说明

2.1 总体说明

Goldengate软件目录的属主为oracle:dba权限为775;

Goldengate目录一般是建立在共享存储上这样实际上goldengate的软件和相应的文件如参数文件队列文件等都是在共享存储上的。这样做的好处是,例如在RAC环境下,如果一台服务区宕机,则可以将$GG_HOME mount到另外一个正常的rac节点上,启动goldengate各个进程就可以了,不需要做任何其他的动作;

本次测试过程是部署在gpfs文件系统上。

2.2 GG软件的安装(源和目标系统均需要安装)

1)   使用Oracle用户(如非此用户,请自行取代,下同)通过ftp上传GGS软件到安装目录下并解压缩:

    tar zxvf *.gz

或者分两步解压:

gunzip *.gz gzip d *.gz

tar xvf *.gz

2)        /goldengate目录下运行GGS命令行控制界面:

    ./ggsci

3)        GGS命令行界面下创建子目录:

       GGSCI> create subdirs

2.3 开启数据库附加日志

1)检查附加日志情况

使用以下sql语句检查数据库附加日志的打开状况:

Select 

SUPPLEMENTAL_LOG_DATA_MIN

,SUPPLEMENTAL_LOG_DATA_PK

,SUPPLEMENTAL_LOG_DATA_UI

,SUPPLEMENTAL_LOG_DATA_FK

,SUPPLEMENTAL_LOG_DATA_ALL

, FORCE_LOGGING from v$database;

2)打开数据库附加日志

打开附加日志并切换日志(保证Online redo logArchive log一致)

alter database add supplemental log data ;

2.4 关闭数据库的recyclebin (仅实施DDL时进行配置)

查询当前recyclebin的参数值:

SQL> show parameter recyclebin

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

recyclebin                           string      OFF

SQL>

如不是off,需要关闭recyclebin

SQL>alter system set recyclebin=off scope=both;

 

 

如果需要回退,打开recyclebin的话,可以使用以下语句:

SQL>alter system set recyclebin=on scope=both;

 

2.5 添加环境变量

oracle用户下增加环境变量:

源端:

export GG_HOME=/gg/ogg

export PATH=$PATH:$GG_HOME

export LIBPATH=$GG_HOME:$ORACLE_HOME/lib

目标端:

export GG_HOME=/gg/ogg

export PATH=$PATH:$GG_HOME

export LIBPATH=$GG_HOME:$ORACLE_HOME/lib

2.6 编辑GLOBALS参数文件

这里直接建立在goldengate用户下:

Ggsci>EDIT PARAMS ./GLOBALS  --在该文件中添加以下内容

GGSCHEMA goldengate  --指定的进行DDL复制的数据库用户

2.7 建立OGGDDL对象

sqlplus "/ as sysdba"

SQL> @marker_setup.sql

Enter GoldenGate schema name:goldengate

 

SQL> @ddl_setup.sql

Enter GoldenGate schema name:goldengate

 

SQL> @role_setup.sql

 

Grant this role to each user assigned to the Extract, Replicat, GGSCI, and Manager processes, by using the following SQL command:

 

GRANT GGS_GGSUSER_ROLE TO <loggedUser>goldengate

 

where <loggedUser> is the user assigned to the GoldenGate processes.

注意这里的提示:需要手工将这个GGS_GGSUSER_ROLE指定给extract所使用的数据库用户(即参数文件里面通过userid指定的用户),可以到sqlplus下执行类似的sql:

GRANT GGS_GGSUSER_ROLE TO goldengate;

注:这里的goldengateextract使用的用户。如果你有多个extract,使用不同的数据库用户,则需要重述以上过程全部赋予GGS_GGSUSER_ROLE权限。

运行以下脚本,使触发器生效

SQL> @ ddl_enable.sql

 

安装提升性能工具

本步骤为可选步骤,一般情况下建议运行该步骤。

为了提供OGGDDL复制的性能,可以将ddl_pin脚本加入到数据库启动的脚本后面,该脚本需要带一个OGGDDL用户(即安装DDL对象的用户,本例中是goldengate)的参数:

SQL> @ddl_pin <DDL_user>

 

注:如果因为业务问题,开启DDL以后,对性能的影响比较大的话,需要临时禁用DDL触发器的话,可以运行以下语句:

SQL> @ ddl_disable.sql  因为目前要求关闭DDL复制,所以执行ddl_disable

 

2.8 建立OGG进程和队列

(1)       MGR参数和进程(源和目标均需要配置)

cd $GG_HOME    

./ggsci

ggsci>edit param mgr     --源端

PORT 7809

DYNAMICPORTLIST 7840-7914

--AUTORESTART EXTRACT *, RETRIES 5, WAITMINUTES 3, RESETMINUTES 60

PURGEOLDEXTRACTS ./dirdat/*, usecheckpoints, minkeepdays 1

LAGREPORTHOURS 1

LAGINFOMINUTES 30

LAGCRITICALMINUTES 45

--PURGEDDLHISTORY MINKEEPDAYS 1, MAXKEEPDAYS 1  --如果打开ddl,去掉注释

--PURGEMARKERHISTORY MINKEEPDAYS 1, MAXKEEPDAYS 1--如果打开ddl,去掉注释

 

ggsci>edit param mgr     --目标端

PORT 7809

DYNAMICPORTLIST 7840-7914

--AUTORESTART REPLICAT *, RETRIES 5, WAITMINUTES 3, RESETMINUTES 60

PURGEOLDEXTRACTS ./dirdat/*, usecheckpoints, minkeepdays 1

LAGREPORTHOURS 1

LAGINFOMINUTES 30

LAGCRITICALMINUTES 45

--PURGEDDLHISTORY MINKEEPDAYS 1, MAXKEEPDAYS 1

--PURGEMARKERHISTORY MINKEEPDAYS 1, MAXKEEPDAYS 1

 

配置完成后,源和目标均启动:

ggsci> start mgr

 

(2)       源端配置extractpump进程(根据用户实际环境填写)

cd $GG_HOME    

./ggsci

ggsci>edit param ggsext

具体ggsext内容如下:

EXTRACT ggsext

SETENV (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")

USERID goldengate, PASSWORD goldengate

DISCARDFILE ./dirrpt/ggsext.dsc, APPEND, MEGABYTES 100

--DDL INCLUDE MAPPED

--DDLOPTIONS ADDTRANDATA NOCROSSRENAME REPORT

DBOPTIONS  ALLOWUNUSEDCOLUMN

WARNLONGTRANS 2h,CHECKINTERVAL 3m

FETCHOPTIONS NOUSESNAPSHOT

TRANLOGOPTIONS  CONVERTUCS2CLOBS

--TRANLOGOPTIONS RAWDEVICEOFFSET 0

--TRANLOGOPTIONS EXCLUDEUSER goldengate

EXTTRAIL ./dirdat/tt

--TRANLOGOPTIONS ALTARCHIVELOGDEST PRIMARY INSTANCE oraXPAD1 /gg/sarch1, ALTARCHIVELOGDEST INSTANCE oraXPAD2 /gg/sarch2 

WILDCARDRESOLVE DYNAMIC

dynamicresolution

--THREADOPTIONS MAXCOMMITPROPAGATIONDELAY 60000

--GETTRUNCATES

TABLE XPADB.BASE_ACTIONPOWER;

TABLE XPADB.BASE_BANK;

TABLE XPADB.BASE_BANKMERGE;

TABLE XPADB.BASE_BANKTREE;

TABLE XPADB.BASE_BRCHBANKCTRL;

TABLE XPADB.BASE_CERTIFICATE;

TABLE XPADB.BASE_CESS;

TABLE XPADB.BASE_COREBANK;

TABLE XPADB.BASE_CURRENCY;

TABLE XPADB.BASE_DEPARTMENT;

TABLE XPADB.BASE_HOLIDAYCALENDAR;

TABLE XPADB.BASE_HOLIDAYDATE;

TABLE XPADB.BASE_INTEREST;

TABLE XPADB.BASE_INTERESTHIS;

TABLE XPADB.BASE_MAINAREA;

TABLE XPADB.BASE_MENU;

TABLE XPADB.BASE_PRODTYPECODE;

TABLE XPADB.BASE_RATE;

TABLE XPADB.BASE_ROLE;

TABLE XPADB.BASE_SYSLOG;

TABLE XPADB.BASE_SYSPARAM;

TABLE XPADB.BASE_TERMINALTELLER;

TABLE XPADB.BASE_USER;

TABLE XPADB.FINANCIAL_BANKPROFITLOG;

TABLE XPADB.FINANCIAL_DIVIDENDPLAN;

TABLE XPADB.FINANCIAL_FUNDPRICE;

TABLE XPADB.FINANCIAL_INTERESTRESET;

TABLE XPADB.FINANCIAL_ISSUE;

TABLE XPADB.FINANCIAL_ISSUEAUDIT;

TABLE XPADB.FINANCIAL_ISSUEAUDITHIS;

TABLE XPADB.FINANCIAL_ISSUEBRAND;

TABLE XPADB.FINANCIAL_ISSUECFL;

TABLE XPADB.FINANCIAL_ISSUECONTROL;

TABLE XPADB.FINANCIAL_ISSUEDIFFRATE;

TABLE XPADB.FINANCIAL_ISSUEDISCOUNT;

TABLE XPADB.FINANCIAL_ISSUEEXPD;

TABLE XPADB.FINANCIAL_ISSUEEXT;

TABLE XPADB.FINANCIAL_ISSUEFEE;

TABLE XPADB.FINANCIAL_ISSUEFORCUSTRISKLVL;

TABLE XPADB.FINANCIAL_ISSUEFUNDSTRANSFER;

TABLE XPADB.FINANCIAL_ISSUEOBSERV;

TABLE XPADB.FINANCIAL_ISSUEPAY;

TABLE XPADB.FINANCIAL_ISSUEPROFIT;

TABLE XPADB.FINANCIAL_ISSUEQTYSPLIT;

TABLE XPADB.FINANCIAL_ISSUESELLCTRL;

TABLE XPADB.FINANCIAL_ISSUESERIAL;

TABLE XPADB.FINANCIAL_ISSUEVARIABLE;

TABLE XPADB.FINANCIAL_ISSUEWORKTIME;

TABLE XPADB.FINANCIAL_LIQUIDATEACT;

TABLE XPADB.FINANCIAL_MESSAGEINFO;

TABLE XPADB.FINANCIAL_PERIOD;

TABLE XPADB.FINANCIAL_PRICE;

TABLE XPADB.FINANCIAL_PRICEHIS;

TABLE XPADB.FINANCIAL_REFERINDEX;

TABLE XPADB.FINANCIAL_POSITION;

TABLE XPADB.RICH_AUTOTRADE;

TABLE XPADB.RICH_CUSTACCOUNT;

TABLE XPADB.RICH_CUSTAUTOTRADE;

TABLE XPADB.RICH_CUSTAUTOTRADEHIS;

TABLE XPADB.RICH_CUSTCAPITAL;

TABLE XPADB.RICH_CUSTFAVORABLE;

TABLE XPADB.RICH_CUSTFREEZEUNIT;

TABLE XPADB.RICH_CUSTFUNDPROFIT;

TABLE XPADB.RICH_CUSTIMPAWN;

TABLE XPADB.RICH_CUSTKEEPBAL;

TABLE XPADB.RICH_CUSTOMERINFO;

TABLE XPADB.RICH_CUSTOMERINFOHIS;

TABLE XPADB.RICH_CUSTORDERTRADE;

TABLE XPADB.RICH_CUSTPAYAMOUNTLOG;

TABLE XPADB.RICH_CUSTPRODUCTBAL;

TABLE XPADB.RICH_CUSTPRODUCTBALQTY;

TABLE XPADB.RICH_CUSTPROFITDCCY;

TABLE XPADB.RICH_CUSTPROFITLOG;

TABLE XPADB.RICH_CUSTPROFITNORMAL;

TABLE XPADB.RICH_CUSTPROFITPAYMODE;

TABLE XPADB.RICH_CUSTPROFITPAYMODEHIS;

TABLE XPADB.RICH_CUSTRISKLVL;

TABLE XPADB.RICH_FUNDTRADELOG;

TABLE XPADB.RICH_NOPAYAMOUNT;

TABLE XPADB.RICH_NORMALPAY;

TABLE XPADB.RICH_ORDERTRADE;

TABLE XPADB.RICH_SMSCMDSIGN;

TABLE XPADB.RICH_SMSCMDTRADE;

TABLE XPADB.RICH_STARTBAL;

TABLE XPADB.RICH_STARTBALHIS;

--TABLE XPADB.FINANCIAL_POSITION_TEMP;

TABLE XPADB.financial_positionhis;

TABLE XPADB.financial_positiontra;

TABLE XPADB.financial_positioncst;

TABLE XPADB.financial_positionacc;

TABLE XPADB.corp_stattemptab;

TABLE XPADB.corp_stattemptabacc;

TABLE XPADB.corp_stattemptabcst;

--goldengate test table

TABLE t.t1;

IGNOREDELETES

TABLE XPADB.FINANCIAL_SALEBANK;

TABLE XPADB.RICH_TRADELOG;

TABLE XPADB.RICH_CUSTPAYAMOUNTHIS;

TABLE XPADB.RICH_CUSTPRODUCTBALHIS;

TABLE XPADB.RICH_CUSTPROFIT;

TABLE XPADB.RICH_CUSTPROFITLOGHIS;

TABLE XPADB.RICH_CASHPOOL;

TABLE XPADB.RICH_AUTOTRADEHIS;

TABLE XPADB.BASE_CHANGELOG;

--goldengate test table

TABLE t.t2;

 

cd $GG_HOME    

./ggsci

ggsci>edit param ggspump

具体ggspump内容如下:

EXTRACT ggspump

PASSTHRU

RMTHOST 22.188.132.83, MGRPORT 7809

RMTTRAIL ./dirdat/tt

DYNAMICRESOLUTION

TABLE XPADB.*;

--OGG test table

TABLE t.*;

 

增加extpump进程以及队列:

cd $GG_HOME    

./ggsci

GGSCI> ADD EXTRACT ggsext, TRANLOG, BEGIN NOW

GGSCI> ADD EXTTRAIL ./dirdat/tt, EXTRACT ggsext, MEGABYTES 100

GGSCI> ADD EXTRACT ggspump, EXTTRAILSOURCE ./dirdat/tt

GGSCI> ADD RMTTRAIL ./dirdat/tt, EXTRACT ggspump, MEGABYTES 100

 

(3)       目标端配置replicat参数(等待后续初始化完成再配置进程和队列,目标只配置replicat的参数文件,下列分成11个进程,根据用户实际环境填写)

cd $GG_HOME    

./ggsci

ggsci>edit param ggsrep     

具体ggsrep内容如下:

REPLICAT ggsrep

--SETENV (ORACLE_SID = ggstd)

SETENV (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")

USERID goldengate, PASSWORD goldengate

--DDL include MAPPED

--DDLERROR DEFAULT IGNORE RETRYOP MAXRETRIES 3 RETRYDELAY 5

--DDLOPTIONS report

REPERROR DEFAULT, ABEND

ASSUMETARGETDEFS

DBOPTIONS DEFERREFCONST

DBOPTIONS SUPPRESSTRIGGERS

--BATCHSQL

--GROUPTRANSOPS 2000

DISCARDFILE ./dirrpt/ggsrep.dsc, APPEND, MEGABYTES 100

WILDCARDRESOLVE DYNAMIC

Dynamicresolution

ALLOWNOOPUPDATES

--GETTRUNCATES

MAP XPADB.*, TARGET XPADRPT.*;

--OGG test table

MAP t.*, TARGET tt.t*;

2.9 数据初始化

本次使用数据expdp(基于原端某scn号的一致性导出)和目标端impdp的方式进行目标数据库的重构,这其中的关键注意点说明如下:

       在取原端数据库scn号之前,确保源端oggextract已经启动,且在取scn时确认源端没有事物开始的时间是跨越extract启动的时间;

获取当前系统事物开始的时间:

select  start_time  from gv$transaction

(1)    原端取scn号语句:

Select current_scn from v$database;

获取的scn号为:1377184100

(2)    原端开始expdp

expdp goldengate/goldengate DIRECTORY=EXPDP_DIR TABLE=GLOBUS.ACFBNK_ACCOUNT_BAK DUMPFILE= GLOBUS.`date '+%Y%m%d_%H%M'`.dmp.%U LOGFILE=GLOBUS.`date '+%Y%m%d_%H%M'`.log parallel=4 FLASHBACK_SCN=1377184100

(3)    目标impdp

impdp goldengate/goldengate DIRECTORY=EXPDP_DIR DUMPFILE=GLOBUS.20130620_1525.dmp.%U LOGFILE=impdp.GLOBUS.20130620_1525.log parallel=4 REMAP_SCHEMA=xpadb:xpadrpt REMAP_TABLESPACE=xpaddat:xpaddata

2.10 目标库disable相关对象

目标数据库重构并open后,需要diable trigger/job/cascade reference

对应的disable脚本如下:

2.11 目标配置replicat进程并追加增量数据(在目标库完成重构后)

cd $GG_HOME    

./ggsci

GGSCI> add replicat ggsrep, exttrail ./dirdat/tt, nodbcheckpoint

 

下面928672344就是恢复目标库所到的scn号:

GGSCI> start replicat ggsrep , aftercsn 928672344

 

 

 

 


本文最后更新于2013-3-4,已超过 3个月没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!
版权说明

本文地址:https://www.chensj.net/?post=5
未标注转载均为本站远程,转载请注明文章出处:

联系我们

在线咨询:点击这里给我发消息

微信号:chensj923

工作日:9:00-23:00,节假日休息

扫码关注