怎么解决 Goldengate 源端 Time Since Chkpt 无限本源综漫穿越录增高

GoldenGate dml同步进程目标表加字段处理测试
对于仅有dml同步的goldengate进程,如果源端进行ddl加字段操作,如何处理对应的进程
--实验:对于仅有dml同步的goldengate进程,如果源端进行ddl加字段操作,如何处理对应的进程
--源端orcl--首先检查进程状态,running状态:[Oracle@localhost ogg]$ ./ggsciGGSCI (localhost.localdomain) 1& info all
Program& & Status& & & Group& & & Lag at Chkpt& Time Since Chkpt
MANAGER& & RUNNING& & & & & & & & & & & & & & & & & & & & & EXTRACT& & RUNNING& & DPUMP1& & & 00:00:00& & & 00:00:08& & EXTRACT& & RUNNING& & EXT1& & & & 00:00:00& & & 00:00:06& &
--停止抽取进程及传输进程:GGSCI (localhost.localdomain) 2& stop *
Sending STOP request to EXTRACT DPUMP1 ...Request processed.
Sending STOP request to EXTRACT EXT1 ...Request processed.
GGSCI (localhost.localdomain) 3& info all
Program& & Status& & & Group& & & Lag at Chkpt& Time Since Chkpt
MANAGER& & RUNNING& & & & & & & & & & & & & & & & & & & & & EXTRACT& & STOPPED& & DPUMP1& & & 00:00:00& & & 00:00:11& & EXTRACT& & STOPPED& & EXT1& & & & 00:00:00& & & 00:00:09&
--目标端orcltest--确认复制进程状态为running,,并停掉进程:GGSCI (localhost.localdomain) 8& info all
Program& & Status& & & Group& & & Lag at Chkpt& Time Since Chkpt
MANAGER& & RUNNING& & & & & & & & & & & & & & & & & & & & & REPLICAT& & RUNNING& & REP1& & & & 00:00:00& & & 00:00:06& &
GGSCI (localhost.localdomain) 9& stop *
Sending STOP request to REPLICAT REP1 ...Request processed.
--源端orcl--对同步的表添加一个字段[oracle@localhost ogg]$ sqlplus / as sysdbaSQL& alter table ggs.test add new_col varchar2(10);
Table altered.
--目标端orcltest--同样添加字段:[oracle@localhost ogg]$ sqlplus / as sysdbaSQL& alter table ggs.test add new_col varchar2(10);
Table altered.
--源端orcl--启动抽取,传输进程[oracle@localhost ogg]$ ./ggsciGGSCI (localhost.localdomain) 2& start *
Sending START request to MANAGER ...EXTRACT DPUMP1 starting
Sending START request to MANAGER ...EXTRACT EXT1 starting
GGSCI (localhost.localdomain) 4& info all
Program& & Status& & & Group& & & Lag at Chkpt& Time Since Chkpt
MANAGER& & RUNNING& & & & & & & & & & & & & & & & & & & & & EXTRACT& & RUNNING& & DPUMP1& & & 00:40:12& & & 00:00:04& & EXTRACT& & RUNNING& & EXT1& & & & 00:02:55& & & 00:00:08&
--目标端orcltest--启动复制进程& [oracle@localhost ogg]$ ./ggsciGGSCI (localhost.localdomain) 2& start *
Sending START request to MANAGER ...REPLICAT REP1 starting
GGSCI (localhost.localdomain) 5& info all
Program& & Status& & & Group& & & Lag at Chkpt& Time Since Chkpt
MANAGER& & RUNNING& & & & & & & & & & & & & & & & & & & & & REPLICAT& & RUNNING& & REP1& & & & 00:00:00& & & 00:00:01& &
--源端orcl--进行数据修改测试[oracle@localhost ~]$ sqlplus / as sysdbaSQL& select count(*) from ggs.
& COUNT(*)----------& & & & 33
SQL& delete from ggs.test where rownum&5;
4 rows deleted.
Commit complete.
SQL& insert into ggs.test (username,user_id,account_status,default_tablespace,temporary_tablespace,created,profile,new_col)values ('a','7','open','one','temp',sysdate,'default','test');& 2&
1 row created.
Commit complete.
--目标端orcltest--对应的测试结果:结果正确,说明同步进程是正常的SQL& select count(1) from ggs.
& COUNT(1)----------& & & & 29& & & & SQL& select count(*) from ggs.
& COUNT(*)----------& & & & 30
实验结论:对于正常进行的dml复制进程,如果目标表需要加字段,通过停止进程,源端目标端同时进行ddl操作,然后重新启动进程就可以了,复制进程会正常进行。
本文永久更新链接地址:
你最喜欢的ogg中Time Since Chkpt显示unknown解决
1、异常现象
[oracle@localhost ~]$ ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 11.1.1.0.0 Build 078
Linux, x64, 64bit (optimized), Oracle 10 on Jul 28 :11
Copyright (C) , Oracle and/or its affiliates. All rights reserved.
GGSCI (localhost.localdomain) 1& info all
Time Since Chkpt
2、尝试关闭异常进程重启
GGSCI (localhost.localdomain) 2& stop *
Sending STOP request to EXTRACT EXT-ECP ...
ERROR: sending message to EXTRACT EXT-ECP (Timeout waiting for message).
Sending STOP request to EXTRACT EXT-EDS ...
ERROR: sending message to EXTRACT EXT-EDS (Timeout waiting for message).
Sending STOP request to EXTRACT EXT-XZ ...
ERROR: sending message to EXTRACT EXT-XZ (Timeout waiting for message).
Sending STOP request to EXTRACT P-EDS ...
ERROR: sending message to EXTRACT P-EDS (Timeout waiting for message).
Sending STOP request to EXTRACT P-XZ ...
ERROR: sending message to EXTRACT P-XZ (Timeout waiting for message).
Sending STOP request to REPLICAT REP-BOS ...
ERROR: sending message to REPLICAT REP-BOS (Timeout waiting for message).
GGSCI (localhost.localdomain) 3& stop mgr!
Sending STOP request to MANAGER ...
Request processed.
Manager stopped.
GGSCI (localhost.localdomain) 4& info all
Time Since Chkpt
GGSCI (localhost.localdomain) 5& kill EXT-ECP
ERROR: Manager not currently running.
GGSCI (localhost.localdomain) 6& kill EXT-EDS
ERROR: Manager not currently running.
GGSCI (localhost.localdomain) 7& info all
Time Since Chkpt
GGSCI (localhost.localdomain) 8& exit
--使用stop 进程,stop mgr,kill 进程都不能正常关闭这些进程
3、系统系统级别kill相关ogg进程
[oracle@localhost OGG]$ ps -ef|grep /opt/OGG
00:03:31 /opt/OGG/extract PARAMFILE /opt/OGG/dirprm/ext-ecp.prm REPORTFILE /opt/OGG/dirrpt/EXT-ECP.rpt PROCESSID EXT-ECP USESUBDIRS
00:02:30 /opt/OGG/extract PARAMFILE /opt/OGG/dirprm/ext-eds.prm REPORTFILE /opt/OGG/dirrpt/EXT-EDS.rpt PROCESSID EXT-EDS USESUBDIRS
00:03:07 /opt/OGG/extract PARAMFILE /opt/OGG/dirprm/ext-xz.prm REPORTFILE /opt/OGG/dirrpt/EXT-XZ.rpt PROCESSID EXT-XZ USESUBDIRS
00:00:01 /opt/OGG/extract PARAMFILE /opt/OGG/dirprm/p-eds.prm REPORTFILE /opt/OGG/dirrpt/P-EDS.rpt PROCESSID P-EDS USESUBDIRS
00:00:03 /opt/OGG/replicat PARAMFILE /opt/OGG/dirprm/rep-bos.prm REPORTFILE /opt/OGG/dirrpt/REP-BOS.rpt PROCESSID REP-BOS USESUBDIRS
00:00:01 ./server -p 7847 -k -l /opt/OGG/ggserr.log
00:00:15 /opt/OGG/extract PARAMFILE /opt/OGG/dirprm/p-xz.prm REPORTFILE /opt/OGG/dirrpt/P-XZ.rpt PROCESSID P-XZ USESUBDIRS
0 12:48 pts/1
00:00:00 grep /opt/OGG
[oracle@localhost OGG]$ kill -9 82
[oracle@localhost OGG]$ ps -ef|grep /opt/OGG
0 12:48 pts/1
00:00:00 grep /opt/OGG
4、重启所有ogg进程
[oracle@localhost OGG]$ ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 11.1.1.0.0 Build 078
Linux, x64, 64bit (optimized), Oracle 10 on Jul 28 :11
Copyright (C) , Oracle and/or its affiliates. All rights reserved.
GGSCI (localhost.localdomain) 1& info all
Time Since Chkpt
--进程状态还是异常
GGSCI (localhost.localdomain) 2& start mgr
Manager started.
GGSCI (localhost.localdomain) 3& info all
Time Since Chkpt
--进程起来了,但是Time Since Chkpt还是不正确
GGSCI (localhost.localdomain) 4& stop ext-ecp
Sending STOP request to EXTRACT EXT-ECP ...
Request processed.
GGSCI (localhost.localdomain) 5& info all
Time Since Chkpt
--关闭EXT-ECP测试,状态正常
GGSCI (localhost.localdomain) 6& start ext-ecp
Sending START request to MANAGER ...
EXTRACT EXT-ECP starting
GGSCI (localhost.localdomain) 7& info all
Time Since Chkpt
--Lag异常,等待恢复
GGSCI (localhost.localdomain) 8& stop ext-eds
Sending STOP request to EXTRACT EXT-EDS ...
Recovery is not complete.
This normal stop will wait and checkpoint recovery's
work when recovery has finished. To force Extract to stop now,
use the SEND EXTRACT EXT-EDS, FORCESTOP command.
--因为恢复没有完成导致该提示,可以忽略,等待
GGSCI (localhost.localdomain) 9& info all
Time Since Chkpt
GGSCI (localhost.localdomain) 10& start ext-eds
Sending START request to MANAGER ...
EXTRACT EXT-EDS starting
GGSCI (localhost.localdomain) 11& info all
Time Since Chkpt
GGSCI (localhost.localdomain) 12& stop ext-xz
Sending STOP request to EXTRACT EXT-XZ ...
Request processed.
GGSCI (localhost.localdomain) 13& start ext-xz
Sending START request to MANAGER ...
EXTRACT EXT-XZ starting
GGSCI (localhost.localdomain) 15& stop p-eds
Sending STOP request to EXTRACT P-EDS ...
Request processed.
GGSCI (localhost.localdomain) 16& start p-eds
Sending START request to MANAGER ...
EXTRACT P-EDS starting
GGSCI (localhost.localdomain) 17& stop p-xz
Sending STOP request to EXTRACT P-XZ ...
Request processed.
GGSCI (localhost.localdomain) 18& start p-xz
Sending START request to MANAGER ...
EXTRACT P-XZ starting
GGSCI (localhost.localdomain) 19& info all
Time Since Chkpt
--重启所有异常进程,ogg工作正常
GGSCI (localhost.localdomain) 20&
5、总结处理步骤
强制关闭mgr,系统级别kill相关ogg进程,开启ogg主进程,重启相关进程
此条目发表在
分类目录。将加入收藏夹。
&&longlong&&
加我微信(xifenfei88)查看: 230835|回复: 8
GoldenGate源端 Time Since Chkpt无限增高
论坛徽章:1
问题出现在源端。
之前配置的没问题,Time Since Chkpt会每间隔10秒刷新一次。
但是最近出现了问题,Time Since Chkpt不会刷新了,时间会无限的往上增加,原因是什么呢?
Time Since Chkpt 就是用INFO ALL,看到的那个时间。
论坛徽章:112
无限到什么程度?
认证徽章论坛徽章:76
论坛徽章:1
尝试下重启进程,看看会不会时间降下来
招聘 : 论坛徽章:14
楼主是不是重启过mgr进程?
求职 : 论坛徽章:6
楼主问题解决了没?
论坛徽章:5
同问,楼主解决了没呀?
论坛徽章:5
我今天也碰到这问题了,发现是有个JOB运行导致表上有锁,所以replicat进程运行正常,但是数据并没有复制,Time Since Chkpt 这个时间就是不断的在增大。
论坛徽章:177
view report xxx
itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有    
 北京市公安局海淀分局网监中心备案编号:10 广播电视节目制作经营许可证:编号(京)字第1149号随笔 - 51&
