Goldengate配置手册文档格式.docx

上传人:b****4 文档编号:16999193 上传时间:2022-11-27 格式:DOCX 页数:15 大小:63.48KB
下载 相关 举报
Goldengate配置手册文档格式.docx_第1页
第1页 / 共15页
Goldengate配置手册文档格式.docx_第2页
第2页 / 共15页
Goldengate配置手册文档格式.docx_第3页
第3页 / 共15页
Goldengate配置手册文档格式.docx_第4页
第4页 / 共15页
Goldengate配置手册文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

Goldengate配置手册文档格式.docx

《Goldengate配置手册文档格式.docx》由会员分享,可在线阅读,更多相关《Goldengate配置手册文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

Goldengate配置手册文档格式.docx

如确因业务需求需要考虑打开DDL复制,可以采取在业务较闲阶段打开DDL复制的Trigger观察其对业务系统影响,如没有性能上的较大降低,可以考虑保留DDL复制。

需实时对于业务系统进行监控,观察其在业务高峰期是否正常。

DDL复制建议只复制最小的集合,如table、index、createuser等。

2.7OGG数据复制链路结构

OracleGoldenGate数据复制的链路结构如下图所示:

1)源端首先配置一个主Extract进程,负责从数据库日志中解析数据,然后将数据写入到本地队列;

2)源端再配置一个DataPumpExtract,用于将本地队列经由网络传输到目标端的远程队列;

3)目的端配置replicat进程,负责将传输到目标的队列文件写入数据库。

2.8OGG进程命名规则

2.8.1总述

⏹OGG的进程命名遵循规则

1)长度不超过8;

2)只建议包含字母和下划线,不建议使用数字和其它特殊字符。

⏹OGG的队列命名遵循规则

队列名称包含绝对路径或相对路径,以及作为标识的两个字母,如./dirdat/rt和/Goldengate/dirdat/rt均可,建议使用相对路径。

2.8.2主Extract进程命名规则

主Extract的命令建议格式如下:

e+源端数据属性或对应数据库缩写+“_”+目标数据库+[extract序列号]

其中

1)前面的一个字母e表示本进程为主Extract,负责抽取数据库日志;

2)下划线左边是源端复制的数据属性或者数据对应的源端数据库缩写,下划线右边对应目标数据库的缩写;

3)由于两个库之间可能有多个复制进程,在这就添加一个Extract序列号以示区别。

举例:

egs_zj9,ehx_jq0,phx_jk7

具体进程数量请参考下节的介绍。

2.8.3本地队列命名规则

本地队列命名建议格式如下:

<

oggpath>

/dirdat/xx

./dirdat/xx

建议尽量采用相对路径格式,后面的两位字母一般为本地队列定义为g+一个标识字母,标识字母可以根据extract进程确定,有助于显式地将extract进程与队列联系起来。

例如:

./dirdat/ga

2.8.4DataPumpExtract进程命名规则

DataPumpExtract的命名建议格式如下:

p+源端数据属性或对应数据库缩写+“_”+目标数据库+[extract序列号]

1)dpe表示本进程为datapumpextract,以与主extract区分开。

2)后面几位命名要求严格与extract对应,即extract如果是egs_zj9,则对应的datapump进程命令为pgs_zj9,以便于识别那个dpe与哪个ext进程对应。

2.8.5本地队列命名规则

建议尽量采用相对路径格式,后面的两位字母一般远程队列定义为r+一个标识字母,标识字母保持与本地队列一致。

例如,

本地队列./dirdat/ga,远程队列./dirdat/ra。

2.8.6Replicat进程命名规则

Replicat的命名建议格式如下:

r+源端数据属性或对应数据库缩写+“_”+目标数据库+[投递序列号]

1)前面一个字母r表示本进程为replicat进程,负责向数据库投递数据;

2)下划线左边是源端复制的数据属性或者数据对应的源端数据库缩写,下划线右边对应目标数据库的缩写;

3)如果一个队列数据较多,需要拆分为多个replicat,则可以在后面加上1-2位阿拉伯数字的序列号以示区别。

以下为一个复制链路的命名示例,其中有一个extract和一个datapump和三个replicat:

Extract:

ezsj_gs1

本地队列:

./dirdat/zg

DataPumpExtract:

pzsj_gs1

远程队列:

./dirdat/rg

Replicat:

rzsj_gs1

2.9OGG进程数量设计

2.9.1主Extract进程设计

OracleGoldenGate的Extract进程处理能力根据主机、操作系统、内存、磁盘IO等因素会有所不同,但其总体处理能力较强,请参照以下原则设定其数量:

1)对于每个数据库实例至少需要一个单独的extract;

2)各进程之间应当分别负责不同的数据库实例、schema、业务表集合,并且各进程之间尽量实现负载均衡。

2.9.2DataPump进程设计

仅一条:

1)DataPump与主Extract必须一一对应。

2.9.3Replicat进程设计

Replicat进程设计原则如下:

1)每个远程队列至少有一个replicat负责;

2)每个replicat进程能够处理的队列大小要根据系统配置、数据库性能、数据结构如表是否有主键和索引等而定,一般需要经过一段时间实际运行方可获得可靠数据。

相对extract而言,replicat的处理能力要差很多,经常需要将一个trail拆分为多个replicat并行处理。

3)Replicat如需拆分,按照schema、业务所涉及表范围、表名称前缀等方法进行依次拆分,经常需要多次拆分方能达到最佳效果。

可以查看源端extract的报告或者使用stats命令找出变化较频繁的表,为一个或几个这些大数量级表单独配置投递进程。

以下为一个trail拆分为多个replicat的示例:

Extract示例:

EXTRACTextgb

setenv(NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)

USERIDgoldengate,PASSWORDXXXX

EXTTRAIL./dirdat/gb

Dynamicresolution

--这里共有两个schema

tableUCR_UIF1.*;

tableUCR_UEC.*;

DataPump与Extract类似,略。

Replicat示例:

replicatrepgbp

……………………

--本replicat负责一个schema

mapUCR_UIF1.*,targetUCR_UIF1.*;

replicatrepgbt

…………………….

--本replicat负责另一个schema中的一张大表

MapUCR_UEC.TF_O_SELFSERVICE_STATE,targetUCR_UEC.TF_O_SELFSERVICE_STATE;

replicatrepgbu

dynamicresolution

--本replicat负责另一个schema中除去上述大表外的所有表

MAPEXCLUDEUCR_UEC.TF_O_SELFSERVICE_STAT

mapUCR_UEC.*,targetUCR_UEC.*;

3GG实施步骤

3.1准备

a.为GoldenGate软件划分目录为/Goldengate,存储空间充足;

b.数据库必须处于归档模式,建议保留10天的归档日志;

c.不同厂商之间数据同步由双方工程师共同确定所需要复制的表以及划分复制通道。

d.为GoldenGate防火墙开端口7809,7840-7850(在源和目标端)

3.2创建运行GoldenGate的用户

1)在源端采用ORACLE用户运行GoldenGate

2)创建GG安装位置:

/Goldengate

3)创建GoldenGate数据库用户ggs

$sqlplus/assysdba

SQL>

createuserggsidentifiedbyXXXX;

grantconnect,resource,dbatoggs;

exit;

4)检查源端数据库是否为归档模式,若为非归档模式,将其改为归档模式

archiveloglist;

5)检查源端数据库附加日志是否打开

selectsupplemental_log_data_minfromv$database;

a)将数据库附加日志打开

alterdatabaseaddsupplementallogdata;

b)切换日志以使附加日志生效

--SQL〉Altersystemswitchlogfile;

Select*fromv$transaction

3.3安装GoldenGate

通过sftp上传GoldenGate软件包道安装目录,并解压缩

tar-xvf*.tar

在ggsci环境下创建GoldenGate子目录,createsubdirs

Shell>

ggsci

GGSCI>

CREATESUBDIRS

EXIT

3.4添加变量

vi.bash_profile

exportGG_HOME=/Goldengate

exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:

\$GG_HOME:

\$LD_LIBRARY_PATH

3.5增加附加日志

在GGSCI命令行中登陆数据库,为需要复制的数据表添加trandata

a)执行完毕通过下列sql检查,查看那些表已经添加了附加日志:

Infotradataschema.table

b)如果发现尚有部分表未添加附加日志,需有手工添加,例:

Ggsci>

dbloginuseridggs,passwordXXXX

如果该表有主键:

addtrandataschema.table

--Ggsci>

addtrandataschema.*

3.6OGG源端配置

现在以一条完整的链路为例,详细演示各进程的配置方法。

3.6.1MGR进程参数模板

editparammgr

--Manager使用的端口

port7809

DYNAMICPORTLIST7840-7850

--自动启动所有的Extract进程

--AUTOSTARTEXTRACT*

--自动重启所有的Extract,每隔2分钟重试,重试次数5次

AUTORESTARTEXTRACT*,RETRIES5,WAITMINUTES2

--每隔1小时检查延迟报告

--LAGREPORTHOURS1

--每隔30分钟检查延迟,如果超过延迟阀值,将写入错误日志

--LAGINFOMINUTES30

--延迟阀值45分钟

--LAGCRITICALMINUTES45

3.6.2主Extract进程参数模板

当前源端IP:

100.12.XXX.XXXSID:

bjscgshx1

为egs_zj9进程配置参数:

editparamegs_zj9

--Extract进程名

EXTRACTegs_zj9

--设置环境变量

