OGG配置参数详解 您所在的位置:网站首页 ogg版本怎么看 OGG配置参数详解

OGG配置参数详解

2023-08-01 17:06| 来源: 网络整理| 查看: 265

真实环境的OracleGoldenGate配置参数详解 — 生产端

很多刚开始学习OGG的同学在学会基本配置后,想要进一步提高的阶段必不可少的要跟各种配置参数打交道。比如管理进程的参数、抽取进程的参数、投递进程的参数和复制进程的参数。这些参数文件中样式繁多的参数都是什么作用,怎样使用,真正的企业应用会怎样配置一定是初学者渴望了解的。

本文分为两篇,第一篇介绍生产端的管理进程配置参数、抽取进程配置参数、投递进程配置参数;第二篇介绍灾备端管理进程配置参数和复制进程配置参数。

本文来自一个真实的企业应用,生产端和灾备端位于不同的城市。让我们走出实验室看看真实的生产环境的OGG配置吧。

OGG的版本为:11.2.1.0.4

Oracle GoldenGate Command Interpreter for OracleVersion 11.2.1.0.4 14636914 OGGCORE_11.2.1.0.4_PLATFORMS_121007.2020HP/UX, IA64, 64bit (optimized), Oracle 10g on Oct 8 2012 02:26:37

Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.

启动的进程GGSCI> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER RUNNINGEXTRACT RUNNING DPEYA 00:00:00 00:00:02EXTRACT RUNNING EXTYA 00:00:02 00:00:05EXTYA为抽取进程,DPEYA为投递进程

管理进程配置GGSCI> view params mgr

PORT 7839DYNAMICPORTLIST 7840-7914—AUTORESTART EXTRACT , RETRIES 5, WAITMINUTES 7PURGEOLDEXTRACTS ./dirdat/, USECHECKPOINTS, MINKEEPDAYS 10LAGREPORTHOURS 1LAGINFOMINUTES 30LAGCRITICALMINUTES 45 PORT 7839通信端口7839。 生产端和灾备端需要保持一致。

DYNAMICPORTLIST 7840-7914动态端口列表的范围从7840到7914。当制定端口被占用或者出现通信故障,管理进程将会从列表中选择下一个端口尝试连接,避免通信端口的单点故障。

—AUTORESTART EXTRACT *, RETRIES 5, WAITMINUTES 7当提取进程中断后尝试自动重启,每隔7分钟尝试启动一次,尝试5次。OGG运维人员通常会注释掉这条配置,更喜欢用手工重启的方式来控制。

