今天花了整整一天,把Oracle GoldenGate配置了起来,期间遇到无数的问题,但是都是逢凶化吉,通过文档和Google搞定了,如下做个小小的总结。至于GoldenGate的配置过程暂且不表,待后续在做详细介绍。
源数据库在OEL5.4 64bit的虚拟机上,数据库版本是11.2.0.3
目标数据库也是同一个虚拟机上的数据库。
建了两个不同的schema,jjs和jjt
遇到的几个异常和解决方法在这篇中都有记载,现在转录如下:
Scenario 1: Extract parameter file is invalid.
EXTRACT ext1
USERID ggate, PASSWORD ggate
TABLE jjs.j1
Source Context :
SourceModule : [ggapp.parmscn]
SourceID : [$Id: //depot/releases/OpenSys/v10.4.0/src/gglib/ggapp/parmscn.c#1 $]
SourceFunction : [ci_get_next_cmd]
SourceLine : [1800]
ThreadBacktrace : [1] elements
: [C:\GoldenGate\extract.exe(ERCALLBACK+0x1193d0) [0x00589300]]
2010-04-13 13:20:12 GGS ERROR 101 Parameter unterminated.
2010-04-13 13:20:12 GGS ERROR 190 PROCESS ABENDING.
The parameter file should be terminated with a semi colon.
参数文件最后必须以一个分号结束。
Scenario 2: RMTTRAIL not specified
EXTRACT ext1
USERID ggate,PASSWORD ggate
TABLE jjs.j1;
Source Context :
SourceModule : [er.main]
SourceID : [$Id: //depot/releases/OpenSys/v10.4.0/src/app/er/rep.c#19 $]
SourceFunction : [get_infile_params]
SourceLine : [10436]
ThreadBacktrace : [1] elements
: [C:\GoldenGate\extract.exe(ERCALLBACK+0x1193d0) [0x00589300]]
2010-04-13 13:22:51 GGS ERROR 101 RMTTRAIL must be specified before FILE/TABLE/SEQUENCE.
2010-04-13 13:22:51 GGS ERROR 190 PROCESS ABENDING.
错误提示十分清楚了,RMTTRAIL必须在FILE/TABLE/SEQUENCE之前定义。
Scenario 3:- RMTHOST not specified
EXTRACT ext1
USERID ggate,PASSWORD *****
RMTTRAIL c:\purge
Source Context :
SourceModule : [er.extrout]
SourceID : [$Id: //depot/releases/OpenSys/v10.4.0/src/app/er/extrout.c#4 $]
SourceFunction : [get_ext_params]
0ASource Context :
SourceModule : [er.main]
SourceID : [$Id: //depot/releases/OpenSys/v10.4.0/src/app/er/rep.c#19 $]
SourceFunction : [get_infile_params]
SourceLine : [10436]
ThreadBacktrace : [1] elements
: [C:\GoldenGate\extract.exe(ERCALLBACK+0x1193d0) [0x00589300]]
2010-04-13 13:22:51 GGS ERROR 101 RMTTRAIL must be specified before FILE/TABLE/SEQUENCE.
2010-04-13 13:22:51 GGS ERROR 190 PROCESS ABENDING.
错误提示十分清楚了,RMTTRAIL必须在FILE/TABLE/SEQUENCE之前定义。
Scenario 3:- RMTHOST not specified
EXTRACT ext1
USERID ggate,PASSWORD *****
RMTTRAIL c:\purge
Source Context :
SourceModule : [er.extrout]
SourceID : [$Id: //depot/releases/OpenSys/v10.4.0/src/app/er/extrout.c#4 $]
SourceFunction : [get_ext_params]
SourceLine : [2788]
ThreadBacktrace : [1] elements
: [C:\GoldenGate\extract.exe(ERCALLBACK+0x1193d0) [0x00589300]]
2010-04-13 13:32:21 GGS ERROR 101 No RMTHOST has been specified yet.
2010-04-13 13:32:21 GGS ERROR 190 PROCESS ABENDING.
错误明显,必须定义RMTHOST参数,指定目标在哪里。
Scenario 4: – After specifying RMTHOST, came to know that
2010-04-13 13:37:18 GGS ERROR 101 Trails cannot be used when SOURCEISTABLE/SOURCEISFILE is specified.
2010-04-13 13:37:18 GGS ERROR 190 PROCESS ABENDING.
经历这么多错误之后,最后来看看成功的配置文件是如何写的。
EXTRACT ext1
USERID ggate,PASSWORD ggate
RMTHOST localhost, MGRPORT 9500
RMTFILE c:\purge\rmtfilerr
TABLE jss.j1;
支持extract可以成功起来,但是replicat还是有问题,数据无法成功复制。
第二阶段,尝试了把源和目标分开,目标设定在了宿主Windows7的机器上,目标数据库是一个Windows7 64bit平台上的11.2.0.1版本。
但是在把源和目标好之后,发现每次启动extract的时候,Windows7上的replicat
参考:
http://www.rickyzhu.com/2282_goldengate-exception.html#sthash.dbs6bqFz.dpuf