Goldengate参数规范

Posted 长城之上是千亿的星空,星空之上是不灭的守望。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Goldengate参数规范相关的知识,希望对你有一定的参考价值。

1.    文档综述

1.1.  文档说明

本文档规定了在实施Goldengate时,各个进程需要配置的参数.

该参数模板适合于Goldengate11.2.1.0版本;

**注:本文档为Goldengate实施规范系列文档内容之一。在Goldengate的实施过程中,需要严格遵循系列实施规范。

**注:无主键,大事务,这些都是OGG支持有问题的,需要进行应用调整,否则即使按照规范执行,某些情况下也会出现问题。

**注:本文档不涉及任何调优参数,如需使用性能调优参数需咨询oracle后谨慎使用。

**注:前提复制范围已确定,DML复制的对象都需要在DDL复制范围内。

1.2.  读者范围

本文档主要供容灾相关人员、纳入数据级容灾范围的应用系统相关人员使用,在Goldengate实施、运维的整个生命周期中,必须严格遵循本系列文档。

1.3.  术语说明

序号

完整说法

缩略说法

1

GoldenGate

GG或OGG

 

 

 

 

 

 

 

 

 

 

 

 

 

1.4.  输入输出

1.4.1. 输入条件

N/A

1.4.2. 文档产出

N/A

 

 

2.      Goldengate进程参数模板

参数文件中的参数分为三类:

  • 必选参数:进程必须配置的参数;
  • 可选参数:可以根据应用的实际情况选择使用的参数,例如性能调优参数;
  • 特定参数:特定环境或者特定平台使用的参数;
  • 非选参数:该类参数不能进行配置
  • DDL配置参数(在实施DDL复制时需要配置的参数,在参数模板文件中一律标红显示)

Global参数源端默认为 schema goldengate

目标端默认为 CHECKPOINTTABLE goldengate.ggschkpt 即可

注:请遵照本参数模板的参数顺序来进行配置;

2.1.  管理进程MGR参数配置

范例:

--配置普通基本参数区域

PORT 7809

DYNAMICPORTLIST7840-7914

AUTOSTART ER *

STARTUPVALIDATIONDELAY 5

AUTORESTART EXTRACT *, RETRIES 5, WAITMINUTES 7

