OGG目录和常用参数说明,告警日志

查看Ogg的警告日志。

 

 

GoldenGate会在根目录下的ggserr.log里面加入一条告警信息。可以通过察看ggserr.log或者在ggsci中执行view ggsevt命令查看这些告警信息

 

dirprm

用于存放 GG 的参数文件,这些参数文件可以通过系统文本编辑器直接编辑,也

可以通过在 ggsci 命令行下 edit params 来编辑,达到的效果是一样的。

dirrpt

用于存放各个进程的报告文件,内容为 extractreplicat manager 进程运行相

关的统计报告信息。

dirpcs

用于存放各个进程的状态信息,当相关进程运行的时候,这些进程的相关信息,

比如程序名称,进程名称,进程监听端口,进程 ID 等等都将被写入各自状态信

息文件。

dirdef

用于存放由 DEFGEN 组件创建的定义文件,包含在异构环境同步中的源或者目标

端的数据定义。

dirdat

用于存放 GG 跟踪文件和由 extract 进程创建的抽取文件

dirchk

用于存放由 extract 抽取进程和 replicat 复制进程创建的 checkpoint 文件

dirtmp

临时文件目录,不要编辑里面的任何文件和内容

 

GG延迟lag较大的说明
1)        问题描述
对于有lag的进程,显示为running,属于正常状态。但是如果lag时间过长,是否还正常,多长时间的范围属于正常。这个需要oracle工程师做出解释。
2)        问题说明
OGG的lag指的是数据复制的延迟,对于不同的进程lag较长时分析如下:
        主Extract的lag较大
主Extract负责对于数据库的日志做解析获取数据变化,只要正常运行时其延迟一般都在秒一级左右。如果出现了较大的延迟,首先排查是否存在大交易,可能进程正在处理中;如果没有大交易,但是延迟却非常大,请联系技术支持予以调查。
        Data Pump的lag较大
Data Pump负责数据的传输,如果出现较大延迟可能是因为网络出现问题,首先可以观察网络带宽是否被占满,也有可能短时间内产生了较多的数据变化。
        Replicat的lag较大
Replicat负责数据的入库,一般速度相对于主extract和data pump较慢,容易产生较大延迟。当replicat出现延迟后,需要对进程进行调优或者拆分,具体步骤参照本文档上一节。
一般调优完成后,在日常业务状态下应当不存在较大延迟(一般几秒到一分钟以内);当出现批处理时,可以允许一定的延迟,一般以不影响第二天的正常业务为准 – 例如,如果批处理每天早上4点前结束,可以控制延迟在2小时以内。
因此,首先需要确定OGG复制所允许的最大延迟在日常业务和批处理时的目标是什么,然后一旦达不到此目标就要依据上一节的方法进行性能的调优。

 

 

配置管理进程mgr

GGSCI(NDSCDB1) 1> edit param mgr

(粘贴下面这段配置)

PORT 7839

DYNAMICPORTLIST 7840-7939

--AUTOSTART ER *

AUTORESTART EXTRACT *,RETRIES5,WAITMINUTES 3

