• 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 sys@asm, 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 sys@asm, 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)

  • 相关阅读:
    LeetCode 88. Merge Sorted Array
    LeetCode 75. Sort Colors
    LeetCode 581. Shortest Unsorted Continuous Subarray
    LeetCode 20. Valid Parentheses
    LeetCode 53. Maximum Subarray
    LeetCode 461. Hamming Distance
    LeetCode 448. Find All Numbers Disappeared in an Array
    LeetCode 976. Largest Perimeter Triangle
    LeetCode 1295. Find Numbers with Even Number of Digits
    如何自学并且系统学习计算机网络?(知乎问答)
  • 原文地址:https://www.cnblogs.com/l10n/p/7529133.html
Copyright © 2020-2023  润新知