zoukankan      html  css  js  c++  java
  • 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)

  • 相关阅读:
    语句
    1101 事务存储引擎触发器函数
    1029 作业
    1029 数据库表以及行的基本操作
    1023 笔记
    1022 作业
    1022 笔记
    1021 笔记
    查看pip已经安装过的包
    查看Python支持的.whl文件版本
  • 原文地址:https://www.cnblogs.com/l10n/p/7529133.html
Copyright © 2011-2022 走看看