PURGEOLDEXTRACTS./dirdat/*,usecheckpoints, minkeepdays 3

LAGREPORTHOURS 1

LAGINFOMINUTES 30

LAGCRITICALMINUTES 45

MANAGER进程参数配置说明:

PORT指定服务监听端口;这里以7839为例,默认端口为7809

DYNAMICPORTLIST动态端口:可以制定最大256个可用端口的动态列表,当指定的端口不可用时,管理进程将会从列表中选择一个可用的端口,源端和目标段的CollectorReplicatGGSCI进程通信也会使用这些端口;

COMMENT注释行,也可以用--来代替;

AUTOSTART指定在管理进程启动时自动启动哪些进程;

AUTORESTART自动重启参数设置:本处设置表示每3分钟尝试重新启动所有EXTRACT进程,共尝试5次;

PURGEOLDEXTRACTS定期清理trail文件设置:本处设置表示对于超过3天的trail文件进行删除。

LAGREPORTLAGINFOLAGCRITICAL

定义数据延迟的预警机制:本处设置表示MGR进程每隔1小时检查EXTRACT的延迟情况,如果超过了30分钟就把延迟作为信息记录到错误日志中,如果延迟超过了45分钟,则把它作为警告写到错误日志中。

 

 

 

 

 

 

抽取进程和传输进程其实都是EXTRACT进程,也可以配置在一个进程完成这两个功能,但是当网络传输有问题时,这样抽取也就不能继续运行了,所以推荐分开配置为两个进程;

EXTRACT进程参数配置说明:

SETENV配置系统环境变量

USERID/ PASSWORD指定OGG连接数据库的用户名和密码,这里使用3.4部分中创建的数据库用户OGG;

COMMENT注释行,也可以用--来代替;

TABLE定义需复制的表,后面需以;结尾

TABLEEXCLUDE定义需要排除的表,如果在TABLE参数中使用了通配符,可以使用该参数指定排除掉得表。

GETUPDATEAFTERS|IGNOREUPDATEAFTERS

是否在队列中写入后影像,缺省复制

GETUPDATEBEFORES| IGNOREUPDATEBEFORES

是否在队列中写入前影像,缺省不复制

GETUPDATES|IGNOREUPDATES

是否复制UPDATE操作,缺省复制

GETDELETES|IGNOREDELETES

是否复制DELETE操作,缺省复制

GETINSERTS|IGNOREINSERTS

是否复制INSERT操作,缺省复制

GETTRUNCATES|IGNORETRUNDATES

是否复制TRUNCATE操作,缺省不复制;

RMTHOST指定目标系统及其GoldengateManager进程的端口号,还用于定义是否使用压缩进行传输,本例中的compress为压缩传输;

RMTTRAIL指定写入到目标断的哪个队列;

EXTTRAIL指定写入到本地的哪个队列;

SQLEXECextract进程运行时首先运行一个SQL语句;

PASSTHRU禁止extract进程与数据库交互,适用于Data Pump传输进程;

REPORT定义自动定时报告;

STATOPTIONS定义每次使用stat时统计数字是否需要重置;

REPORTCOUNT报告已经处理的记录条数统计数字;

TLTRACE打开对于数据库日志的跟踪日志;

DISCARDFILE定义discardfile文件位置,如果处理中油记录出错会写入到此文件中;

DBOPTIONS指定对于某种特定数据库所需要的特殊参数;

TRANLOGOPTIONS指定在解析数据库日志时所需要的特殊参数,例如:对于裸设备,可能需要加入以下参数 rawdeviceoggset 0

WARNLONGTRANS指定对于超过一定时间的长交易可以在gsserr.log里面写入警告信息,本处配置为每隔3分钟检查一次场交易,对于超过2小时的进行警告;

 

 

 

 

 

 

 

 

配置复制进程

REPLICAT进程参数配置说明:

ASSUMETARGETDEFS假定两端数据结构一致使用此参数;

SOURCEDEFS假定两端数据结构不一致,使用此参数指定源端的数据结构定义文件,该文件需要由GlodenGate工具产生。

MAP:用于指定源端与目标端表的映射关系;

MAPEXCLUDE用于使用在MAP中使用*匹配时排除掉指定的表;

REPERROR定义出错以后进程的响应,一般可以定义为两种:

ABEND,即一旦出现错误即停止复制,此为缺省配置;

DISCARD,出现错误后继续复制,只是把错误的数据放到discard文件中。

DISCARDFILE定义discardfile文件位置,如果处理中油记录出错会写入到此文件中;

SQLEXEC在进程运行时首先运行一个SQL语句;

GROUPTRANSOPS将小交易合并成一个大的交易进行提交,减少提交次数,降低系统IO消耗。

MAXTRANSOPS将大交易拆分,每XX条记录提交一次。

HANDLECOLLISIONS是我们使用goldengate过程中常有的一个REPLICAT参数,该参数依赖于主键或唯一索引处理冲突数据,常用于初始化阶段。对于无主键或唯一索引的表无法处理冲突,且可能导致重复记录。注意打开此参数则所有数据错误不管reperror如何配置均不再写discard文件,即所有数据冲突信息被默认规则处理,没有任何日志(则会忽略error mapping数据错误,而且不会报告到discard文件),因此日常复制不建议使用该参数;可予以考虑的特殊场景为只需新增数据,无需复制历史数据
 
CHECKMINUTES  ---检查周期,默认10分钟
mgr(管理进程) 参数简介
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分钟将写入警告日志
   
extract(抽取进程)  
SETENV (NLS_LANG=”AMERICAN_AMERICA.UTF8”) 设置字符集环境变量为UTF8
REPORTCOUNT EVERY 30 MINUTES, RATE 每隔30分钟报告一次从程序开始到现在的抽取进程或者复制进程的事物记录数,并汇报进程的统计信息
DISCARDFILE ./dirrpt/extya.dsc, APPEND, MEGA<wiz_tmp_highlight_tag class="cm-searching">BYTES 1024 将执行失败的记录保存在discard file中,该文件位于./dirrpt/extya.dsc,大小为1024M<wiz_tmp_highlight_tag class="cm-searching">B。 文件中已经包含记录的话,再后面继续追加,不删除之前的记录。
WARNLONGTRANS 2h, CHECKINTERVAL 3m 每隔3分钟检查一下大事务,超过2小时还没结束的进行报告
EXTTRAIL ./dirdat/ya 队列文件路径
DYNAMICRESOLUTION 有时候开启OGG进程的时候较慢,可能是因为需要同步的表太多,OGG在开启进程之前会将需要同步的表建立一个记录并且存入到磁盘中,这样就需要耗费大量的时间。使用该参数来解决此问题。
D<wiz_tmp_highlight_tag class="cm-searching">BOPTIONS ALLOWUNUSEDCOLUMN 当抽取进程遇到一个没有使用的字段时只生成一个警告,进程会继续执行而不会被异常终止(a<wiz_tmp_highlight_tag class="cm-searching">bend)
FETCHOPTIONS NOUSESNAPSHOT 不会从闪回日志中获取数据
FETCHOPTIONS FETCHPKUPDATECOLS 当使用了HANDLECOLLISIONS时,请使用该参数。复制进程出现丢失update记录(missing update)并且更新的是主键,update将转换成insert。由于插入的记录可能不是完整的行,若要保证完整需要加入此参数
CACHEMGR CACHESIZE 8000M<wiz_tmp_highlight_tag class="cm-searching">B, CACHEDIRECTORY /goldengate/temp, CACHEDIRECTORY /goldengate/temp2 在/goldengate/temp,/goldengate/temp2 目录设置虚拟内存
TRANLOGOPTIONS LOGRETENTION DISA<wiz_tmp_highlight_tag class="cm-searching">BLED LOGRETENTION主要功能是防止rman删除ogg恢复所需要用到的归档日志,可以通过禁用这个特性来解决上面的这个问题
tranlogoptions rawdeviceoffset 0 裸设备的偏移量各操作系统默认为0,但AIX默认为4096。当创建裸设备时使用了-TO选项时,Oracle不会跳过4096字节而是直接从0开始读写。 因此在AIX下使用裸设备时,出现此错误需要指定OGG从偏移量0开始读取。
TranlogOptions D<wiz_tmp_highlight_tag class="cm-searching">BLOGREADER 减少了配置登陆ASM需要的TNS配置内容,并且也不在需要指定归档路径,其自动会找到归档日志的位置。
<wiz_tmp_highlight_tag class="cm-searching">BR <wiz_tmp_highlight_tag class="cm-searching">BRINTERVAL 30M <wiz_tmp_highlight_tag class="cm-searching">BR(<wiz_tmp_highlight_tag class="cm-searching">Bounded Recovery )默认的设置是4小时,即每4小时OGG抽取进程会做一个检查点,在每个检查点的时间点上,OGG会检查长事务,并将超过30分钟的长事务的状态写入到磁盘
FETCHOPTIONS FETCHPKUPDATECOLS 如果想要获取到主键更新的redo全镜像,则必须要在源端抽取进程中添加FETCHPKUPDATECOLS参数,否则目标端更新数据则会丢失非主键列的镜像。
   
dpe(投递进程)  
RMTHOST 10.10.10.1, MGRPORT 7839, COMPRESS 灾备端主机IP,管理进程端口号,投递前压缩队列文件
NUMFILES 5000 最多处理5000张表
RMTTRAIL ./dirdat/y<wiz_tmp_highlight_tag class="cm-searching">b 灾备端保存队列文件的目录
PASSTHRU 采用pass-through模式处理表,避免与源库交互
DYNAMICRESOLUTION 动态解析表名
   
replicat(复制进程)  
D<wiz_tmp_highlight_tag class="cm-searching">BOPTIONS DEFERREFCONST 约束延迟设置。在复制进程的事物被提交之前,延迟级联删除、级联更新时的校验和实施。
GETTRUNCATES 不捕获生产端truncate ta<wiz_tmp_highlight_tag class="cm-searching">ble的操作。
REPORTCOUNT EVERY 30 MINUTES, RATE 每隔30分钟报告一次从程序开始到现在的抽取进程或者复制进程的事物记录数,并汇报进程的统计信息
REPERROR DEFAULT, A<wiz_tmp_highlight_tag class="cm-searching">BEND 除了特殊指定的REPERROR语句,报告所有复制期间出现的错误,回滚非正常中断的事物和进程。
HANDLECOLLISIONS 当灾备端已经存在数据的情况下,解决复制过程中出现的冲突。如果要重新做初始化,可以删除drop灾备端数据库后再rman恢复,这样做的话就不需要该参数了。
ALLOWNOOPUPDATES 当生产端有某些列但是目标表却没有,或者复制进程中配置了COLSEXCEPT 参数 在这些情况下,当生产端对那些列进行更新,目标表将不发生任何变化
assumetargetdefs 使用ASSUMETARGETDEFS参数时,用MAP语句中指定的生产库源表和灾备端目标表具有相同的列结构。它指示的Oracle GoldenGate不在生产端查找源表的结构定义。
DISCARDFILE ./dirrpt/repsa.dsc, APPEND, MEGA<wiz_tmp_highlight_tag class="cm-searching">BYTES 1024M 将执行失败的记录保存在discard file中,该文件位于./dirrpt/extya.dsc,大小为1024M<wiz_tmp_highlight_tag class="cm-searching">B。 文件中已经包含记录的话,再后面继续追加,不删除之前的记录。
流年笑掷 未来可期
原文地址:https://www.cnblogs.com/nadian-li/p/12774157.html