&&&&&&&&&&&
1&&&&&&&GoldenGate简要说明
GoldenGate现在是业内成熟的数据容灾与复制产品,经过多年的发展与完善,现在已经成为业内事实上的标准之一。
GoldenGate软件是一种基于日志的结构化数据复制软件,它通过解析源数据库在线日志或归档日志获得数据的增删改变化,再将这些变化应用到目标数据库,实现源数据库与目标数据库同步。
1.1& Golden Gate技术结构
GoldenGate软件的技术结构如图1.1所示:
图1.1GoldenGate技术架构图
从图中可以看到:GoldenGate主要包含Manager进程、Extract进程、Pump进程、Replicat进程,下面对其一一说明:
Manager进程是GoldenGate的控制进程,它主要作用有以下几个方面:启动、监控、重启GoldenGate的其他进程,报告错误及时间,分配数据存储空间,发布阀值报告等。
Extract进程运行在数据库源端,负责从源端数据表或日志中捕获数据。Extract进程利用其内在的checkpoint机制,周期性地检查并记录其读写的位置,通常是写入到本地的trail文件。这种机制是为了保证如果Extract进程终止或者操作系统宕机,我们重启Extract进程后,GoldenGate能够恢复到以前的状态,从上一个断点处继续往下运行,而不会有任何数据损失。
Pump进程运行在数据库源端,其作用非常简单。如果源端使用了本地trail文件,那么Pump进程就会把Trail文件以数据块的形式通过TCP/IP协议发送到目标端,我们下面的配置都是这种方式。Pump进程本质是Extract进程的一种特殊形式,如果不使用Trail文件,那么Extract进程在抽取完数据后,直接投递到目标端。
与Pump进程相对应的叫Server Collector进程,这个进程不需要引起我们关注,因为在实际操作过程中无需对其进行任何配置,它运行在目标端,任务就是把Extract/Pump进程投递过来的数据块重新组装成Trail文件。
Replicat进程运行在目标端,是数据投递的最后一站,负责读取目标端Trail文件中的内容,并将解析其解析为DML或DDL语句,然后应用到目标数据库中。
1.2& Golden Gate拓扑结构
GoldenGate提供了灵活的应用方案,基于其先进、灵活的技术架构可以根据用户需求组成各种拓扑结构,如图1.2所示:
图1.2GoldenGate应用方案示意图
根据实际需求情况,我们需要进行的是一对一复制,且只是复制部分表数据,所以这里仅探讨一对一复制的安装配置,而且对于DDL复制的支持这里也不做研究。
2&&&&&&&单机à单机复制配置
2.1& 环境简介
ORACLE版本
10.122.0.110
10.122.0.113
WINDOWS 2003
2.2& 源端安装GoldenGate
创建GoldenGate安装目录并解压安装文件
unzip ogg112101_ggs_AIX_ppc_ora10.2_64bit.zip
tar –xf ggs_AIX_ppc_ora10.2_64bit.tar
注意:使用的安装包一定要与平台一致
设置环境变量
在用户参数文件中添加以下内容:
export GGATE_HOME=/u01/oracle/oracle/ogg
export LIBPATH=$GGATE_HOME:$ORACLE_HOME/lib
注意:添加后需使参数文件生效
HP及LINUX平台下用LD_LIBRARY_PATH替换LIBPATH
安装GoldenGate
进入OGG控制台创建OGG工作目录
然后在安装目录下执行 ./ggsci& 进入OGG控制台
执行命令 createsubdirs创建工作目录,显示如下:
GGSCI (NDSCDB1)1& create subdirs
Creatingsubdirectories under current directory /u01/oracle/oracle/ogg
Parameterfiles&&&&&&&&&&&&&&/u01/oracle/oracle/ogg/dirprm: already exists
Reportfiles&&&&&&&&&&&&&&&&&/u01/oracle/oracle/ogg/dirrpt: created
Checkpointfiles&&&&&&&&&&&&&/u01/oracle/oracle/ogg/dirchk: created
Process statusfiles&&&&&&&& &&&/u01/oracle/oracle/ogg/dirpcs: created
SQL scriptfiles&&&&&&&&&&&&&& /u01/oracle/oracle/ogg/dirsql:created
Databasedefinitions files&&& &&&/u01/oracle/oracle/ogg/dirdef: created
Extract datafiles&&&&&&&&&& &&&/u01/oracle/oracle/ogg/dirdat: created
Temporaryfiles&&&&&&&&&&&&&&/u01/oracle/oracle/ogg/dirtmp: created
Stdout files&&&&&&&&&&&&&&&&&&/u01/oracle/oracle/ogg/dirout: created
2.3&目标端安装GoldenGate
建立OGG安装目录,然后将压缩包解压到目录中,进入cmd控制台,创建工作目录,
操作步骤显示如下:
2.4& 配置源端数据库
数据库模式配置
源端数据库必须开启归档模式
开启最小附加日志
Alter databaseadd s
使用SELECT SUPPLEMENTAL_LOG_DATA_MIN FROM V$DATABASE;
可查看是否开启了最小附加日志;
源端数据库创建GoldenGate数据库用户并授权:(我们这里以ogg为例,使用其他亦可)
create user ogg identified by oracle defaulttablespace DATA_OL;
grant connect,resource,unlimit
grant executeon utl_
grant select any dictionary,sel
grant flashb
grant execute onDBMS_FLASHBACK
添加表级transdata
GGSCI (NDSCDB1) 2&dblogin userid ogg,password oracle
Successfully logged intodatabase.
GGSCI(NDSCDB1) 3& add trandata olive.ol$_objects
Logging of supplemental redo dataenabled for table OLIVE.OL$_OBJECTS.
2.5& 配置源端进程组
配置管理进程mgr:
GGSCI(NDSCDB1) 1& edit param mgr
(粘贴下面这段配置)
DYNAMICPORTLIST
--AUTOSTART ER *
AUTORESTART EXTRACT *,RETRIES5,WAITMINUTES 3
PURGEOLDEXTRACTS./dirdat/*,usecheckpoints, minkeepdays 3
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45
MANAGER进程参数配置说明:
PORT:指定服务监听端口;这里以7839为例,默认端口为7809
DYNAMICPORTLIST:动态端口:可以制定最大256个可用端口的动态列表,当指定的端口不可用时,管理进程将会从列表中选择一个可用的端口,源端和目标段的Collector、Replicat、GGSCI进程通信也会使用这些端口;
COMMENT:注释行,也可以用--来代替;
AUTOSTART:指定在管理进程启动时自动启动哪些进程;
AUTORESTART:自动重启参数设置:本处设置表示每3分钟尝试重新启动所有EXTRACT进程,共尝试5次;
PURGEOLDEXTRACTS:定期清理trail文件设置:本处设置表示对于超过3天的trail文件进行删除。
LAGREPORT、LAGINFO、LAGCRITICAL:
定义数据延迟的预警机制:本处设置表示MGR进程每隔1小时检查EXTRACT的延迟情况,如果超过了30分钟就把延迟作为信息记录到错误日志中,如果延迟超过了45分钟,则把它作为警告写到错误日志中。
启动管理进程:
GGSCI(NDSCDB1) 2& start mgr
Managerstarted.
查看进程状态可发现&MANAGER状态为&RUNNING:
GGSCI(NDSCDB1) 3& info all
Program&&&&&Status&&&&&Group&&&&&& Lag at Chkpt &Time Since Chkpt
MANAGER&&&&&RUNNING
配置抽取进程:
GGSCI(NDSCDB1) 12& add extract extnd,tranlog,begin now
EXTRACTadded.
GGSCI(NDSCDB1) 14& add exttrail ./dirdat/nd,extract extnd,megabytes 100
EXTTRAILadded.
Megabytes:指定队列大小,本处设置表示100M。
GGSCI(NDSCDB1) 15& edit params extnd
(粘贴下面这段配置)
EXTRACTextnd
setenv(NLS_LANG = "AMERICAN_AMERICA.UTF8")
SETENV(ORACLE_HOME = "/u01/oracle/oracle/product/10.2.0/db_1")
SETENV(ORACLE_SID = "ndtest")
USERIDogg, PASSWORD oracle
--GETTRUNCATES
REPORTCOUNTEVERY 1 MINUTES, RATE
DISCARDFILE./dirrpt/extnd.dsc,APPEND,MEGABYTES 1024
--THREADOPTIONS&&MAXCOMMITPROPAGATIONDELAY 60000 IOLATENS60000
DBOPTIONS&&ALLOWUNUSEDCOLUMN
WARNLONGTRANS2h,CHECKINTERVAL 3m
EXTTRAIL./dirdat/nd
--TRANLOGOPTIONSEXCLUDEUSER USERNAME
FETCHOPTIONSNOUSESNAPSHOT
TRANLOGOPTIONS&&CONVERTUCS2CLOBS
TABLEolive.ol$_objects
添加传输进程,配置参数
GGSCI(NDSCDB1) 2& add extract dpend,exttrailsource ./dirdat/nd
EXTRACTadded.
GGSCI(NDSCDB1) 3& add rmttrail F:\ogg\dirdat\nd, EXTRACT DPEND
RMTTRAILadded.
GGSCI(NDSCDB1) 4& edit params dpend
(粘贴下面这段配置)
EXTRACTdpend
SETENV(NLS_LANG = "AMERICAN_AMERICA.UTF8")
USERIDogg, PASSWORD oracle
RMTHOST10.122.0.113, MGRPORT 7839, compress
RMTTRAILF:\ogg\dirdat\nd
TABLEolive.ol$_
抽取进程和传输进程其实都是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:指定写入到本地的哪个队列;
SQLEXEC:在extract进程运行时首先运行一个SQL语句;
PASSTHRU:禁止extract进程与数据库交互,适用于Data Pump传输进程;
REPORT:定义自动定时报告;
STATOPTIONS:定义每次使用stat时统计数字是否需要重置;
REPORTCOUNT:报告已经处理的记录条数统计数字;
TLTRACE:打开对于数据库日志的跟踪日志;
DISCARDFILE:定义discardfile文件位置,如果处理中油记录出错会写入到此文件中;
DBOPTIONS:指定对于某种特定数据库所需要的特殊参数;
TRANLOGOPTIONS:指定在解析数据库日志时所需要的特殊参数,例如:对于裸设备,可能需要加入以下参数&rawdeviceoggset 0
WARNLONGTRANS:指定对于超过一定时间的长交易可以在gsserr.log里面写入警告信息,本处配置为每隔3分钟检查一次场交易,对于超过2小时的进行警告;
2.6& 配置目标数据库
目标库创建GoldenGate数据库用户并授权:
createuser ogg identified by oracle default tablespace DATA_OL;
grantconnect,resource,unlimit
grantexecute on utl_
grantselect any dictionary,sel
grantflashb
grantexecute on DBMS_FLASHBACK
添加checkpoint表
然后在参数文件中输入
GGSCHEMAogg
CHECKPOINTTABLEogg.checkpoint
2.7&配置目标端进程组
配置管理进程
配置复制进程
REPLICAT进程参数配置说明:
ASSUMETARGETDEFS:假定两端数据结构一致使用此参数;
SOURCEDEFS:假定两端数据结构不一致,使用此参数指定源端的数据结构定义文件,该文件需要由GlodenGate工具产生。
MAP:用于指定源端与目标端表的映射关系;
MAPEXCLUDE:用于使用在MAP中使用*匹配时排除掉指定的表;
REPERROR:定义出错以后进程的响应,一般可以定义为两种:
ABEND,即一旦出现错误即停止复制,此为缺省配置;
DISCARD,出现错误后继续复制,只是把错误的数据放到discard文件中。
DISCARDFILE:定义discardfile文件位置,如果处理中油记录出错会写入到此文件中;
SQLEXEC:在进程运行时首先运行一个SQL语句;
GROUPTRANSOPS:将小交易合并成一个大的交易进行提交,减少提交次数,降低系统IO消耗。
MAXTRANSOPS:将大交易拆分,每XX条记录提交一次。
2.8&启动进程进行数据同步
启动源端进程组
启动抽取进程和传输进程:
start extnd
start dpend
启动后使用info all查看进程状态,正常status应该RUNNING,显示如下:
GGSCI (NDSCDB1)11& info all
Program&&&& Status&&&&&Group&&&&&& Lag at Chkpt& Time Since Chkpt
MANAGER&&&& RUNNING&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
EXTRACT&&&& RUNNING&&&&DPEND&&&&&& 00:00:00&&&&& 00:15:32
EXTRACT&&&& RUNNING&&&&EXTND&&&&&& 00:00:00&&&&& 00:00:04
启动目标端进程
start repnd
显示如下:
到此OGG的安装配置就完成了,可以进行数据同步测试了。
3&&&&&&&RACà单机复制配置
3.1& 环境简介
ORACLE版本
10.123.112.201/10.123.112.202
LINUX rhel5 64位
10.123.112.235
LINUX rhel5 32位
3.2&源端安装OCFS2集群文件系统
RAC环境中为了实现高可用性,需将OGG安装在集群文件系统中,这样OGG可以访问RAC中的所有节点,我们这里测试采用OCFS2文件系统。
从下载与LINUX内核相符的OCFS2 RPM包
LINUX下执行uname –r查看系统内核版本 eg:
[oracle@node2ocfs]$ uname -r
2.6.18-92.el5
使用ROOT用户安装OCFS2的RPM包
[root@node1ocfs]# rpm -ivh ocfs2-tools-1.2.7-1.el5.x86_64.rpm \
ocfs2console-1.2.7-1.el5.x86_64.rpm\
ocfs2-2.6.18-92.el5-1.2.9-1.el5.x86_64.rpm
进入OCFS2控制台界面
[root@node1 ~]#ocfs2console
在出现的窗体中选择[Clucster]-[ConfigureNodes]在"NodeConfiguration"对话框中,输入2个专用互连的节点名、IP 地址、端口号后,选择 [Clucster]-[PropagateCluster Configuration] ,提示"Finished"。
配置后的信息显示如下:
在集群中的所有节点上以 root 用户帐户的身份运行以下命令& & export PATH=$PATH:/sbin:/usr/sbin& & /etc/init.d/o2cb enable
创建ocfs2文件系统,其中-N选项用于指明最多允许多少个节点同时使用此文件系统:
# mkfs -t ocfs2-N 2 /dev/sdh1
挂载分区:
# mount /dev/sdh1/ggate
配置启动自动载入(所有节点):& & export PATH=$PATH:/sbin:/usr/sbin& & chkconfig --add o2cb& & /etc/init.d/o2cb configure&在/etc/rc.local增加入下内容:&&& &&&
chown -Roracle:dba /ggatechmod -R 775 /ggate
3.3&源端安装GoldenGate
在GoldenGate安装目录(OCFS2目录/ggate)解压安装文件
unzipogg112101_fbo_ggs_Linux_x64_ora10g_64bit.zip
tar–xvf fbo_ggs_Linux_x64_ora10g_64bit.tar
设置环境变量
在用户参数文件中添加以下内容:
exportGGATE_HOME=/ggate
exportLD_LIBRARY_PATH=$GGATE_HOME:$ORACLE_HOME/lib
注意:添加后需使参数文件生效
安装GoldenGate
进入OGG控制台创建OGG工作目录
然后在安装目录下执行 ./ggsci& 进入OGG控制台
执行命令 createsubdirs创建工作目录,显示如下:
GGSCI(node1) 1& create subdirs
Creatingsubdirectories under current directory /ggate
Parameterfiles&&&&&&&&&&&&&&&&/ggate/dirprm:already exists
Reportfiles&&&&&&&&&&&&&&&&&&&/ggate/dirrpt:created
Checkpointfiles&&&&&&&&&&&&&&&/ggate/dirchk:created
Processstatus files&&&&&&&&&&&&&/ggate/dirpcs: created
SQLscript files&&&&&&&&&&&&&&&/ggate/dirsql:created
Databasedefinitions files&&&&&&&/ggate/dirdef: created
Extractdata files&&&&&&&&&&&&&&/ggate/dirdat: created
Temporaryfiles&&&&&&&&&&&&&&&/ggate/dirtmp:created
Stdoutfiles&&&&&&&&&&&&&&&&&&&/ggate/dirout:created
3.4&目标端安装GoldenGate
环境相同,安装方法与4.3一致,仅仅是安装位置不同,安装过程略,注意安装包与平台一致。
3.5&配置源端数据库
数据库模式配置
源端数据库必须开启归档模式
开启最小附加日志
Alterdatabase add s
使用SELECTSUPPLEMENTAL_LOG_DATA_MIN FROM V$DATABASE;
可查看是否开启了最小附加日志;
源端数据库创建GoldenGate数据库用户并授权:(我们这里以ogg为例,使用其他亦可)
createuser ogg identified by oracle default tablespace DATA_OL;
grantconnect,resource,unlimit
grantexecute on utl_
grantselect any dictionary,sel
grantflashb
grantexecute on DBMS_FLASHBACK
添加表级transdata
GGSCI(node1) 1& dblogin userid ogg,password oracle
Successfullylogged into database.
GGSCI(node1) 2& add trandata SCOTT.DEPT
Loggingof supplemental redo data enabled for table SCOTT.DEPT.
GGSCI(node1) 3& add trandata SCOTT.EMP
Loggingof supplemental redo data enabled for table SCOTT.EMP.
3.6& 配置源端进程组
配置管理进程mgr:
GGSCI(node1) 1& edit param mgr
(粘贴下面这段配置)
DYNAMICPORTLIST
--AUTOSTARTER *
AUTORESTARTEXTRACT *,RETRIES 5,WAITMINUTES 3
PURGEOLDEXTRACTS./dirdat/*,usecheckpoints, minkeepdays 3
LAGREPORTHOURS1
LAGINFOMINUTES30
LAGCRITICALMINUTES45
参数说明均与单点配置相同,参考3.5部分
启动管理进程:
GGSCI(node1) 2& start mgr
Managerstarted.
GGSCI(node1) 3& info all
Program&&&&&Status&&&&&Group&&&&&& Lag at Chkpt& Time Since Chkpt
MANAGER&&&&&RUNNING
配置抽取进程:
GGSCI(node1) 6& add extract extnd,tranlog,begin now,threads 2
EXTRACTadded.
GGSCI(node1) 7& add exttrail ./dirdat/nd,extract extnd,megabytes 100
EXTTRAILadded.
GGSCI(node1) 8& edit params extnd
(粘贴下面这段配置)
EXTRACTextnd
SETENV(NLS_LANG = "AMERICAN_AMERICA.UTF8")
SETENV(ORACLE_HOME = "/u01/app/oracle/product/10.2.0/db_1")
USERID ogg@RAC, PASSWORDoracle
--GETTRUNCATES
REPORTCOUNTEVERY 1 MINUTES, RATE
DISCARDFILE./dirrpt/extnd.dsc,APPEND,MEGABYTES 1024
--THREADOPTIONS&&MAXCOMMITPROPAGATIONDELAY 60000 IOLATENS60000
DBOPTIONS&&ALLOWUNUSEDCOLUMN
WARNLONGTRANS2h,CHECKINTERVAL 3m
EXTTRAIL./dirdat/nd
--TRANLOGOPTIONSEXCLUDEUSER USERNAME
FETCHOPTIONSNOUSESNAPSHOT
TRANLOGOPTIONS&&CONVERTUCS2CLOBS
TABLEscott.
TABLEscott.
注意:threads与RAC节点数相同即可,RAC中不再使用ORACLE_SID设置,而使用USERID ogg@RAC,注意两个节点均可连接数据库。
添加传输进程,配置参数
GGSCI(node1) 2& add extract dpend,exttrailsource ./dirdat/nd
EXTRACTadded.
GGSCI(node1) 3& add rmttrail /uo1/app/ogg/dirdat/nd, EXTRACT DPEND
RMTTRAILadded.
GGSCI(node1) 4& edit params dpend
(粘贴下面这段配置)
EXTRACTdpend
SETENV(NLS_LANG = AMERICAN_AMERICA.UTF8)
USERID ogg@RAC, PASSWORDoracle
RMTHOST10.123.112.235, MGRPORT 7839, compress
RMTTRAIL/uo1/app/ogg/dirdat/nd
TABLEscott.
TABLEscott.
3.7&配置目标数据库
目标库创建GoldenGate数据库用户并授权:
createuser ogg identified by oracle default tablespace USERS;
grantconnect,resource,unlimit
grantexecute on utl_
grantselect any dictionary,sel
grantflashb
grantexecute on DBMS_FLASHBACK
添加checkpoint表
GGSCI(sun.linux) 2& edit params GLOBALS
然后在参数文件中输入
GGSCHEMAogg
CHECKPOINTTABLEogg.checkpoint
GGSCI(sun.linux) 4& dblogin userid ogg,password oracle
Successfullylogged into database.
GGSCI(sun.linux) 5& add checkpointtable ogg.checkpoint
Successfullycreated checkpoint table ogg.checkpoint.
3.8&配置目标端进程组
配置MGR参数
GGSCI(sun.linux) 6& edit params mgr
(粘贴下面这段配置)
DYNAMICPORTLIST
--AUTOSTARTER *
AUTORESTARTEXTRACT *,RETRIES 5,WAITMINUTES 3
PURGEOLDEXTRACTS./dirdat/*,usecheckpoints, minkeepdays 3
LAGREPORTHOURS1
LAGINFOMINUTES30
LAGCRITICALMINUTES45
配置复制队列
GGSCI(sun.linux)8& add replicat repnd,exttrail/uo1/app/ogg/dirdat/nd,checkpointtable ogg.checkpoint
REPLICATadded.
GGSCI(sun.linux) 10& edit params repnd
(粘贴下面这段配置)
REPLICATrepnd
SETENV(NLS_LANG = AMERICAN_AMERICA.UTF8)
USERIDogg, PASSWORD oracle
ASSUMETARGETDEFS
REPERRORdefault,discard
discardfile./dirrpt/repnd.dsc,append,megabytes 50
mapscott.*,target pmsbi.*;
3.9&启动进程进行数据同步
启动源端进程组
启动抽取进程和传输进程:
startextnd
startdpend
启动后使用info all查看进程状态,正常status应该RUNNING,显示如下:
GGSCI(node1) 19& info all
Program&&&&&Status&&&&&Group&&&&&& Lag at Chkpt& Time Since Chkpt
MANAGER&&&&&RUNNING&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
EXTRACT&&&&&RUNNING&&&&DPEND&&&&&& 00:00:00&&&&& 00:00:09&&&
EXTRACT&&&&&RUNNING&&&&EXTND&&&&&& 00:00:00&&&&& 00:00:04
启动目标端进程
startrepnd
显示如下:
GGSCI(sun.linux) 2& info all
Program&&&&&Status&&&&&Group&&&&&& Lag at Chkpt& Time Since Chkpt
MANAGER&&&&&RUNNING&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
REPLICAT&&&&RUNNING&&&&REPND&&&&&& 00:00:00&&&&& 00:00:03&
到此RAC到单点OGG的安装配置就完成了,可以进行数据同步测试了。
4&&&&&&&RACà单机下的HA配置
&& &第4部分的RACà单机的配置仅仅完成了数据复制的功能,不包含高可用的配置,当运行GoldenGate的节点出现故障时复制功能就将终止,如何使复制功能继续可用呢,有如下两种方式:
4.1&节点故障的手工处理方式
因为GoldenGate&在共享目录下,我们可以通过任一个节点连接到共享目录,启动GoldenGate运行界面。如果其中一个节点失败,导致GoldenGate进程中止,可以直接手工在另外一个节点启动进程组即可。
4.2&GoldenGate的HA配置
我们可以通过使用CRS来管理GoldenGate资源组,并且使用RAC的vip连接到GoldenGate,一旦数据库的某一个节点宕掉,Oracleclusterware将自动切换到另一个可用节点。
添加一个应用程序VIP资源
为GoldenGate vip资源创建一个profile
[oracle@node1ggate]$ cd $ORA_CRS_HOME/bin
[oracle@node1bin]$ pwd
/u01/app/oracle/product/10.2.0/crs_1/bin
[oracle@node1 bin]$crs_profile –create ggvip –t application \
–a /u01/app/oracle/product/10.2.0/crs_1\
-o oi=eth0,ov=192.168.73.203,on=255.255.255.0
其中:ggvip为创建的应用程序vip的名字
把这个资源注册到CRS:
[oracle@node1 bin]$crs_register ggvip
把vip 的所有权给root,在root用户下执行:
[root@node1 bin]#./crs_setperm ggvip –o root
为oracle用户分配启动这个资源的权限:
[root@node1 bin]#./crs_setperm ggvip –u user:oracle:r-x
通过oracle用户启动这个资源:
[oracle@node1bin]$ crs_start ggvip
Attempting tostart `ggvip` on member `node1`
Start of`ggvip` on member `node1` succeeded.
查看资源状态显示如下:
[oracle@node1bin]$ crs_stat ggvip -t
Name&&&&&&&&&& Type&&&&&&&&&& Target&&& State&&&&Host&&&&&&&
------------------------------------------------------------
ggvip&&&&&&&&& application&&& ONLINE&&&ONLINE&&& node1
创建一个action程序
action程序我们这里放到共享磁盘上,action程序最少需要可以接受三个参数:start,stop,check
start和stop:返回0成功,1 失败;
check&&&& :返回0表示GoldenGate在运行,1 表示不运行;
下面为示例程序 gg_action.scr的内容:
#set the OracleGoldengate installation directory
exportGGS_HOME=/ggate
#set the oraclehome to the database to ensure GoldenGate will get the
#rightenvironment settings to be able to connect to the database
exportORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
#specify delayafter start before checking for successful start
start_delay_secs=5
#Include theGoldenGate home in the library path to start GGSCI
exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:${GGS_HOME}:${LD_LIBRARY_PATH}
#check_processvalidates that a manager process is running at the PID
#thatGoldenGate specifies.
check_process() {
if ( [ -f"${GGS_HOME}/dirpcs/MGR.pcm" ] )
& pid=`cut -f8"${GGS_HOME}/dirpcs/MGR.pcm"`
& if [ ${pid} = `ps -e |grep ${pid} |grep mgr|cut -d " " -f2` ]
&&& #manager process is running on the PID exitsuccess
&&& exit 0
& if [ ${pid} = `ps -e |grep ${pid} |grep mgr|cut -d " " -f1` ]
&&& #manager process is running on the PID exitsuccess
&&& exit 0
&&& #manager process is not running on the PID
&&& exit 1
& #manager is not running because there is noPID file
#call_ggsci isa generic routine that executes a ggsci command
call_ggsci () {
& ggsci_command=$1
& ggsci_output=`${GGS_HOME}/ggsci && EOF
& ${ggsci_command}
case $1 in
& #start manager
& call_ggsci 'start manager'
& #there is a small delay between issuing thestart manager command
& #and the process being spawned on the OS.wait before checking
& sleep ${start_delay_secs}
& #check whether manager is running and exitaccordingly
& check_process
& #attempt a clean stop for all non-managerprocesses
& #call_ggsci 'stop er *'
& #ensure everything is stopped
& call_ggsci 'stop er *!'
& #call_ggsci 'kill er *'
& #stop manager without (y/n) confirmation
& call_ggsci 'stop manager!'
& #exit success
& check_process
& #attempt a clean stop for all non-managerprocesses
& #call_ggsci 'stop er *'
& #ensure everything is stopped
& #call_ggsci 'stop er *!'
& #in case there are lingering processes
& call_ggsci 'kill er *'
& #stop manager without (y/n) confirmation
& call_ggsci 'stop manager!'
& #exit success
& #ensure everything is stopped
& call_ggsci 'stop er *!'
& #in case there are lingering processes
& call_ggsci 'kill er *'
& #stop manager without (y/n) confirmation
& call_ggsci 'stop manager!'
& #exit success
添加一个应用程序profile
[oracle@node1 ggate]$cd $ORA_CRS_HOME/bin
[oracle@node1bin]$ pwd
/u01/app/oracle/product/10.2.0/crs_1/bin
[oracle@node1 bin]$crs_profile –create GG_app –t application \
–r ggvip –a/ggate/gg_action.scr –o ci=10
其中:-r ggvip表示ggvip必须在GoldenGate启动之前运行,
-a /ggate/gg_action.scr指定action 脚本的位置,在每个节点必须都可用
–o ci=10:检查的时间间隔设置为10
把这个资源注册到CRS:
[oracle@node1 bin]$crs_register GG_app
把vip 的所有权给root,在root用户下执行:
[root@node1 bin]#./crs_setperm ggvip –o oracle
为oracle用户分配启动这个资源的权限:
[root@node1 bin]#./crs_setperm GG_app –u user:oracle:r-x
通过oracle用户启动这个资源:
[oracle@node1bin]$ crs_start GG_app
Attempting tostart `GG_app` on member `node1`
Start of`GG_app` on member `node1` succeeded.
查看资源状态显示如下:
[oracle@node1bin]$ crs_stat GG_app -t
Name&&&&&&&&&& Type&&&&&&&&&& Target&&& State &&&&Host&&&&&&&
------------------------------------------------------------
GG_app&&&&&&&& application&&& ONLINE&&&ONLINE&&& node1&
测试节点迁移
在测试环境中可以使用crs_relocate –fGG_app使它强行漂移:过程显示如下:
[oracle@node1~]$ crs_stat -t
Name&&&&&&&&&& Type&&&&&&&&&& Target&&& State&&&&Host&&&&&&&
------------------------------------------------------------
GG_app&&&&& &&&application&&&ONLINE&&& ONLINE&&& node1&&&&&&
ggvip&&&&&&& &&&application&&&ONLINE&&& ONLINE&&& node1&&&&&&
ora....AC1.srv&& &application&&&ONLINE &&&ONLINE&&& node1&&&&&&
ora....AC2.srv&& &application&&&ONLINE&&& ONLINE&&& node2&&&&&&
ora.RAC.RAC.cs application&&& ONLINE&&&ONLINE&&& node2&&&&&&
ora....C1.inst&& &application&&&ONLINE&&& ONLINE&&& node1&&&&&&
ora....C2.inst&& &application&&&ONLINE&&& ONLINE&&& node2&&&&&&
ora.RAC.db&&&& application&&& ONLINE&&&ONLINE&&& node1&&&&&&
ora....E1.lsnr&& &application&&&ONLINE&&& ONLINE&&& node1&&&&&&
ora.node1.gsd &&application&&&ONLINE&&& ONLINE&&& node1&&&&&&
ora.node1.ons &&application&&&ONLINE&&& ONLINE&&& node1&&&&&&
ora.node1.vip &&application&&&ONLINE&&& ONLINE&&& node1&&&&&&
ora....E2.lsnr& &&application&&&ONLINE&&& ONLINE&&& node2&&&&&&
ora.node2.gsd &&application&&&ONLINE&&& ONLINE&&& node2&&&&&&
ora.node2.ons &&application&&&ONLINE&&& ONLINE&&&node2&&&&&&
ora.node2.vip &&application&&&ONLINE&&& ONLINE&&& node2&&&&&&
[oracle@node1 ~]$ crs_relocate -f GG_app
Attempting to stop `GG_app` on member `node1`
Stop of `GG_app` on member `node1` succeeded.
Attempting to stop `ggvip` on member `node1`
Stop of `ggvip` on member `node1` succeeded.
Attempting to start `ggvip` on member `node2`
Start of `ggvip` on member `node2` succeeded.
Attempting to start `GG_app` on member `node2`
Start of `GG_app` on member `node2` succeeded.
[oracle@node1~]$ crs_stat -t
Name&&&&&&&&&& Type&&&&&&&&&& Target&&& State&&&&Host&&&&&&&
------------------------------------------------------------
GG_app&&&&&&&& application&&& ONLINE&&&ONLINE&&& node2&&&&&&
ggvip&&&&&& &&&&application&&& ONLINE&&&ONLINE&&& node2&&&&&&
ora....AC1.srv&& &application&&&ONLINE&&& ONLINE&&& node1&&&&&&
ora....AC2.srv&& &application&&&ONLINE&&& ONLINE&&& node2&&&&&&
ora.RAC.RAC.cs &application&&&ONLINE&&& ONLINE&&& node2&&&&&&
ora....C1.inst&&& &application&&&ONLINE&&& ONLINE&&& node1&&&&&&
ora....C2.inst&&& &application&&&ONLINE&&& ONLINE&&& node2&&&&&&
ora.RAC.db&& &&&application&&&ONLINE&&& ONLINE&&& node1&&&&&&
ora....E1.lsnr&&& &application&&&ONLINE&&& ONLINE&&& node1&&&&&&
ora.node1.gsd &&&application&&&ONLINE&&& ONLINE&&&node1&&&&&&
ora.node1.ons &&&application&&&ONLINE&&& ONLINE&&& node1&&&&&&
ora.node1.vip &&&application&&&ONLINE&&& ONLINE&&& node1&&&&&&
ora....E2.lsnr&&& &application&&&ONLINE&&& ONLINE&&& node2&&&&&&
ora.node2.gsd &&&application&&&ONLINE&&& ONLINE&&& node2&&&&&&
ora.node2.ons &&&application&&&ONLINE&&& ONLINE&&& node2&&&&&&
ora.node2.vip &&&application&&&ONLINE&&& ONLINE&&& node2&&&&&&
可以看到GoldenGate成功转移到2节点运行了。
5&&&&&&&常见错误及解决方法
5.1&OGG-00446
启动源端抽取进程extnd,ggserr.log错误显示如下:
1:11:38&&ERROR&& OGG-00446&Oracle GoldenGate Capture for Oracle, extnd.prm:& Could not find archived log for sequence45835 thread 1 under default destinations SQL &SELECT& name&&&FROM v$archived_log&& WHEREsequence# = :ora_seq_no AND&&&&&&&& thread#= :ora_thread AND&&&&&&&& resetlogs_id =:ora_resetlog_id AND&&&&&&&& archived ='YES' AND&&&&&&&& deleted = 'NO' AND&&&&&&&& name not like '+%'&&&&&&&& AND standby_dest = 'NO' &, errorretrieving redo file name for sequence 45835, archived = 1, use_alternate =0Not able to establish initial position for begin time
导致原因:早期归档日志被删除或已备份,导致找不到归档日志文件;
处理方法:
将备份的归档日志恢复到归档日志目录下,即可解决错误;
测试库可以指定抽取进程从某个时间点开始读取日志,跳过已删除的归档日志文件,命令如下:alterextract extnd,begin
5.2&OGG-01223
启动源端传输进程DPEND,ggserr.log错误显示如下:
1:43:50&&WARNING OGG-01223& Oracle GoldenGate Capture for Oracle,dpend.prm:& TCP/IP error 79 (Connectionrefused).
1:45:01&&WARNING OGG-01223& Oracle GoldenGate Capture for Oracle,dpend.prm:& TCP/IP error 79 (Connectionrefused).
导致原因:因为目标端110上MGR进程没有启动,导致报错
处理方法:
在目标端启动startmgr启动进程后,再启动源端的传输进程DPEND,错误消失,文件顺利传输过来了。
正常的日志如下:
4:31:51&&INFO&&& OGG-00993&Oracle GoldenGate Capture for Oracle, dpend.prm:& EXTRACT DPEND started.
4:33:13 &INFO&&& OGG-01226&Oracle GoldenGate Capture for Oracle, dpend.prm:& Socket buffer size set to 27985 (flush size27985).
4:33:26&&INFO&&& OGG-01052&Oracle GoldenGate Capture for Oracle, dpend.prm:& No recovery is required for target file F:\ogg\dirdat\nd000000,at RBA 0 (file not opened).
4:33:26&&INFO&&& OGG-01478&Oracle GoldenGate Capture for Oracle, dpend.prm:& Output file F:\ogg\dirdat\nd is using formatRELEASE 11.2.
5.3&OGG-01224
启动源端传输进程DPEND,ggserr.log错误显示如下:
5:33:10&&ERROR&& OGG-01224&Oracle GoldenGate Capture for Oracle, dpend.prm:& TCP/IP error 113 (No route to host).
5:33:10&&ERROR&& OGG-01668&Oracle GoldenGate Capture for Oracle, dpend.prm:& PROCESS ABENDING.
导致原因:因为目标端235上的防火墙没有关闭,导致报错
处理方法:
在目标端机器关闭防火墙后,再启动源端的传输进程DPEND,错误消失,文件顺利传输过来了。
5.4&OGG-01031
启动源端传输进程DPEND,ggserr.log错误显示如下:
15:09:39& ERROR&&OGG-01031& Oracle GoldenGateCapture for Oracle, dpend.prm:& There isa problem in network communication, a remote file problem, encryption keys fortarget and source do not match (if using ENCRYPT) or an unknown error. (Replyreceived is Unable to open file "/uo1/app/ogg/dirdat/nd000004" (error2, No such file or directory)).
15:09:41& ERROR&&OGG-01668& Oracle GoldenGateCapture for Oracle, dpend.prm:& PROCESSABENDING.目标端ggserr.log错误显示如下:
5:06:30& WARNING OGG-01223& Oracle GoldenGate Collector for Oracle:& Unable to lock file"/uo1/app/ogg/dirdat/nd000004" (error 11, Resource temporarilyunavailable).& Lock currently held byprocess id (PID) 13854.
5:06:30& WARNING OGG-01223& Oracle GoldenGate Collector for Oracle:& Unable to open file"/uo1/app/ogg/dirdat/nd000004" (error 2, No such file or directory).
导致原因:可能是网络出现过故障,OGG源端的Data Pump进程与目标断了联系,目标端mgr为其启动的server进程一直还在运行,下次data pump重启时目标mgr会试图生成另外一个server进程,这样两个进程会争同一个队列文件。
处理方法:
1、停掉源端的所有data pump,使用ps –ef|grep server(或OGG安装目录)看看是不是还有OGG的server进程在跑,如果有,杀死它(一定要确认源端data pump全停掉,并且杀的是server进程,不要杀其它extract/replicat/mgr等),重启源端data pump即可。
2、可能是目标端的trail file出问题了,前滚重新生成一个新的队列文件
SEND EXTRACT xxx ETROLLOVER
或者:alter extract xxx etrollover
xxx为datapump的名称
5.5&OGG-01154
错误信息: 15:53:57& WARNINGOGG-01154& Oracle GoldenGate Delivery forOracle, repya.prm:& SQL error 14402mapping EPMA.D_METER to E
PMA.D_METER OCIError ORA-14402: updating partition key column would cause a partition change(status = 14402), SQL &UPDATE "EPMA"."D_METER" SET"PR_ORG" = :a1,"BELONG_DEPT" = :a2 WHERE"METER_ID" = :b0&.
导致原因:源端更新了分区列,但目标端没有打开行移动,导致更新时报错;
处理方法:SQLPLUS&alter table SCHEMA.TABLENAME
阅读(...) 评论()}

我要回帖

更多关于 无限穿越之本源系统 的文章

更多推荐

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

点击添加站长微信