概述
所有的GoldenGate进程均有参数文件 进程均有参数文件 所有的 Manager Extract Replicat Utilities 所有参数均有缺省配置 实际应用只需对小部分参数进行配置 所有参数文件均放在 ./dirprm目录下 目录下 缺省通过进程名进行查找.
Manager参数 参数
2012年5月11日星期五 年 月 日星期五
MANAGER 参数举例
PORT 7809 DYNAMICPORTLIST 7840-7850 PURGEOLDEXTRACTS /ggs/dirdat/rt*, USECHECKPOINTS AUTOSTART ER * AUTORESTART EXTRACT *, WAITMINUTES 2, RETRIES 5 LAGREPORTHOURS 1 LAGINFOMINUTES 3 LAGCRITICALMINUTES 5
MANAGER Parameters – Port Management
Parameter
AUTOSTART
Description
指定在mgr启动时自动启动那些进程 指定在 启动时自动启动那些进程. 启动时自动启动那些进程
AUTOSTART ER * AUTOSTART extract extsz
AUTORESTART
指定在mgr可以定时重启那些进程。可以在网络中 可以定时重启那些进程。 指定在 可以定时重启那些进程 断等故障恢复后自动重起,避免人工干预. 断等故障恢复后自动重起,避免人工干预
AUTORESTART ER *, WAITMINUTES 5, RETRIES 3
DYNAMICPORTLIST
指定GoldenGate可以使用那些端口接受 可以使用那些端口接受extract发送 指定 可以使用那些端口接受 发送 过来的数据. 过来的数据
DYNAMICPORTLIST 7840-7850
PORT
制定GoldenGate的mgr进程使用哪个 TCP/IP端口侦 的 制定 进程使用哪个 端口侦 听请求. 听请求
PORT 7809
MANAGER Parameters – Event Management
Parameter
LAGCRITICAL
Description
指定认为超过此时间即为严重错误的延迟最大值, 指定认为超过此时间即为严重错误的延迟最大值,如果延迟达到 此时间值则会在ggserr.log里面写入一条 里面写入一条error信息 此时间值则会在 里面写入一条 信息
LAGCRITICALMINUTES 10
LAGINFO
指定一个延迟时限,如果延迟达到此时间值则会在 指定一个延迟时限,如果延迟达到此时间值则会在ggserr.log里面 里面 写入一条info信息 写入一条 信息
LAGINFOMINUTES 3
LAGREPORT PURGEOLDEXTRAC TS
指定在ggserr.log中报告延迟的时间间隔 中报告延迟的时间间隔. 指定在 中报告延迟的时间间隔
LAGREPORTHOURS 1
定义自动删除过时的队列以节省硬盘空间。 定义自动删除过时的队列以节省硬盘空间。一般按照两个规则来 删除:首先,要满足检查点要求,没有使用过的队列不能删除, 删除:首先,要满足检查点要求,没有使用过的队列不能删除, 保证无数据丢失;其次,可以保留一定的天数。 保证无数据丢失;其次,可以保留一定的天数。只有当已经使用 过且超过设定的天数后的队列会被自动删除。 过且超过设定的天数后的队列会被自动删除。
purgeoldextracts /backup/goldengate/dirdat/*,usecheckpoints, minkeepdays 7
Extract 参数概览
抽取进程有以下方面参数: 抽取进程有以下方面参数 Checkpoint 复制目标 Local System Multiple Remote Systems One to many GoldenGate Trails 数据源 Which Tables Which Rows and Columns Which Operations 数据影射和变换
Extract参数文件举例 – 日志抽取进程 参数文件举例
extract extsz userid goldengate, password ******* --REPORT AT 01:59 --reportrollover at 02:00 --transmemory directory (/backup/goldengate/dirtmp,8G,4G),ram 2G,transram 500M tranlogoptions rawdeviceoffset 0 --warnlongtrans 12h, checkintervals 30m exttrail /backup/goldengate/dirdat/sz dynamicresolution numfiles 2000 tableexclude tableexclude tableexclude tableexclude tableexclude ctais2.TMP_*; ctais2.BAK_*; ctais2.MLOG$_*; ctais2.RUPD$_*; ctais2.KJ_*;
table ctais2.*;
Extract参数文件举例 – 传输进程 参数文件举例
extract dpesz setenv ( NLS_LANG = AMERICAN_AMERICA.ZHS16GBK ) passthru REPORT AT 01:59 reportrollover at 02:00 transmemory directory (/backup/goldengate/dirtmp,8G,4G), ram 2G,transram 500M --threadoptions iolatencydelay 3000 rmthost 99.16.1.12,mgrport 7809, compress rmttrail /oradata/goldengate/dirdat/sz dynamicresolution numfiles 3000 table ctais2.*;
Extract – Table参数 参数
Syntax:
TABLE <file name> [, WHERE (<where condition>)] [, FILTER (<expression>)] [, KEYCOLS (<key column specification>)] [, COLS (<column>) | [ , <column> ]) ] [, COLSEXCEPT (<column>) | [ , <column> ]) ] [, FETCHCOLS (<column>) | [ , <column> ]) ] [, FETCHCOLSEXCEPT (<column>) | [ , <column> ]) ] [, SQLEXEC <clause> ] [, FETCHBEFOREFILTER ] [, SQLPREDICATE “WHERE <clause>” ] [, COLMAP (<column mapping specification>)] [, <record type filter>, <record type filter>, …] ;
注意: 的结尾有一个分号。 注意:TABLE的结尾有一个分号。 的结尾有一个分号
Extract参数(一) 参数( 参数
Parameter
CHECKPARAMS
Description
如果加入该参数,表示下次运行只是检查一下语法, 如果加入该参数,表示下次运行只是检查一下语法,并不实际 运行进程。 运行进程。 注意:该命令只能检查一些简单语法, 注意:该命令只能检查一些简单语法,并不能保证参数文件是 完全正确的。 完全正确的。 注释行,也可以用两个中划线 代替 代替. 注释行,也可以用两个中划线--代替 --checkparams表示本行已经被注释掉 表示本行已经被注释掉 定义抽取进程的名字 可以将外部文件的内容包含到本参数文件中来。 可以将外部文件的内容包含到本参数文件中来。用于将一些可 以重复利用的参数文件部分内容隔离出来,便于统一修改。 以重复利用的参数文件部分内容隔离出来,便于统一修改。 Obey tables.txt 定义所需要排除的表。如果在 里面定义了使用通配符, 定义所需要排除的表。如果在table里面定义
了使用通配符,那 里面定义了使用通配符 么可以使用该参数定义排除掉其中的部分表。 么可以使用该参数定义排除掉其中的部分表。如: tableexclude ctais2.TMP_*; tableexclude ctais2.TEMPTAB;
COMMENT
EXTRACT OBEY
TABLEEXCLUDE
Extract参数(二) 参数( 参数 Parameter
GETUPDATEAFTERS | IGNOREUPDATEAFTERS GETUPDATEBEFORES | IGNOREUPDATEAFTERS GETUPDATES | IGNOREUPDATES
Description
是否在队列中写入后影像, 是否在队列中写入后影像,缺省复制
是否在队列中写入前影像, 是否在队列中写入前影像,缺省不复制
是否复制update操作,缺省复制 操作, 是否复制 操作
GETDELETES | IGNOREDELETES GETINSERTS | IGNOREINSERTS GETRUNCATES| IGNORETRUNCATES
是否复制delete操作,缺省复制 操作, 是否复制 操作
是否复制insert操作,缺省复制 操作, 是否复制 操作
是否复制truncate操作,缺省不复制. 操作,缺省不复制 是否复制 操作
Extract参数(三) 参数( 参数
Parameter
RMTHOST
Description
指定目标系统及其GoldenGate Manager进程的端口号,也用于 进程的端口号, 指定目标系统及其 进程的端口号 定义是否使用压缩进行传输。 定义是否使用压缩进行传输。
rmthost 99.16.1.12,mgrport 7809, compress
RMTTRAIL EXTTRAIL
指定写入到目标端的哪个队列。 指定写入到目标端的哪个队列。
指定写入到本地的哪个队列。 指定写入到本地的哪个队列。
SQLEXEC PASSTHRU
运行时首先运行一个sql语句 在extract运行时首先运行一个 语句。 运行时首先运行一个 语句。
sqlexec "Alter session set constraints=deferred"
禁止extract与数据库交互,适用于 与数据库交互,适用于Data Pump传输进程 禁止 与数据库交互 传输进程 (dpeXX)。 )。 针对extract进程设定系统环境变量。 进程设定系统环境变量。 针对 进程设定系统环境变量
setenv ( NLS_LANG = AMERICAN_AMERICA.ZHS16GBK )
GETENV | SETENV
Extract参数(四) 参数( 参数
Parameter
REPORT 定义自动定时报告。 定义自动定时报告。
REPORT AT 01:59
Description
STATOPTIONS
定义每次使用stat时统计数字是否需要重置。 时统计数字是否需要重置。 定义每次使用 时统计数字是否需要重置
REPORTCOUNT
报告已经处理的纪录条数统计数字。 报告已经处理的纪录条数统计数字。
TLTRACE
打开对于数据库日志的跟踪日志
TRACE/TRACE2
打开对GoldenGate进程的跟踪日志,一般用于调试。 进程的跟踪日志,一般用于调试。 打开对 进程的跟踪日志
DISCARDFILE
定义discard文件位置,如果处理中有纪录出错会写入到此文件 文件位置, 定义 文件位置 中。
discardfile /oradata/goldengate/repkj.dsc,append,megabytes 100m
Extrac参数(五) 参数( 参数
Parameter
NUMFILES
Description
定义本extract为最大多少
张表预留空间,缺省为500,超过 为最大多少张表预留空间,缺省为 定义本 为最大多少张表预留空间 , 500张表需要设定一个比实际表数略大的值。 张表需要设定一个比实际表数略大的值。 张表需要设定一个比实际表数略大的值
numfiles 3000
PURGEOLDEXTRACTS REPORTROLLOVER TRANSMEMORY
进程, 设置。 同mgr进程,可以设置自动删除队列,建议在 进程 可以设置自动删除队列,建议在mgr设置。 设置 设定切换一个日志的时间和间隔。 设定切换一个日志的时间和间隔。
reportrollover at 02:00
设定GoldenGate的抽取进程能够使用的内存大小。如下参数 的抽取进程能够使用的内存大小。 设定 的抽取进程能够使用的内存大小 指定本进程最大只能占用2G内存 内存, 指定本进程最大只能占用 内存,其中每个事务最大占用内 存不能超过500M,如果超过则使用指定目录作为虚拟内存, 存不能超过 ,如果超过则使用指定目录作为虚拟内存, 该目录下的单个文件大小为4G,最多只能在该目录下占用8G 该目录下的单个文件大小为 ,最多只能在该目录下占用 空间作为缓存: 空间作为缓存:
transmemory directory (/backup/goldengate/dirtmp,8G,4G),ram 2G,transram 500M
Extrac参数(六) 参数( 参数
Parameter
DBOPTIONS
Description
指定对于某种特定数据库所需要的特殊参数。 指定对于某种特定数据库所需要的特殊参数。
[SOURCEDB,] USERID ,PASSWORD
指定所要登陆的数据库名称,用户名和密码。对于 指定所要登陆的数据库名称,用户名和密码。对于oracle无需指 无需指 定sourcedb,直接指定用户名和密码即可。 ,直接指定用户名和密码即可。 Userid goldengate, password goldengate 指定在解析数据库日志时所需要的特殊参数。例如, 指定在解析数据库日志时所需要的特殊参数。例如,对于裸设 可能需要加入下列参数: 备,可能需要加入下列参数: tranlogoptions rawdeviceoffset 0
TRANLOGOPTIONS
WARNLONGTRANS
指定对于超过一定时间的长交易可以在ggserr.log里面写 里面写 指定对于超过一定时间的长交易可以在 入警告信息。例如,每隔30分钟检查一次长交易 分钟检查一次长交易, 入警告信息。例如,每隔 分钟检查一次长交易,对于 超过12个小时的进行告警 个小时的进行告警: 超过 个小时的进行告警:
--warnlongtrans 12h, checkintervals 30m
Replicat参数 参数
Replicat 参数概览
提供如下方面参数: 提供如下方面参数 Checkpoint 数据影射关系 Optional row-level selection criteria Optional column mapping facilities Optional transformation services Optional Stored Procedure or SQL query execution 错误处理机制 其它可选参数
Replicat 参数举例
replicat re
psz setenv ( NLS_LANG = AMERICAN_AMERICA.ZHS16GBK ) userid goldengate, password ***** sqlexec "Alter session set constraints=deferred" REPORT AT 01:59 reportrollover at 02:00 --handlecollisions reperror default,discard discardfile /oradata/goldengate/dirrpt/repsz.dsc,append, megabytes 10 --grouptransops 100 --batchsql assumetargetdefs allownoopupdates dynamicresolution numfiles 3000 --mapexclude CTAIS2.JC_GY_SWWSWH --map CTAIS2.SHOULIXINXI, target CTAIS2.SHOULIXINXI, keycols ( SHOULIBIANHAO ); MAP ctais2.* ,TARGET ctais2.*;
Replicat – MAP参数 参数
MAP <source table>, TARGET <target table> [, EXCEPTIONSONLY] [, COLMAP (<column mapping specification>)] [, KEYCOLS (<column list>)] [, WHERE (<where condition>)] [, FILTER (<expression>)] ; 注意map语句必须以一个分号结束; 语句必须以一个分号结束; 注意 语句必须以一个分号结束
Replicat命令(一) 命令( 命令
Parameter
CHECKPARAMS COMMENT
Description
检查参数语法然后停止。 检查参数语法然后停止。 注释行。 注释行。
REPLICAT
定义进程名称。 定义进程名称。
replicat repsz
USERID
指定登陆目标数据库的用户名和密码。 指定登陆目标数据库的用户名和密码。
Userid goldengate, password 123456
OBEY
将外部文件包含到参数文件中。 将外部文件包含到参数文件中。
Replicat命令(二) 命令( 命令
Parameter
ASSUMETARGETDEFS
Description
假定两端数据结构一致使用此参数。 假定两端数据结构一致使用此参数。
SOURCEDEFS
假定两端数据结构不一致,使用此参数指定源端的数据 假定两端数据结构不一致, 结构定义文件。该文件需要由GoldenGate工具产生。 工具产生。 结构定义文件。该文件需要由 工具产生
MAPEXCLUDE
用于使用在map中使用 匹配时排除掉指定的表,类似 中使用*匹配时排除掉指定的表 用于使用在 中使用 匹配时排除掉指定的表, 于于源端的tablexclude。 于于源端的 。
mapexclude CTAIS2.JC_GY_SWWSWH MAP ctais2.* ,TARGET ctais2.*;
GETDELETES | IGNOREDELETES GETUPDATES / IGNOREUPDATES
是否复制delete操作,缺省为复制。 是否复制 操作,缺省为复制。 操作
是否复制update操作,缺省为复制。 操作,缺省为复制。 是否复制 操作
Replicat命令(三) 命令( 命令
Parameter
GETINSERTS | IGNOREINSERTS GETUPDATEAFTERS | IGNOREUPDATEAFTERS GETUPDATEBEFORES | IGNOREUPDATEBEFORES
GETTRUNCATES | IGNORETRUNCATES
Description
是否复制insert操作,缺省为复制。 操作,缺省为复制。 是否复制 操作
是否读取后影像,缺省为读取。 是否读取后影像,缺省为读取。
是否读取前影像,缺省为不读取。 是否读取前影像,缺省为不读取。
是否复制truncate操作,缺省为不复制。 操作,缺省为不复制。 是否复制 操作
allownoopupdates
允许执行无实际变化的update。例如,update
a=a会纪录一条 。例如, 允许执行无实际变化的 会纪录一条 update,但是没有后影像,无法正确构筑 语句。 ,但是没有后影像,无法正确构筑where语句。 语句
Replicat命令(四) 命令( 命令 Parameter
REPERROR
Description
定义出错以后replicat的响应,一般可以定义为两种: 的响应,一般可以定义为两种: 定义出错以后 的响应 Abend,即一旦出现错误即停止复制,此为缺省配置; ,即一旦出现错误即停止复制,此为缺省配置; Discard,出现错误后继续复制,只把错误的数据放到 ,出现错误后继续复制, discard文件中。 文件中。 文件中
REPERROR DEFAULT, DISCARD
DISCARDFILE
定义出错数据的输出文件。当数据出现错误后, 定义出错数据的输出文件。当数据出现错误后,可 以用于查找错误原因。 以用于查找错误原因。
discardfile /oradata/goldengate/dirrpt/repsz.dsc,append, megabytes 10
HANDLECOLLISIONS
自动过滤重复时段的数据冲突,用于不能停机执行初始化。 自动过滤重复时段的数据冲突,用于不能停机执行初始化。 打开该参数后不会将数据错误报到discard文件中。 文件中。 打开该参数后不会将数据错误报到 文件中 动态解析表的结构, 使replicat动态解析表的结构,加快启动速度。缺省为每 动态解析表的结构 加快启动速度。 次启动解析所有要复制表的结构。 次启动解析所有要复制表的结构。 调用存储过程或者执行sql语句。 调用存储过程或者执行 语句。可以将返回值作为依据 语句 进行过滤条件,或者用户改变session变量。 变量。 进行过滤条件,或者用户改变 变量
DYNAMICRESOLUTION SQLEXEC
Replicat命令(五) 命令( 命令
Parameter
GROUPTRANSOPS
Description
将小的交易合并成为一个大的交易进行提交, 将小的交易合并成为一个大的交易进行提交,减少提交次 降低系统IO消耗 消耗。 数,降低系统 消耗。
grouptransops 100
MAXTRANSOPS BATCHSQL
DBOPTIONS
将大交易拆分,每若干条纪录提交一次。 将大交易拆分,每若干条纪录提交一次。
maxtransops 1000
针对批处理中针对某个表的大批量重复操作进行优化,提 针对批处理中针对某个表的大批量重复操作进行优化, 高批处理的处理速度。 高批处理的处理速度。
定义与数据库类型相关的特殊处理方式。 定义与数据库类型相关的特殊处理方式。
NUMFILES PURGEOLDEXTRACTS
定义进程中表的最大数据量, 定义进程中表的最大数据量,缺省为 500.
定义自动删除队列,一般建议在 进程配置。 定义自动删除队列,一般建议在mgr进程配置。 进程配置