goldengate 设置哪些mac 设置环境变量量

GOLDENGATE常用参数
我的图书馆
GOLDENGATE常用参数
所有的GoldenGate进程均有参数文件 进程均有参数文件 所有的 Manager Extract Replicat Utilities 所有参数均有缺省配置 实际应用只需对小部分参数进行配置 所有参数文件均放在 ./dirprm目录下 目录下 缺省通过进程名进行查找.
Manager参数 参数
日星期五 年 月 日星期五
MANAGER 参数举例PORT 7809 DYNAMICPORTLIST
PURGEOLDEXTRACTS /ggs/dirdat/rt*, USECHECKPOINTS AUTOSTART ER * AUTORESTART EXTRACT *, WAITMINUTES 2, RETRIES 5 LAGREPORTHOURS 1 LAGINFOMINUTES 3 LAGCRITICALMINUTES 5
MANAGER Parameters – Port Management
ParameterAUTOSTART
Description指定在mgr启动时自动启动那些进程 指定在 启动时自动启动那些进程. 启动时自动启动那些进程AUTOSTART ER * AUTOSTART extract extsz
AUTORESTART
指定在mgr可以定时重启那些进程。可以在网络中 可以定时重启那些进程。 指定在 可以定时重启那些进程 断等故障恢复后自动重起,避免人工干预. 断等故障恢复后自动重起,避免人工干预AUTORESTART ER *, WAITMINUTES 5, RETRIES 3
DYNAMICPORTLIST
指定GoldenGate可以使用那些端口接受 可以使用那些端口接受extract发送 指定 可以使用那些端口接受 发送 过来的数据. 过来的数据DYNAMICPORTLIST
制定GoldenGate的mgr进程使用哪个 TCP/IP端口侦 的 制定 进程使用哪个 端口侦 听请求. 听请求PORT 7809
MANAGER Parameters – Event Management
ParameterLAGCRITICAL
Description指定认为超过此时间即为严重错误的延迟最大值, 指定认为超过此时间即为严重错误的延迟最大值,如果延迟达到 此时间值则会在ggserr.log里面写入一条 里面写入一条error信息 此时间值则会在 里面写入一条 信息LAGCRITICALMINUTES 10
指定一个延迟时限,如果延迟达到此时间值则会在 指定一个延迟时限,如果延迟达到此时间值则会在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参数(一) 参数( 参数ParameterCHECKPARAMS
Description如果加入该参数,表示下次运行只是检查一下语法, 如果加入该参数,表示下次运行只是检查一下语法,并不实际 运行进程。 运行进程。 注意:该命令只能检查一些简单语法, 注意:该命令只能检查一些简单语法,并不能保证参数文件是 完全正确的。 完全正确的。 注释行,也可以用两个中划线 代替 代替. 注释行,也可以用两个中划线--代替 --checkparams表示本行已经被注释掉 表示本行已经被注释掉 定义抽取进程的名字 可以将外部文件的内容包含到本参数文件中来。 可以将外部文件的内容包含到本参数文件中来。用于将一些可 以重复利用的参数文件部分内容隔离出来,便于统一修改。 以重复利用的参数文件部分内容隔离出来,便于统一修改。 Obey tables.txt 定义所需要排除的表。如果在 里面定义了使用通配符, 定义所需要排除的表。如果在table里面定义
了使用通配符,那 里面定义了使用通配符 么可以使用该参数定义排除掉其中的部分表。 么可以使用该参数定义排除掉其中的部分表。如: tableexclude ctais2.TMP_*; tableexclude ctais2.TEMPTAB;
EXTRACT OBEY
TABLEEXCLUDE
Extract参数(二) 参数( 参数 ParameterGETUPDATEAFTERS | IGNOREUPDATEAFTERS GETUPDATEBEFORES | IGNOREUPDATEAFTERS GETUPDATES | IGNOREUPDATES
Description是否在队列中写入后影像, 是否在队列中写入后影像,缺省复制
是否在队列中写入前影像, 是否在队列中写入前影像,缺省不复制
是否复制update操作,缺省复制 操作, 是否复制 操作
GETDELETES | IGNOREDELETES GETINSERTS | IGNOREINSERTS GETRUNCATES| IGNORETRUNCATES
是否复制delete操作,缺省复制 操作, 是否复制 操作
是否复制insert操作,缺省复制 操作, 是否复制 操作
是否复制truncate操作,缺省不复制. 操作,缺省不复制 是否复制 操作
Extract参数(三) 参数( 参数ParameterRMTHOST
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参数(四) 参数( 参数
ParameterREPORT 定义自动定时报告。 定义自动定时报告。REPORT AT 01:59
Description
STATOPTIONS
定义每次使用stat时统计数字是否需要重置。 时统计数字是否需要重置。 定义每次使用 时统计数字是否需要重置
REPORTCOUNT
报告已经处理的纪录条数统计数字。 报告已经处理的纪录条数统计数字。
打开对于数据库日志的跟踪日志
TRACE/TRACE2
打开对GoldenGate进程的跟踪日志,一般用于调试。 进程的跟踪日志,一般用于调试。 打开对 进程的跟踪日志
DISCARDFILE
定义discard文件位置,如果处理中有纪录出错会写入到此文件 文件位置, 定义 文件位置 中。discardfile /oradata/goldengate/repkj.dsc,append,megabytes 100m
Extrac参数(五) 参数( 参数
ParameterNUMFILES
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参数(六) 参数( 参数
ParameterDBOPTIONS
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命令(一) 命令( 命令
ParameterCHECKPARAMS COMMENT
Description检查参数语法然后停止。 检查参数语法然后停止。 注释行。 注释行。
定义进程名称。 定义进程名称。replicat repsz
指定登陆目标数据库的用户名和密码。 指定登陆目标数据库的用户名和密码。Userid goldengate, password 123456
将外部文件包含到参数文件中。 将外部文件包含到参数文件中。
Replicat命令(二) 命令( 命令
ParameterASSUMETARGETDEFS
Description假定两端数据结构一致使用此参数。 假定两端数据结构一致使用此参数。
SOURCEDEFS
假定两端数据结构不一致,使用此参数指定源端的数据 假定两端数据结构不一致, 结构定义文件。该文件需要由GoldenGate工具产生。 工具产生。 结构定义文件。该文件需要由 工具产生
MAPEXCLUDE
用于使用在map中使用 匹配时排除掉指定的表,类似 中使用*匹配时排除掉指定的表 用于使用在 中使用 匹配时排除掉指定的表, 于于源端的tablexclude。 于于源端的 。mapexclude CTAIS2.JC_GY_SWWSWH MAP ctais2.* ,TARGET ctais2.*;
GETDELETES | IGNOREDELETES GETUPDATES / IGNOREUPDATES
是否复制delete操作,缺省为复制。 是否复制 操作,缺省为复制。 操作
是否复制update操作,缺省为复制。 操作,缺省为复制。 是否复制 操作
Replicat命令(三) 命令( 命令
ParameterGETINSERTS | IGNOREINSERTS GETUPDATEAFTERS | IGNOREUPDATEAFTERS GETUPDATEBEFORES | IGNOREUPDATEBEFORESGETTRUNCATES | IGNORETRUNCATES
Description是否复制insert操作,缺省为复制。 操作,缺省为复制。 是否复制 操作
是否读取后影像,缺省为读取。 是否读取后影像,缺省为读取。
是否读取前影像,缺省为不读取。 是否读取前影像,缺省为不读取。
是否复制truncate操作,缺省为不复制。 操作,缺省为不复制。 是否复制 操作
allownoopupdates
允许执行无实际变化的update。例如,update
a=a会纪录一条 。例如, 允许执行无实际变化的 会纪录一条 update,但是没有后影像,无法正确构筑 语句。 ,但是没有后影像,无法正确构筑where语句。 语句
Replicat命令(四) 命令( 命令 ParameterREPERROR
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命令(五) 命令( 命令
ParameterGROUPTRANSOPS
Description将小的交易合并成为一个大的交易进行提交, 将小的交易合并成为一个大的交易进行提交,减少提交次 降低系统IO消耗 消耗。 数,降低系统 消耗。grouptransops 100
MAXTRANSOPS BATCHSQLDBOPTIONS
将大交易拆分,每若干条纪录提交一次。 将大交易拆分,每若干条纪录提交一次。maxtransops 1000
针对批处理中针对某个表的大批量重复操作进行优化,提 针对批处理中针对某个表的大批量重复操作进行优化, 高批处理的处理速度。 高批处理的处理速度。定义与数据库类型相关的特殊处理方式。 定义与数据库类型相关的特殊处理方式。
NUMFILES PURGEOLDEXTRACTS
定义进程中表的最大数据量, 定义进程中表的最大数据量,缺省为 500.
定义自动删除队列,一般建议在 进程配置。 定义自动删除队列,一般建议在mgr进程配置。 进程配置
发表评论:
TA的最新馆藏[转]&Oracle GoldenGate 学习教程二、配置和使用_数据库技术_Linux公社-Linux系统门户网站
你好,游客
Oracle GoldenGate 学习教程二、配置和使用
来源:Linux社区&
作者:lanston
配置和使用GoldenGate的步骤
1 配置数据库支持GoldenGate
& 1.1 OGG用户和权限分配
& 1.2 数据库附加日志
& & 1.2.1 数据库级别的附加日志
& & 1.2.2 用户级别的附加日志
& & 1.2.3 表级别的附加日志
2 配置GoldenGate
& 2.1 GoldenGate MGR进程
& & 2.1.1 配置GoldenGate MGR进程
& & 2.1.2 启动mgr进程
& 2.2 在源端创建和配置Extract进程
& & 2.2.1 创建主抽取进程(Primary Extract)
& & & 2.2.1.1 配置主抽取进程(Primary Extract)参数
& & 2.2.2 创建和配置Data Pump进程(Secondly Extract)
& & & 2.2.2.1 创建Data Pump Extract进程
& & & 2.2.2.2 配置Data Pump Extract进程
& & & 2.2.2.3 将目标端trail文件添加到队列中
& 2.3 在目标端配置Replicat
& & 2.3.1 创建和配置Checkpoint Table
& & 2.3.2 创建和配置Replicat进程
3 初始化数据
4 使用GoldenGate
配置和使用GoldenGate的步骤
1 在源端和目标端配置数据库支持GoldenGate
2 在源端和目标端创建和配置GoldenGate实例
3 在源端创建和配置主抽取进程(Primary Extract)
4 在源端创建和配置Data Pump进程(Secondly Extract)
5 在目标端创建和配置Replicat进程
1 配置数据库支持GoldenGate
1.1 OGG用户和权限分配
  GoldenGate需要从在线日子或归档日志抽取捕获系统的变更数据信息,这些信息可能来源于业务用户,可能来源于系统用户,为了使GoldenGate能够抽取这些数据应为GoldenGate创建独立的用户和分配必要的权限以满足系统运行需求,这些权限包括读取业务用户表数据的权限、读取系统表的权限、执行某个系统包的权限等,以下脚步创建GoldenGate用户ogg_owner(源用户)、ogg_trg(目标用户)和GoldenGate角色ogg_role:
[@sywu ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Fri Aug 21 14:11:04 2015
Copyright (c) , Oracle.
All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
SYS@sydb&create tablespace tbs01
datafile '+oradata'
autoextend on
uniform size 2m
create user ogg_owner identified by ogg_owner default tablespace tbs01 quota unlimited on tbs01
create user ogg_trg identified by ogg_trg default tablespace tbs01 quota unlimited on tbs01
create role ogg_role
为易管理和维护统一将权限赋予角色ogg_role:
CREATE SESSION,
ALTER SESSION,
ALTER SYSTEM,
SELECT ANY DICTIONARY,
FLASHBACK ANY TABLE,
SELECT ANY TABLE,
SELECT ANY TRANSACTION,
insert any table,
update any table,
drop any table,
CREATE TABLE
grant SELECT on dba_clusters to ogg_
grant SELECT on V_$DATABASE to ogg_
grant select on sys.logmnr_buildlog to ogg_
grant EXECUTE on DBMS_FLASHBACK to ogg_
grant execute on DBMS_CAPTURE_ADM to ogg_
grant execute on DBMS_STREAMS to ogg_
grant EXECUTE_CATALOG_ROLE to ogg_
然后再将ogg_role 角色赋予ogg_owner(源用户)和ogg_trg(目标用户):
grant ogg_role to ogg_
grant ogg_role to ogg_
源用户测试表和数据:
SYS@sydb&create table ogg_owner.togg(id primary key,name,type,CREATED,update_date)
select object_id,object_name,object_type,CREATED,sysdate from dba_objects
where rownum
Table created.
Elapsed: 00:00:00.28
1.2 数据库附加日志
附加日志级别分为:
数据库级别的附加日志(必须附加日志)
用户级别的附加日志(当使用GoldenGate DDL抽取功能时要启用该级别)
表级别的附加日志(必须附加日志,除非你启用了用户级别的附加日志)
1.2.1 数据库级别的附加日志
  因为GoldenGate需要抽取捕获变更数据信息和元数据信息,这些信息需要记录日志,并且因为日志总是持续增长的,这些日志增长的信息对于GoldenGate是必须记录的,所以必须在GoldenGate进程启动前开启数据库级别的附加日志;检查数据库是否开启附加日志:
SYS@sydb&SELECT supplemental_log_data_min, force_logging FROM v$
SUPPLEME FOR
-------- ---
开启数据库级别的附加日志:
SYS@sydb&alter database add s
SYS@sydb&ALTER DATABASE FORCE LOGGING;
SYS@sydb&SELECT supplemental_log_data_min, force_logging FROM v$
SUPPLEME FOR
-------- ---
Elapsed: 00:00:00.00
SYS@sydb&alter s
System altered.
Elapsed: 00:00:00.09
1.2.2 用户级别的附加日志
  开启用户级别的附加日志的管理用户必须具有执行DBMS_CAPTURE_ADM包的权限;可以在GoldenGate GGSCI命令行下登录到数据库管理用户为其它的用户开启附加日志;在GGSCI命令行下使用DBLOGIN命令登录到数据库管理用户
GGSCI (sywu) 1& dblogin userid ogg_owner,password ogg_owner
Successfully logged into database.
为用户启用附加日志
GGSCI (sywu as ogg_owner@sydb) 2& add schematrandata sywu
SCHEMATRANDATA has been added on schema sywu.
SCHEMATRANDATA for scheduling columns has been added on schema sywu.
取消用户附加日志
GGSCI (sywu as ogg_owner@sydb) 6& delete schematrandata sywu
SCHEMATRANDATA has been deleted on schema sywu.
SCHEMATRANDATA for scheduling columns has been deleted on schema sywu.
1.2.3 表级别的附加日志
  在没有启用用户级别的附加日志的情况下表级别的主键或唯一索引附加日志对于GoldenGate是必须的;在某些情况下即使你启用了用户级别的附加日志,你也可以启用表级别的附加日志使主键附加日志替代每一个在用户级别为GoldenGate指定的键;必须在表没有主键或唯一索引的情况下启用表级别的附加日志。在GGSCI命令行下使用dblogin登录到数据库管理用户
GGSCI (sywu) 1& dblogin userid ogg_owner,password ogg_owner
Successfully logged into database.
为表启用附加日志
GGSCI (sywu as ogg_owner@sydb) 3& add trandata ogg_owner.togg
Logging of supplemental redo data enabled for table OGG_OWNER.TOGG.
TRANDATA for scheduling columns has been added on table 'OGG_OWNER.TOGG'.
注意:仅当该表有主键或唯一索引时使用上面的命令启用表级别的附加日志,如果表中没有主键或唯一索引时则必须指定一个或多个或者全部列做为主键,在GoldenGate这些键的作用是过滤重复的数据。
SYS@sydb&create table ogg_owner.togg_nokey(id,name,type,CREATED,update_date)
select object_id,object_name,object_type,CREATED,sysdate from dba_objects
where rownum
Table created.
Elapsed: 00:00:00.11
错误的启用没有主键的表级别附加日志:
GGSCI (sywu as ogg_owner@sydb) 4& add trandata ogg_owner.togg_nokey
WARNING OGG-06439
No unique key is defined for table TOGG_NOKEY. All viable columns will be used to represent the key, but may not guarantee uniqueness. KEYCOLS may be used to define the key.
Logging of supplemental redo data enabled for table OGG_OWNER.TOGG_NOKEY.
TRANDATA for scheduling columns has been added on table 'OGG_OWNER.TOGG_NOKEY'.
正确的启用没有主键的表级别附加日志:
GGSCI (sywu as ogg_owner@sydb) 26&
add trandata ogg_owner.togg_nokey,cols (ID),nokey
WARNING OGG-06439
No unique key is defined for table TOGG_NOKEY. All viable columns will be used to represent the key, but may not guarantee uniqueness. KEYCOLS may be used to define the key.
Logging of supplemental redo data enabled for table OGG_OWNER.TOGG_NOKEY.
TRANDATA for scheduling columns has been added on table 'OGG_OWNER.TOGG_NOKEY'.
2 配置GoldenGate
2.1 GoldenGate MGR进程
  MGR进程管理启动Oracle GoldenGate进程、启动动态进程、分配端口给GoldenGate进程、管理trail file、创建事件,错误和诊断报告工作,必须在第一时间启动;当某些原因导致GoldenGate崩溃或重启机器时,默认情况MGR是没有启动的
[oracle@sywu ogg_src]$ tggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 12.1.2.1.0 OGGCORE_12.1.2.1.0_PLATFORMS_5.1_FBO
Linux, x64, 64bit (optimized), Oracle 11g on Aug
Operating system character set identified as UTF-8.
Copyright (C) , Oracle and/or its affiliates. All rights reserved.
GGSCI (sywu) 1& info mgr
Manager is DOWN!
2.1.1 配置GoldenGate MGR进程
  可以通过直接编辑GoldenGate_home/dirprm/mgr.prm文件或进入GGSCI命令行后键入edit param mgr命令回车进入MGR配置文件vi编辑界面;
GGSCI (sywu as ogg_owner@sydb) 10& edit param mgr
DYNAMICPORTLIST
AUTOSTART ER E*
AUTORESTART ER P*,RETRIES 4, WAITMINUTES 4
STARTUPVALIDATIONDELAY 5
表示MGR进程端口号
DYNAMICPORTLIST
表示MGR进???动态为其它进程如Extract进程、Replicat进程分配的端口
AUTOSTART、AUTORESTART
表示当MGR进程启动后失败时自动启动或重启的GoldenGate进程
2.1.2 启动mgr进程
GGSCI (sywu) 2& start mgr
Manager started.
GGSCI (sywu) 3& info mgr
Manager is running (IP port sywu.7909, Process ID 17400).
启动原理:通过读取GoldenGate_home/dirprm/mgr.prm文件,然后根据该文件的配置信息启动进程分配端口号,如果该进程启动失败,首先请检查预使用的端口是否被占用:
netstat -lntup|grep 7809
32426/./mgr
然后检查相关的配置文件或重新配置MGR。
2.2 在源端创建和配置Extract进程
创建和配置Extract进程的工作有:
创建和配置主抽取进程(Primary Extract)
创建和配置Data Pump进程(Secondly Extract)
2.2.1 创建主抽取进程(Primary Extract)
进入GGSCI命令行使用add extract 命令创建主抽取进程
[oracle@sywu ~]$ sggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 12.1.2.1.0 OGGCORE_12.1.2.1.0_PLATFORMS_5.1_FBO
Linux, x64, 64bit (optimized), Oracle 11g on Aug
Operating system character set identified as UTF-8.
Copyright (C) , Oracle and/or its affiliates. All rights reserved.
GGSCI (sywu as ogg_owner@sydb) 13& add extract esydb001,tranlog,begin now
EXTRACT added.
因为主进程的作用是抽取捕获系统变更数据并将这些数据保存到trail文件里,所以必须为其配置trail文件目录和trail文件名的两个字符名,trail文件名共8个字符,其余6个字符由GoldenGate系列填充;
GGSCI (sywu as ogg_owner@sydb) 14& ADD EXTTRAIL /u01/app/product/ogg_src/dirdat/es, EXTRACT esydb001
EXTTRAIL added.
2.2.1.1 配置主抽取进程(Primary Extract)参数
GGSCI (sywu as ogg_owner@sydb) 15& edit param esydb001
extract esydb001
SETENV(ORACLE_SID="sydb")
SETENV(NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
userid ogg_owner, password ogg_owner
EXTTRAIL /u01/app/product/ogg_src/dirdat/es
table ogg_owner.
userid指定GoldenGate 抽取用户的用户名和密码;SETENV 设置环境变量,如实例名、数据库字符集;table 指定抽取的用户和表名,如果指定多个以相同字符开头或结尾的表名,可以使用&前缀* &的方式代替,这里仅以ogg_owner.togg表为测试案例;
2.2.2 创建和配置Data Pump进程(Secondly Extract)
添加Data Pump Extract进程时要注意,如果源端和目标端OGG物理路径都相同,可以按照常规方式处理,但是如果不相同,就像我本例的一样源端和目标端都在同一台机器上,但GoldenGate物理路径不相同,请按如下方式处理
2.2.2.1 创建Data Pump Extract进程
GGSCI (sywu) 26& ADD EXTRACT PSYDB001, EXTTRAILSOURCE /u01/app/product/ogg_src/dirdat/es
EXTRACT added.
EXTTRAILSOUCE 指定源端的trail路径,必须包含两个字符,这个路径和主抽取进程(Primary Extract)中指定的trail目录和trail文件命名必须相同,因为Data Pump进程要读取主抽取进程生成的trail文件;
2.2.2.2 配置Data Pump Extract进程
edit param psydb001
extract psydb001
SETENV(ORACLE_SID="sydb")
SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
userid ogg_owner,password ogg_owner
RMTHOST sywu,mgrport 7909
RMTTRAIL /u01/app/product/ogg_trg/dirdat/ps
--这里指定目标端trail文件位置,同样包含两个字符
table ogg_owner.
RMTHOST 指定目标端地址和端口等信息;RMTTRAIL 指定目标端保存trail文件的目录和两个字符文件名;TABLE 指定同步的表,配置的方式同在主抽取进程(Primary Extract)的配置一样,但这里多了许多额外的功能,比如实现数据过滤和其它复杂操作;
2.2.2.3 将目标端trail文件添加到队列中
  源端可以配置多个主抽取进程,也可以配置多个Data Pump进程,但必须为每个要同步的目标端配置一个Data Pump进程;
GGSCI (sywu) 10& ADD RMTTRAIL /u01/app/product/ogg_trg/dirdat/ps, EXTRACT PSYDB001
RMTTRAIL added.
2.3 在目标端配置Replicat
目标端需要做的工作:
创建和配置Checkpoint Table
创建和配置Replicat进程
2.3.1 创建和配置Checkpoint Table
  目标端Replicat进程监控Checkpoint Table,每一条接收到的checkpoint数据由Collector后台进程写入到Checkpoint Table,因为对于事务来说每一条checkpoint数据要么执行成功要么执行失败,所以Replicat进程确保每一条checkpoint事务数据只应用一次,即使其它进程错误或者数据库错误。在目标端GSSCI命令行下使用dblogin登录到目标端OGG管理用户
[oracle@sywu ogg_src]$ tggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 12.1.2.1.0 OGGCORE_12.1.2.1.0_PLATFORMS_5.1_FBO
Linux, x64, 64bit (optimized), Oracle 11g on Aug
Operating system character set identified as UTF-8.
Copyright (C) , Oracle and/or its affiliates. All rights reserved.
GGSCI (sywu) 1& dblogin userid ogg_trg,password ogg_trg
Successfully logged into database.
创建checkpoint table
GGSCI (sywu as ogg_trg@sydb) 2& add checkpointtable ogg_trg.ogg_chk
Successfully created checkpoint table ogg_trg.ogg_chk.
将checkpoint table 定义在GoldenGate配置文件里
GGSCI (sywu) 1& edit param ./GLOBALS
GGSCHEMA OGG_TRG
CHECKPOINTTABLE OGG_TRG.OGG_CHK
首次编辑GoldenGate配置文件时,GLOBALS文件以大写命名并且没有扩展名创建在GoldenGate_home根目录。
2.3.2 创建和配置Replicat进程
  当GoldenGate运行时会产生一些与同步数据不相关的文件,这些文件记录了GoldenGate进程错误、数据库错误、GoldenGate操作等信息,这个文件叫做Discard file,配置Replicat进程时由DISCARDFILE参数定义,这个参数是可选的,但推荐创建相应的目录并配置,方便诊断GoldenGate错误问题;创建Discard file目录
[oracle@sywu ogg_trg]$ mkdir /u01/app/product/ogg_trg/discrd
[oracle@sywu ogg_trg]$ chmod 775 /u01/app/product/ogg_trg/discrd/
目标端创建Replicat进程
GGSCI (sywu) 27& add replicat rsydb001,exttrail /u01/app/product/ogg_trg/dirdat/ps,checkpointtable OGG_TRG.OGG_CHK
REPLICAT added.
编辑Replicat进程配置文件
REPLICAT rsydb001
SETENV(ORACLE_SID="sydb")
SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
USERID ogg_trg,password ogg_trg
DISCARDFILE /u01/app/product/ogg_trg/discrd/reptr.desc,append,megabytes 512
ALLOWNOOPUPDATES
ASSUMETARGETDEFS
MAP OGG_OWNER.TOGG,target OGG_TRG.TOGG;
到这里简单的源端和目标端的MGR、Extract、Replicat进程就配置完了,测试配置文件是否错误,进程启动是否正常,如果进程有问题就使用&view report 进程名&查看错误;不要将所有进程启动,因为有些工作还没有完成。
3 初始化数据
为什么要初始化数据?  因为DML操作包括INSERT、UPDATE、DELETE、SELECT操作,而在这些操作中UPDATE、DELETE操作Redo只记录了变更的数据列以及行ID(ROWID),GoldenGate抽取数据后将其转换为自己的格式发送都目标端,假设源端有100条数据,从08:00 AM开始同步到目标端,而在同步开始前目标端没有初始化数据(目标端为空数据),那么08:00 AM后事物产生的UPDATE、DELETE DML操作发送到目标端,目标端GoldenGate Replicat进程会因为找不到数据而报错从而导致Replicat进程崩溃停止(ABENDED),所以这就需要我们在同步前初始化数据,初始化完后再同步,这样大大降低错误率。同步数据的方式可以通过DBLINK、EXP/IMP、SQLLDR或者表空间迁移等方式同步;我的测试都在同一个库所以就直接创建表了。
SYS@sydb&create table ogg_trg.togg as select * from ogg_owner.togg
Table created.
Elapsed: 00:00:00.24
4 使用GoldenGate
数据初始化后,分别启动源端MGR进程、主抽取进程(Primary Extract)、Data Pump进程(Secondly Extract)以及目标端MGR进程、Replicat进程;启动源端GoldenGate进程
[oracle@sywu ~]$ sggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 12.1.2.1.0 OGGCORE_12.1.2.1.0_PLATFORMS_5.1_FBO
Linux, x64, 64bit (optimized), Oracle 11g on Aug
Operating system character set identified as UTF-8.
Copyright (C) , Oracle and/or its affiliates. All rights reserved.
GGSCI (sywu) 1& start mgr
Manager started.
GGSCI (sywu) 2& start PSYDB001
Sending START request to MANAGER ...
EXTRACT PSYDB001 starting
GGSCI (sywu) 3& info all
Lag at Chkpt
Time Since Chkpt
启动目标端GoldenGate进程
[oracle@sywu ~]$ tggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 12.1.2.1.0 OGGCORE_12.1.2.1.0_PLATFORMS_5.1_FBO
Linux, x64, 64bit (optimized), Oracle 11g on Aug
Operating system character set identified as UTF-8.
Copyright (C) , Oracle and/or its affiliates. All rights reserved.
GGSCI (sywu) 1& start mgr
Manager started.
GGSCI (sywu) 2& start RSYDB001
Sending START request to MANAGER ...
REPLICAT RSYDB001 starting
GGSCI (sywu) 3& info all
Lag at Chkpt
Time Since Chkpt
进程都启动完了,此时观察源端和目标端trail文件生成情况
[oracle@sywu ~]$ ls -ltr /u01/app/product/ogg_src/dirdat
-rw-r-----. 1 oracle oinstall
1418 Aug 26 09:42 es000000
-rw-r-----. 1 oracle oinstall
1481 Aug 26 09:48 es000001
-rw-r-----. 1 oracle oinstall
1481 Aug 26 09:50 es000002
-rw-r-----. 1 oracle oinstall
1481 Aug 26 09:52 es000003
-rw-r-----. 1 oracle oinstall
1481 Aug 26 09:52 es000004
[oracle@sywu ~]$ ls -ltr /u01/app/product/ogg_trg/dirdat
-rw-r-----. 1 oracle oinstall 193469 Aug 25 13:00 ps000000
-rw-r-----. 1 oracle oinstall
891 Aug 25 13:00 ps000001
-rw-r-----. 1 oracle oinstall
1652 Aug 25 13:07 ps000002
-rw-r-----. 1 oracle oinstall
891 Aug 25 13:07 ps000003
-rw-r-----. 1 oracle oinstall 105884 Aug 25 13:49 ps000004
-rw-r-----. 1 oracle oinstall
891 Aug 25 13:49 ps000005
-rw-r-----. 1 oracle oinstall
2095 Aug 26 09:54 ps000006
-rw-r-----. 1 oracle oinstall
1201 Aug 26 09:54 ps000007
-rw-r-----. 1 oracle oinstall
2032 Aug 26 09:54 ps000008
源端进程信息
GGSCI (sywu) 4& info ESYDB001,detail
Last Started
Status RUNNING
Checkpoint Lag
00:00:00 (updated 00:00:10 ago)
Process ID
Log Read Checkpoint
Oracle Redo Logs
Seqno 13, RBA 1942016
SCN 0.5310)
Target Extract Trails:
Trail Name
Max MB Trail Type
/u01/app/product/ogg_src/dirdat/es
100 EXTTRAIL
Extract Source
/u01/oradata/sydb/redo01.log
/u01/oradata/sydb/redo01.log
/u01/oradata/sydb/redo01.log
/u01/oradata/sydb/redo01.log
/u01/oradata/sydb/redo01.log
Not Available
* Initialized *
Not Available
* Initialized *
Current directory
/u01/app/product/ogg_src
Report file
/u01/app/product/ogg_src/dirrpt/ESYDB001.rpt
Parameter file
/u01/app/product/ogg_src/dirprm/esydb001.prm
Checkpoint file
/u01/app/product/ogg_src/dirchk/ESYDB001.cpe
Process file
/u01/app/product/ogg_src/dirpcs/ESYDB001.pce
/u01/app/product/ogg_src/ggserr.log
GGSCI (sywu) 5& info PSYDB001,detail
Last Started
Status RUNNING
Checkpoint Lag
00:00:00 (updated 00:00:04 ago)
Process ID
Log Read Checkpoint
File /u01/app/product/ogg_src/dirdat/es000004
09:52:50.035063
Target Extract Trails:
Trail Name
Max MB Trail Type
/u01/app/product/ogg_trg/dirdat/ps
100 EXTTRAIL
Extract Source
/u01/app/product/ogg_src/dirdat/es000004
* Initialized *
/u01/app/product/ogg_src/dirdat/es000000
* Initialized *
First Record
/u01/app/product/ogg_src/dirdat/es000000
* Initialized *
First Record
/u01/app/product/ogg_src/dirdat/es000000
* Initialized *
First Record
/u01/app/product/ogg_src/dirdat/es000000
* Initialized *
First Record
Current directory
/u01/app/product/ogg_src
Report file
/u01/app/product/ogg_src/dirrpt/PSYDB001.rpt
Parameter file
/u01/app/product/ogg_src/dirprm/psydb001.prm
Checkpoint file
/u01/app/product/ogg_src/dirchk/PSYDB001.cpe
Process file
/u01/app/product/ogg_src/dirpcs/PSYDB001.pce
/u01/app/product/ogg_src/ggserr.log
GGSCI (sywu) 6& stats ESYDB001
Sending STATS request to EXTRACT ESYDB001 ...
No active extraction maps.
GGSCI (sywu) 7& stats PSYDB001
Sending STATS request to EXTRACT PSYDB001 ...
No active extraction maps.
目标端进程信息
GGSCI (sywu) 5& info RSYDB001,detail
Last Started
Status RUNNING
Checkpoint Lag
00:00:00 (updated 00:00:08 ago)
Process ID
Log Read Checkpoint
File /u01/app/product/ogg_trg/dirdat/ps000008
First Record
Current Log BSN value: (requires database login)
Last Committed Transaction CSN value: (requires database login)
Extract Source
/u01/app/product/ogg_trg/dirdat/ps15-08-26 09:52
First Record
/u01/app/product/ogg_trg/dirdat/ps15-08-25 13:58
/u01/app/product/ogg_trg/dirdat/ps15-08-25 13:49
/u01/app/product/ogg_trg/dirdat/ps15-08-25 13:49
/u01/app/product/ogg_trg/dirdat/ps15-08-25 13:49
/u01/app/product/ogg_trg/dirdat/ps000006
* Initialized *
/u01/app/product/ogg_trg/dirdat/ps000006
* Initialized *
First Record
/u01/app/product/ogg_trg/dirdat/ps000000
* Initialized *
First Record
/u01/app/product/ogg_trg/dirdat/ps000000
* Initialized *
First Record
/u01/app/product/ogg_trg/dirdat/ps000000
* Initialized *
First Record
/u01/app/product/ogg_trg/dirdat/ps000000
* Initialized *
First Record
Current directory
/u01/app/product/ogg_trg
Report file
/u01/app/product/ogg_trg/dirrpt/RSYDB001.rpt
Parameter file
/u01/app/product/ogg_trg/dirprm/rsydb001.prm
Checkpoint file
/u01/app/product/ogg_trg/dirchk/RSYDB001.cpr
Checkpoint table
OGG_TRG.OGG_CHK
Process file
/u01/app/product/ogg_trg/dirpcs/RSYDB001.pcr
/u01/app/product/ogg_trg/ggserr.log
GGSCI (sywu) 6& stats RSYDB001
Sending STATS request to REPLICAT RSYDB001 ...
No active replication maps.
在源端产生DML操作
OGG_OWNER@sydb&insert into togg(id,name)values(1003,'tt') ;
1 row created.
Elapsed: 00:00:00.00
OGG_OWNER@sydb&insert into togg(id,name,type)values(1004,'sywu','user');
1 row created.
Elapsed: 00:00:00.01
OGG_OWNER@sydb&
Commit complete.
Elapsed: 00:00:00.01
再次查看源端进程状态
GGSCI (sywu) 10& stats ESYDB001
Sending STATS request to EXTRACT ESYDB001 ...
Start of Statistics at
Output to /u01/app/product/ogg_src/dirdat/es:
Extracting from OGG_OWNER.TOGG to OGG_OWNER.TOGG:
*** Total statistics since
10:04:33 ***
Total inserts
Total updates
Total deletes
Total discards
Total operations
*** Daily statistics since
10:04:33 ***
Total inserts
Total updates
Total deletes
Total discards
Total operations
*** Hourly statistics since
10:04:33 ***
Total inserts
Total updates
Total deletes
Total discards
Total operations
*** Latest statistics since
10:04:33 ***
Total inserts
Total updates
Total deletes
Total discards
Total operations
End of Statistics.
GGSCI (sywu) 11& stats PSYDB001
Sending STATS request to EXTRACT PSYDB001 ...
Start of Statistics at
Output to /u01/app/product/ogg_trg/dirdat/ps:
Extracting from OGG_OWNER.TOGG to OGG_OWNER.TOGG:
*** Total statistics since
10:04:35 ***
Total inserts
Total updates
Total deletes
Total discards
Total operations
*** Daily statistics since
10:04:35 ***
Total inserts
Total updates
Total deletes
Total discards
Total operations
*** Hourly statistics since
10:04:35 ***
Total inserts
Total updates
Total deletes
Total discards
Total operations
*** Latest statistics since
10:04:35 ***
Total inserts
Total updates
Total deletes
Total discards
Total operations
End of Statistics.
再次查看目标端进程状态
GGSCI (sywu) 7& stats RSYDB001
Sending STATS request to REPLICAT RSYDB001 ...
Start of Statistics at
Replicating from OGG_OWNER.TOGG to OGG_TRG.TOGG:
*** Total statistics since
10:04:45 ***
Total inserts
Total updates
Total deletes
Total discards
Total operations
*** Daily statistics since
10:04:45 ***
Total inserts
Total updates
Total deletes
Total discards
Total operations
*** Hourly statistics since
10:04:45 ***
Total inserts
Total updates
Total deletes
Total discards
Total operations
*** Latest statistics since
10:04:45 ***
Total inserts
Total updates
Total deletes
Total discards
Total operations
End of Statistics.
SYS@sydb&select count(*) from ogg_owner.
----------
Elapsed: 00:00:00.00
SYS@sydb&select count(*) from ogg_trg.
----------
Elapsed: 00:00:00.05
SYS@sydb&column name format a10
SYS@sydb&select id,name,type from ogg_owner.togg where name='sywu';
---------- ---------- -------------------
Elapsed: 00:00:00.00
SYS@sydb&select id,name,type from ogg_trg.togg where name='sywu';
---------- ---------- -------------------
Elapsed: 00:00:00.01
  GoldenGate通过自身的数据加工、处理、发送、应用以及借用RDBMS数据库系统的优势保证数据的可同步性和准确性,并在错误和故障发生的情况下以RDBMS系统特有的特性(如Oracle 内部同步变更号(SCN)和检查点)保障了数据的可恢复性和一致性,为同步的数据实时性和准确性提供了准确性和可稽查性。
--The end()&
GoldenGate更新丢失问题&
GoldenGate单向表DML同步
Oracle GoldenGate 系列:Extract 进程的恢复原理
Oracle GoldenGate安装配置
Oracle goldengate的OGG-01004 OGG-1296错误
Oracle GoldenGate快速入门教程:基本概念和配置
搭建一个Oracle到Oracle的GoldenGate双向复制环境
GoldenGate的安全配置&
更多Oracle相关信息见 专题页面
本文永久更新链接地址:
相关资讯 & & &
& (11月15日)
& (07月27日)
& (12月11日)
& (08月22日)
& (10/10/:17)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款}

我要回帖

更多关于 ubuntu环境变量设置 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信