SETENV(ORACLE_SID="

bjscgshx1"

SETENV(NLS_LANG=AMERICAN_AMERICA.AL32UTF8)

--GoldenGate用户名、密码

useridggs,passwordXXXX

--捕获Truncate操作

GETTRUNCATES

REPORTAT01:

59

REPORTROLLOVERAT02:

00

TRANLOGOPTIONSCONVERTUCS2CLOBS

EXTTRAIL./dirdat/xt

NUMFILES3000

EOFDELAYCSECS30

tranlogoptionsasmusersys@asm,asmpasswordXXXX

--动态解析表名

DYNAMICRESOLUTION

DBOPTIONSALLOWUNUSEDCOLUMN

FETCHOPTIONSNOUSESNAPSHOT

FETCHOPTIONSSUPPRESSDUPLICATES

FETCHOPTIONSFETCHPKUPDATECOLS

WARNLONGTRANS3H,CHECKINTERVAL3M

TABLEGS_HX.CS_FYKCBZ;

TABLEGS_HX.DM_DJ_BGDJXM;

Ø

添加egs_zj9进程,从数据库日志中抓取有效数据

GGSCI(HYGSDBDQ03)11>

addextractegs_zj9,tranlog,threads2,beginnow

GGSCI(HYGSDBDQ03)14>

addexttrail./dirdat/xt,extractegs_zj9,megabytes100

检查配置情况:

INFOEXTTRAIL*

STARTEXTRACTegs_zj9

VIEWREPORTegs_zj9

3.6.3DataPump传输进程参数模板

对应的抽取进程为egs_zj9

为对相应的抽取进程配置相应的传输进程:

editparampgs_zj9

--DataPump进程名称

EXTRACTpgs_zj9

FLUSHCSECS30

--目标机器IP和端口

RMTHOST100.12.98.XX,MGRPORT7809,TCPBUFSIZE100000,TCPFLUSHBYTES300000

--队列文件在目标端的存放位置

rmttrail./dirdat/zf

--采用pass-through模式处理表

PASSTHRU

--要复制的表清单

TABLEGS_HX.*;

添加pgs_zj9进程,将本地队列的数据抽取出来

GGSCI(HYGSDBDQ03)33>

addextractpgs_zj9,exttrailsource./dirdat/xt

添加远端队列,将pgs_zj9进程捕捉到的数据将写入该队列

GGSCI(HYGSDBDQ03)34>

addrmttrail./dirdat/rt,extractpgs_zj9,megabytes100

检查配置情况

STARTEXTRACTpgs_zj9

INFOEXTRACTpgs_zj9

3.7OGG目标端配置

3.7.1安装GoldenGate

3.7.2添加变量

在oracle用户的.bash_profile文件中添加:

3.7.3MGR进程配置

editparammgr

LAGREPORTHOURS1

--每隔3分钟检查延迟,如果超过延迟阀值,将写入错误日志

LAGINFOMINUTES3

--延迟阀值5分钟

LAGCRITICALMINUTES5

3.7.4数据入库Replicat进程参数模板

当前目标端IP:

100.12.XX.XX

SID:

bjsczsj1

GGSCI>

editparamsrgs_zj9

--Replicat进程名称

replicatrgs_zj9

bjsczsj1"

USERIDggs,PASSWORDXXXX

sqlexec"

Altersessionsetcommit_write=nowait"

--除重处理

--HANDLECOLLISIONS

REPERRORDEFAULT,ABEND

--REPERRORDEFAULT,DISCARD

DISCARDFILE./dirrpt/rt.dsc,append,megabytes100

DISCARDROLLOVERAT06:

ASSUMETARGETDEFS

--复制Truncate操作

--GETTRUNCATES

--允许Update操作前后值一样的复制

ALLOWNOOPUPDATES

BATCHSQLBATCHESPERQUEUE200,OPSPERBATCH2000

MAPGS_HX.*,TARGETGS_ZSJ.*;

添加rgs_zj9进程,从数据库日志中抓取有效数据。

执行一下命令的时候需要export对应的ORACLE_SID,在目标端创ggs_checkpoint.

exportORACLE_SID=bjsczsj1

GGSCI(HYGSDBDQ01)12>

dbloginuseridggs,passwordXXXX

addcheckpointtableggs.ggs_checkpoint

addreplicatrgs_zj9,exttrail./dirdat/rt,checkpointtableggs.ggs_checkpoint

STARTREPLICATreplsb

INFOREPLICATreplsb

3.8启动GoldenGate进程

3.8.1启动源端管理进程

startmgr

3.8.2启动目标端管理进程

3.8.3启动源端抽取进程

starte*

3.8.4启动源端传输进程

startp*

3.8.5启动目标端入库进程

startr*

4GG初始化说明

4.1数据库说明

4.2数据库信息

4.3Goldengate同步内容

4.3.1Goldengate进程说明

4.3.2与外部其他系统Goldengate进程说明

说明:

同步的相关详细表清单请查看附件。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1