PURGEOLDEXTRACTS ./dirdat/*, USECHECKPOINTS, MINKEEPDAYS 3

--配置DDL参数区域

PURGEDDLHISTORY MINKEEPDAYS 7, MAXKEEPDAYS 10,FREQUENCYMINUTES 30

PURGEMARKERHISTORY MINKEEPDAYS 7, MAXKEEPDAYS 10

配置一般日志信息区域

LAGREPORTHOURS 1

LAGINFOMINUTES 30

LAGCRITICALMINUTES 45

 

PORT 7839

--必选参数

DYNAMICPORTLIST 7840-7914

--必选参数

--配置建议:一个传输进程(datapump)一般需要预留5个端口,其他监控端口另行考虑;

这些端口用于与goldengate的复制进程,collector进程,ggsci命令进行通信。

AUTOSTART ER *

--非选参数

--此参数用于启动mgr进程时,自动启动下边的其它资源组。

AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 3

--此参数表示extract进程由于网络中断或者其它原因停止时,goldengate会自动尝试启动5次,直到成功,每次自动启动间隔为3分钟。

STARTUPVALIDATIONDELAY 5

–-配合autostart ER *使用,表示启动每组资源是延时5S,建议稳定时候开启

--可选参数

--配置建议:在系统运行稳定时,打开该参数;

PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 3

--必选参数

--配置建议:根据队列空间大小适当进行调整,建议>=3天;

--purgeoldextracts参数用于定期删除维护不用的trail文件。此次含义为用checkpoints,删除超过3天且已经应用--完的trail文件。

 

PURGEDDLHISTORY MINKEEPDAYS 7, MAXKEEPDAYS 10,FREQUENCYMINUTES 30

--DDL 配置时需要的参数,此参数用于维护GGS_DDL_HIST表,默认清除1小时没有变更过的记录。此处为GGS_DDL_HIST表记录保存7-10天内没有变更过的记录。

PURGEMARKERHISTORY MINKEEPDAYS 7, MAXKEEPDAYS 10

  --DDL配置时需要的参数,用于维护GGS_MARKER的记录数。默认为超过1小时的记录没有变更即删除。此处的参数含义为7-10天内的记录没有变更,就删除该记录,每30分钟检查并执行一次。

LAGREPORTHOURS 1

--必选参数

--配置建议:统一设定为1个小时;

--表示mgr进程每隔一小时检查各进程延时情况,并记录到goldengate report文件。

LAGINFOMINUTES 30

--必选参数

--配置建议:统一设定为30分钟;

--表示进程复制延时超过30分钟,goldengate即向日志文件记录一条info级别的延时信息。

.

LAGCRITICALMINUTES 45

--必选参数

--配置建议:统一设定为45分钟;

表示进程复制延时超过45分钟,goldengate即向日志文件记录一条critical级别的延时信息。

 

 

 

 

2.2.  抽取进程EXTRACT参数配置

范例:

--基础参数区域

EXTRACT extya

SETENV (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")

USERID goldengate, PASSWORD AACAAAAAAAAAAGAIF, ENCRYPTKEY default

REPORTCOUNT EVERY 30 MINUTES, RATE

DISCARDFILE ./dirrpt/exta.dsc, APPEND, MEGABYTES 256

DISCARDROLLOVER AT 3:00

WARNLONGTRANS 2h, CHECKINTERVAL 3m

EXTTRAIL ./dirdata/ya, MEGABYTES 256

DYNAMICRESOLUTION

DBOPTIONSALLOWUNUSEDCOLUMN

FETCHOPTIONS NOUSESNAPSHOT

TRANLOGOPTIONSCONVERTUCS2CLOBS

tranlogoptions asmuser [email protected], asmpassword  AACAAAAAAAAAAGAIF, ENCRYPTKEY default

TRANLOGOPTIONS altarchivelogdest primary instance rac1  /arch1 altarchivelogdest  instancerac2 /arch2

THREADOPTIONSMAXCOMMITPROPAGATIONDELAY 60000

THREADOPTIONSIOLATENCY 1000

--DDL参数区域,所有复制对象,屏蔽对象在源端体现。

DDL &

INCLUDE MAPPED OBJTYPE ‘TABLE‘ &

INCLUDE MAPPED OBJTYPE ‘INDEX‘ &

INCLUDE MAPPED OBJTYPE ‘SEQUENCE‘ &

INCLUDE MAPPED OBJTYPE ‘VIEW‘ &

INCLUDE MAPPED OBJTYPE ‘PROCEDURE‘ &

INCLUDE MAPPED OBJTYPE ‘FUNCTION‘ &

INCLUDE MAPPED OBJTYPE ‘PACKAGE‘ &

EXCLUDE OPTYPE COMMENT

DDLOPTIONS  addtrandata REPORT

--对象范围区域,总的原则为尽量将处在同一事物与业务,即相关联的对象放到同一进程,具体依据前期收集到的信息进--行归类。

TABLE SCHEMA.*;

Sequence schema.*;

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

EXTRACT extxx

--必选参数

setenv (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)

--必选参数

--配置建议:需要根据数据库的字符集进行设置;

--用于设置goldengate的字符集变量信息,此处值会覆盖操作系统级别的变量。该值需要和数据库字符集匹配一致。

USERID ggs, PASSWORD AACAAAAAAAAAAGAIF, ENCRYPTKEY default

--必选参数

--配置建议:要求使用密文参数,添加需要的配置参数;

--加密步骤:参考附录3.1;

tranlogoptions asmuser [email protected], asmpassword  AACAAAAAAAAAAGAIF, ENCRYPTKEY default

--TRANLOGOPTIONS DBLOGREADER

--特定参数

--配置建议:在ASM情况下使用,要求使用密文参数,添加需要的配置参数;

--加密步骤:参考附录3.1;

--其他说明:需要注意配置ASM监听,关注listener.ora和tnsnames.ora配置文件。

--对于数据库版本等于或高于10.2.0.5,建议使用TRANLOGOPTIONS DBLOGREADER替代tnsnames连接方式

GETTRUNCATES

--可选参数(复制truncate操作)

--配置建议:在仅进行DML复制时,该参数需要打开;如果DDL和DML的复制同时打开,该参数必须关闭;

     --默认不复制truncate操作。

DDL &

INCLUDE MAPPED OBJTYPE ‘TABLE‘ &

INCLUDE MAPPED OBJTYPE ‘INDEX‘ &

INCLUDE MAPPED OBJTYPE ‘SEQUENCE‘ &

INCLUDE MAPPED OBJTYPE ‘VIEW‘ &

INCLUDE MAPPED OBJTYPE ‘PROCEDURE‘ &

INCLUDE MAPPED OBJTYPE ‘FUNCTION‘ &

INCLUDE MAPPED OBJTYPE ‘PACKAGE‘ &

EXCLUDE OPTYPE COMMENT

DDLOPTIONS  addtrandata REPORT

--匹配table/index/sequence/view/procedure/function/package对象进行DDL复制

此处参数为按对象类型进行匹配复制,还可以配合schema,操作类型进行匹配。需要oracle与应用确认范围后敲定。

 

REPORTCOUNT EVERY 25 MINUTES, RATE

  --可选参数

--配置建议:如果需要优化,可以适当进行调整;

--此参数每隔25分钟,goldengate向日志文件生成一条记录(抽取进程自从启动后处理的记录数与计算处理速率的信息)。

DISCARDFILE ./dirrpt/extxx.dsc,APPEND,MEGABYTES 1024

--必选参数

--配置建议:该参数的路径必须为相对路径,该参数的值设置为1024M

--discard文件用于记录goldengate不能处理的记录信息。该文件可以采用purge(删除覆盖)与append(追加)方式。

--此处参数设置了discard文件的路径与文件名./dirrpt/extxx,采用追加方式保存,文件大小最大为1024M。当文件大小超过1024M时,抽取进程就会abend,一般配合DISCARDROLLOVER使用,这样保证不会由于超过文件大小导致进程abend。

THREADOPTIONSMAXCOMMITPROPAGATIONDELAY 60000 IOLATENS 60000

--特定参数,在rac环境下需要配置,非Rac的生产环境不需要配置;

--配置建议:设置为60000,最大可以设置为90000;

--主要用于解决RAC两个节点时间有偏差造成transaction不准确。

 

AIXTHREAD_SCOPE=S

export AIXTHREAD_SCOPE

--对于aix系统建议在环境变量引入该变量,可以使goldengate使用多cpu,提高性能。

DBOPTIONS  ALLOWUNUSEDCOLUMN

--必选参数;

--配置建议:在生产端库表中存在unused列时,需要配置该参数;

--用于阻止抽取进程抽取数据时由于表含有unused列而导致进程abend。即使使用该参数,抽取进程抽取到unused列时也会向日志文件记录一条警告信息。

WARNLONGTRANS 2h,CHECKINTERVAL 3m

  --必选参数

--配置建议:要求设置为2h,3m,如有特殊需要,可以调整;表示向日志记录超过2小时的长事务信息,每隔3分钟检查一次。

EXTTRAIL ./dirdat/xx

  --必选参数

--配置建议:要求使用相对路径,遵循命名规范;

--用于指定trail文件存放路径。

TRANLOGOPTIONS EXCLUDEUSER USERNAME

--可选参数

--配置建议:可以使用来排除大事务用户

--排除不需要的用户的数据复制。主要用于双活拓扑结构的系统时,用来排除goldengate用户的数据。避免形成环路。

  FETCHOPTIONS NOUSESNAPSHOT

--必选参数

--配置建议:要求必须设置该参数

--默认值为 usesnapshot,表示利用数据库闪回读取数据。Nousesnapshot表示直接从原表读取相关数据。

所有需要添加的fetchoption参数需要oracle确认

TRANLOGOPTIONS  CONVERTUCS2CLOBS

  --必选参数

--对CLOB字段进行处理

--此参数官方文档没有,需要oracle确认。

TRANLOGOPTIONS altarchivelogdest primary instance rac1  /arch1 altarchivelogdest  instancerac2 /arch2

--特定参数

--配置建议:rac使用,解决归档路径不一致的问题;可以在一个实例上面配置多个归档路径;

--需要保证goldengate能同时读到各节点的归档,一般采用NFS挂载rac另外节点的归档。

TRANLOGOPTIONSRAWDEVICEOFFSET  0

--特定参数

--配置建议:仅限于AIX平台下使用裸设备时使用,其它平台或非裸设备均不需要

--需要在Aix操作系统中去查有没有偏移量,如果有偏移量的话,该参数不需要进行设置,goldengate的默认就可以了;

--如果没有偏移量,则需要设置为0;

--该参数官方文档不存在,需要oracle确认

TABLE SCHEMA.*;

--需要复制的对象列表,拆分需遵循拆分规范

 

 

 

 

2.3.  传输进程DATAPUMP参数配置

 

范例:

--基础参数区域

EXTRACT dpeya

RMTHOST hostname, MGRPORT 7809, COMPRESS

PASSTHRU

NUMFILES 5000

RMTTRAIL ./dirdata/ya

DYNAMICRESOLUTION

--对象区域,尽量保证与抽取进程一致。

TABLE schema.*;

 

EXTRACT dpxx

  --必选参数

--表示进程名,需遵循设计规范。

PASSTHRU

--必选参数

--表示传输进程直接跟抽取进程交互,而不再和数据库进行交互,减少数据库资源的利用。

RMTHOST *.*.*.*, MGRPORT 7839, compress, PARAMS –W 30

  --必选参数

--配置建议:*.*.*.* 目标端的ip地址,7839为目标端的管理端口,要求配置compress压缩参数,节省网络带宽,但会增加CPU开销;

此参数用在HP NONSTOP系统上,建议删除,需讨论-- PARAMS –W 30 可以确保datadump进程宕掉以后,容灾端的server在30秒后自动停掉;

 

RMTTRAIL ./dirdat/xx

  --必选参数

--配置建议:要求使用相对路径,遵循命名规范;

 

TABLE SCHEMA.*;

复制范围和抽取进程对应即可,对于拆分情况参照拆分设计文档

 

 

2.4.  复制进程REPLICAT参数配置

 范例:

REPLICAT repya

USERID ggs, PASSWORD AACAAAAAAAAAAGAIFAAAUDVHCFUGFIYF, ENCRYPTKEY default

SETENV (NLS_LANG = "AMERICAN_AMERICA.ZHS16GBK")

REPORT AT 01:59

REPORTCOUNT EVERY 25 MINUTES, RATE

REPORTROLLOVER AT 02:00

REPERROR DEFAULT, ABEND

ALLOWNOOPUPDATES

ASSUMETARGETDEFS

DISCARDFILE ./dirrpt/ya.dsc, APPEND, MEGABYTES 256M

DISCARDROLLOVER AT 02:00

ALLOWNOOPUPDATES

--DDL参数区域 需要屏蔽的操作类型在此区域屏蔽

DDL include mapped

ddloptions report

--DDL 错误过滤

DDLERROR <error1> IGNORE

--复制对象区域,尽量与dpe进程保持一致。

MAP  schema.*,   TARGETschema.*;

 

 

REPLICAT repxx

  --必选参数

--设置复制进程名字,需遵循命名规范

setenv (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)

--必选参数

--配置建议:需要根据数据库源端的字符集进行设置;

SQLEXEC "ALTER SESSION SET CONSTRAINTS=DEFERRED"

  --必选配置

  --注:打开数据库中的延迟约束的特性,避免复制进程因拆分造成插入相关的约束错误。

 

USERID ggs, PASSWORD AACAAAAAAAAAAGAIFAAAUDVHCFUGFIYF, ENCRYPTKEY default

--必选参数

--配置建议:要求使用密文参数,添加需要的配置参数;

--加密步骤:参考附录3.1;

 

DDL include mapped

ddloptions report

--以上标红为开启DDL复制时需要配置的参数;

--复制所有匹配的DDL。

REPORT AT 01:59

  --可选参数,定期生产进程相关的report文件。

--配置建议:该时间也根据需要进行修改

--每天01:59定期生成一个report文件

REPORTCOUNT EVERY 30 MINUTES, RATE

--可选参数

--配置建议:可以根据需要进行调整;

--此参数每隔30分钟,goldengate向日志文件生成一条记录(抽取进程自从启动后处理的记录数与计算处理速率的信息)。

REPERROR DEFAULT, ABEND

  --必选参数

--配置建议:使用abend参数;

--goldengate遇错的处理原则,即遇到不能处理的错误就自动abend,启动需要人工干预处理。

HANDLECOLLISIONS

--非选参数

--配置建议:用于goldengate自动过滤不能出来的冲突记录,为了严格保证数据一致性,该参数不允许打开,如需打开,请联系Oracle Support;

 

assumetargetdefs

--必选参数

  --表示源库与目标库表结构一致。

DISCARDFILE ./dirrpt/repya1.dsc, APPEND, MEGABYTES 1024

--必选参数

--配置建议:该参数的路径必须为相对路径,建议该参数的值设置为1024M;

--discard文件用于记录goldengate不能处理的记录信息。该文件可以采用purge(删除覆盖)与append(追加)方式。

DISCARDROLLOVER AT 02:30

--可选参数

--配置建议:该参数统一设定为02:30,根据情况也可以进行调整;

--表示discard文件每天02:30定期轮转。

 

GETTRUNCATES

--可选参数

--配置建议:在仅进行DML复制时,该参数需要打开;如果DDL和DML的复制同时打开,该数据必须关闭;

--默认不复制truncate操作。

ALLOWNOOPUPDATES

  --必选参数,默认值为NOALLOWNOOPUPDATES

--注:当源表有排除列情况或者有目标表不存在的列时,当更新这列goldengate默认报错。应用该参数后,即可让goldengate生成一条警告信息而不是报错。

 

MAP SCHEMA.*;

对应需要复制的对象,默认一一对应传输进程,当有拆分时参考拆分规范。 

 

 

3.      附录

3.1.  明文密码加密步骤

在参数文件的Login设置中,密码信息需要使用密文,加密步骤如下:

(一) 获取密码经过GG默认算法加密的密文

GGSCI>ENCRYPT PASSWORD ny14072 BLOWFISH ENCRYPTKEY DEFAULT

--其中,xxxxxxx为OGG用户实际的明文密码

Using default key...

Encrypted password:AACAAAAAAAAAAAHANGWARBMCFHHDCFMF

Algorithm used:  BLOWFISH  --得到加密后的密文

(二) 修改Extract参数文件:

USERID ggs, PASSWORD AACAAAAAAAAAAGAIFAAAUDVHCFUGFIYF, ENCRYPTKEY default

 

 

4.GoldenGate参数文档

Windows and UNIX Reference Guide 11g Release 2 Patch Set 1 (11.2.1.0.1)

以上是关于Goldengate参数规范的主要内容,如果未能解决你的问题,请参考以下文章

Oracle GoldenGate OGG管理员手册(较早资料)

Goldengate进程的合并与拆分规范

goldengate一些参数整理

Oracle Goldengate参数整理

GoldenGate HANDLECOLLISIONS参数使用说明

GoldenGate 性能优化方法