PURGEOLDEXTRACTS ./dirdat/*, USECHECKPOINTS, MINKEEPDAYS 10定期清理dirdat路径下的本地队列(local trail)。保留期限10天,过期后自动删除。从而控制队列文件的目录不会增长过大。

LAGREPORTHOURS 1每隔一小时检查一次传输延迟情况

LAGINFOMINUTES 30传输延时超过30分钟将写入错误日志

LAGCRITICALMINUTES 45传输延时超过45分钟将写入警告日志https://www.cndba.cn/xw15575450545/article/2765

通常在一些海量数据的分区表中容易出现传输延时的现象。建议在灾备端启动多个复制进程(replicat),为这些大表单独的开启专用通道。

抽取进程配置GGSCI 3> view params extya

EXTRACT extyaSETENV (NLS_LANG=”AMERICAN_AMERICA.UTF8”)USERID goldengate, PASSWORD AACAAAAAAAAAAAJAPJYATHVIMGMAOFHIUCUEPFYGGJBFJGIH, ENCRYPTKEY defaultREPORTCOUNT EVERY 30 MINUTES, RATEDISCARDFILE ./dirrpt/extya.dsc, APPEND, MEGABYTES 1024DISCARDROLLOVER AT 3:00WARNLONGTRANS 2h, CHECKINTERVAL 3mEXTTRAIL ./dirdat/yaDYNAMICRESOLUTIONDBOPTIONS ALLOWUNUSEDCOLUMNFETCHOPTIONS NOUSESNAPSHOTFETCHOPTIONS FETCHPKUPDATECOLS—CACHEMGR CACHESIZE 8000MB, CACHEDIRECTORY /goldengate/temp, CACHEDIRECTORY /goldengate/temp2TRANLOGOPTIONS CONVERTUCS2CLOBS—tranlogoptions asmuser sys@asm, asmpassword AACAAAAAAAAAAGAIF, ENCRYPTKEY defaultTRANLOGOPTIONS altarchivelogdest primary instance sgpmdb1 /sgpmdb/arch altarchivelogdest instance sgpmdb2 /sgpmdb/archTHREADOPTIONS MAXCOMMITPROPAGATIONDELAY 60000 IOLATENCY 60000

—Schema名称涉及敏感字符,在此统一使用Schema来代替—table名称涉及敏感字符,在此统一使用table来代替mapexclude Schema1.table1;mapexclude Schema1.table2;mapexclude Schema2.table1;mapexclude Schema2.table1;

TABLE Schema1.;TABLE Schema2.;TABLE Schema3.;TABLE Schema4.;TABLE Schema5.*;

sequence Schema1.;sequence Schema2.;sequence Schema3.;sequence Schema4.;sequence Schema5.*;

SETENV (NLS_LANG=”AMERICAN_AMERICA.UTF8”)设置字符集环境变量为UTF8如果系统中存在多个数据库有时候会用参数SETENV设置ORACLE_HOME、ORACLE_SID等,例如:SETENV (ORACLE_HOME = “/home/oracle/product/10.2.0/db)SETENV (ORACLE_SID = “PROD”)

REPORTCOUNT EVERY 30 MINUTES, RATE每隔30分钟报告一次从程序开始到现在的抽取进程或者复制进程的事物记录数,并汇报进程的统计信息

DISCARDFILE ./dirrpt/extya.dsc, APPEND, MEGABYTES 1024将执行失败的记录保存在discard file中,该文件位于./dirrpt/extya.dsc,大小为1024MB。 文件中已经包含记录的话,再后面继续追加,不删除之前的记录。

DISCARDROLLOVER AT 3:00为了防止discard file被写满,每天3:00做一次文件过期设定

WARNLONGTRANS 2h, CHECKINTERVAL 3m每隔3分钟检查一下大事务,超过2小时还没结束的进行报告

EXTTRAIL ./dirdat/ya队列文件路径

DYNAMICRESOLUTION有时候开启OGG进程的时候较慢,可能是因为需要同步的表太多,OGG在开启进程之前会将需要同步的表建立一个记录并且存入到磁盘中,这样就需要耗费大量的时间。使用该参数来解决此问题。

DBOPTIONS ALLOWUNUSEDCOLUMN当抽取进程遇到一个没有使用的字段时只生成一个警告,进程会继续执行而不会被异常终止(abend)https://www.cndba.cn/xw15575450545/article/2765

FETCHOPTIONS NOUSESNAPSHOT不会从闪回日志中获取数据

FETCHOPTIONS FETCHPKUPDATECOLS当使用了HANDLECOLLISIONS时,请使用该参数。复制进程出现丢失update记录(missing update)并且更新的是主键,update将转换成insert。由于插入的记录可能不是完整的行,若要保证完整需要加入此参数

—CACHEMGR CACHESIZE 8000MB, CACHEDIRECTORY /goldengate/temp, CACHEDIRECTORY /goldengate/temp2在/goldengate/temp,/goldengate/temp2 目录设置虚拟内存

TRANLOGOPTIONS CONVERTUCS2CLOBS指定在解析数据库日志时所需要的特殊参数本参数只用在extract端 UTF字符类型,并且11.1.1前处理CLOB才需要。如果包含CLOB字段,在Extract参数文件中必须添加:TRANLOGOPTIONS CONVERTUCS2CLOBS

TRANLOGOPTIONS altarchivelogdest primary instance rac1 /arch altarchivelogdest instance rac2 /arch指定RAC环境下每个节点的归档日志地址

TRANLOGOPTIONS LOGRETENTION DISABLEDLOGRETENTION主要功能是防止rman删除ogg恢复所需要用到的归档日志,可以通过禁用这个特性来解决上面的这个问题。

https://www.cndba.cn/xw15575450545/article/2765

THREADOPTIONS MAXCOMMITPROPAGATIONDELAY 60000 IOLATENCY 60000RAC集群中的所有节点必须同步系统时钟。GoldenGate通过比较本地系统的时间和事务提交的时间点来做出关键决策。可以通过NTP来不同系统时间。所有节点上的COMPATIBLE参数设置也必须相同。这个参数在Oracle11.2版本后就不在使用了。

投递进程配置GGSCI 6> view params dpeyahttps://www.cndba.cn/xw15575450545/article/2765

EXTRACT dpeyaRMTHOST 10.10.10.1, MGRPORT 7839, COMPRESSPASSTHRUNUMFILES 5000RMTTRAIL ./dirdat/ybDYNAMICRESOLUTION

—要复制的表清单TABLE Schema1.;TABLE Schema2.;TABLE Schema3.;TABLE Schema4.;TABLE Schema5.*;RMTHOST 10.10.10.1, MGRPORT 7839, COMPRESS灾备端主机IP,管理进程端口号,投递前压缩队列文件

NUMFILES 5000最多处理5000张表

RMTTRAIL ./dirdat/yb灾备端保存队列文件的目录https://www.cndba.cn/xw15575450545/article/2765

PASSTHRU采用pass-through模式处理表

DYNAMICRESOLUTION动态解析表名

关于参数的定义我们可以查阅OGG的官方文档《Oracle GoldenGate Windows and UNIX Reference Guide》,该文档详尽的描述了各个参数的概念和用法。

#

真实环境的OracleGoldenGate配置参数详解 — 灾备端

本篇为第二篇,介绍灾备端管理进程配置参数和复制进程配置参数。以下列出的所有配置文件都属于灾备端,

启动的进程GGSCI 3> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER RUNNINGREPLICAT RUNNING REPSA 00:00:00 00:00:09REPLICAT RUNNING REPSB 00:00:00 00:00:08REPLICAT RUNNING REPSC 00:00:00 00:00:08REPLICAT RUNNING REPSD 00:00:00 00:00:09REPLICAT RUNNING REPSE 00:00:00 00:00:08REPLICAT RUNNING REPSF 00:00:00 00:00:08REPLICAT RUNNING REPSG 00:00:00 00:00:08REPLICAT RUNNING REPSH 00:00:00 00:00:08REPLICAT RUNNING REPSI 00:00:00 00:00:09REPLICAT RUNNING REPSJ 00:00:00 00:00:09REPLICAT RUNNING REPSK 00:00:00 00:00:08REPLICAT RUNNING REPSL 00:00:00 00:00:09REPLICAT RUNNING REPSM 00:00:00 00:00:09REPLICAT RUNNING REPSN 00:00:00 00:00:08REPLICAT RUNNING REPSO 00:01:24 00:00:01REPLICAT RUNNING REPSP 00:00:00 00:00:08REPLICAT RUNNING REPSQ 00:00:00 00:00:09REPLICAT RUNNING REPSR 00:00:00 00:00:09 REPSA-R一共18个进程都是灾备端复制进程。开启多个复制进程可以缓解生产端表过多所带来的压力。

管理进程GGSCI 4> view params mgr

PORT 7839

USERID goldengate, PASSWORD AACAAAAAAAAAAAJAPJYATHVIMGMAOFHIUCUEPFYGGJBFJGIH, ENCRYPTKEY defaultDYNAMICPORTLIST 7840-7914AUTORESTART EXTRACT ,RETRIES 5,WAITMINUTES 3PURGEOLDEXTRACTS ./dirdat/,usecheckpoints, minkeepdays 5

—PURGEDDLHISTORY MINKEEPDAYS 7, MAXKEEPDAYS 10—PURGEMARKERHISTORY MINKEEPDAYS 7, MAXKEEPDAYS 10LAGREPORTHOURS 1LAGINFOMINUTES 30LAGCRITICALMINUTES 45 PORT 7839通信端口7839。 生产端和灾备端需要保持一致。

DYNAMICPORTLIST 7840-7914动态端口列表的范围从7840到7914。当制定端口被占用或者出现通信故障,管理进程将会从列表中选择下一个端口尝试连接,避免通信端口的单点故障。

AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 3当提取进程中断后尝试自动重启,每隔7分钟尝试启动一次,尝试5次。OGG运维人员通常会注释掉这条配置,更喜欢用手工重启的方式来控制。

PURGEOLDEXTRACTS ./dirdat/*, USECHECKPOINTS, MINKEEPDAYS 5定期清理dirdat路径下的远程队列(remote trail)。保留期限5天,过期后自动删除。从而控制队列文件的目录不会增长过大。

—PURGEDDLHISTORY MINKEEPDAYS 7, MAXKEEPDAYS 10删除DDL历史表,最小保存7天,最大保存10天。由于此项目没有开启DDL,所以该参数被注释。

—PURGEMARKERHISTORY MINKEEPDAYS 7, MAXKEEPDAYS 10删除MARKER历史表,最小保存7天,最大保存10天。此项目没有使用该参数,所以该参数被注释。

LAGREPORTHOURS 1每隔一小时检查一次传输延迟情况

LAGINFOMINUTES 30传输延时超过30分钟将写入错误日志

LAGCRITICALMINUTES 45传输延时超过45分钟将写入警告日志

复制进程GGSCI 6> view params repsahttps://www.cndba.cn/xw15575450545/article/2765

REPLICAT repsaSETENV (NLS_LANG = “American_America.UTF8”)SETENV (ORACLE_SID = “xxxx” )USERID goldengate, PASSWORD AACAAAAAAAAAAAJAPJYATHVIMGMAOFHIUCUEPFYGGJBFJGIH, ENCRYPTKEY default—SQLEXEC “ALTER SESSION SET CONSTRAINTS=DEFERRED”DBOPTIONS DEFERREFCONST6>GETTRUNCATESREPORT AT 06:00REPORTCOUNT EVERY 30 MINUTES, RATEREPORTROLLOVER AT 02:00REPERROR DEFAULT, ABEND—HANDLECOLLISIONSALLOWNOOPUPDATESassumetargetdefsDISCARDFILE ./dirrpt/repsa.dsc, APPEND, MEGABYTES 1024MDISCARDROLLOVER AT 02:00—Schema名称涉及敏感字符,在此统一使用Schema来代替—table名称涉及敏感字符,在此统一使用table来代替map Schema1.table1, target Schema1.table1;map Schema1.table2, target Schema1.table2;map Schema2.table1, target Schema2.table1;map Schema2.table2, target Schema2.table2;SETENV (NLS_LANG=”AMERICAN_AMERICA.UTF8”)设置字符集环境变量为UTF8如果系统中存在多个数据库有时候会用参数SETENV设置ORACLE_HOME、ORACLE_SID等,例如:SETENV (ORACLE_HOME = “/home/oracle/product/10.2.0/db)SETENV (ORACLE_SID = “PROD”)

DBOPTIONS DEFERREFCONST约束延迟设置。在复制进程的事物被提交之前,延迟级联删除、级联更新时的校验和实施。https://www.cndba.cn/xw15575450545/article/2765

GETTRUNCATES不捕获生产端truncate table的操作。

REPORT AT 06:00每天早上6点报告

REPORTCOUNT EVERY 30 MINUTES, RATE每隔30分钟报告一次从程序开始到现在的抽取进程或者复制进程的事物记录数,并汇报进程的统计信息

REPORTROLLOVER AT 02:00为了防止report file被写满,每天2:00做一次文件过期设定https://www.cndba.cn/xw15575450545/article/2765

REPERROR DEFAULT, ABEND除了特殊指定的REPERROR语句,报告所有复制期间出现的错误,回滚非正常中断的事物和进程。

https://www.cndba.cn/xw15575450545/article/2765

—HANDLECOLLISIONS当灾备端已经存在数据的情况下,解决复制过程中出现的冲突。如果要重新做初始化,可以删除drop灾备端数据库后再rman恢复,这样做的话就不需要该参数了。

ALLOWNOOPUPDATES当生产端有某些列但是目标表却没有,或者复制进程中配置了COLSEXCEPT 参数 在这些情况下,当生产端对那些列进行更新,目标表将不发生任何变化

assumetargetdefs使用ASSUMETARGETDEFS参数时,用MAP语句中指定的生产库源表和灾备端目标表具有相同的列结构。它指示的Oracle GoldenGate不在生产端查找源表的结构定义。

DISCARDFILE ./dirrpt/repsa.dsc, APPEND, MEGABYTES 1024M将执行失败的记录保存在discard file中,该文件位于./dirrpt/extya.dsc,大小为1024MB。 文件中已经包含记录的话,再后面继续追加,不删除之前的记录。https://www.cndba.cn/xw15575450545/article/2765

DISCARDROLLOVER AT 02:00为了防止discard file被写满,每天2:00做一次文件过期设定

版权声明:本文为博主原创文章,未经博主允许不得转载。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有