1) 报错信息:OGG-00665
2014-11-11 22:23:06 ERROR OGG-00665 Oracle GoldenGate Delivery for Oracle, rep_app.prm: OCI Error executing single row select (status = 4060-ORA-04060: insufficient privileges to execute DBMS_STREAMS.SET_TAG
ORA-06512: at “SYS.DBMS_STREAMS”, line 16
ORA-06512: at line 1), SQL<BEGIN dbms_streams.set_tag(:1); END;>.
2014-11-11 22:23:06 ERROR OGG-01668 Oracle GoldenGate Delivery for Oracle, rep_app.prm: PROCESS ABENDING.
解决办法:
SQL> grant EXECUTE_CATALOG_ROLE to goldengate;
Grant succeeded.
2) 报错信息:
2014-11-11 22:26:36 ERROR OGG-00446 Oracle GoldenGate Delivery for Oracle, rep_app.prm: Checkpoint table goldengate.rep_app_ckpt does not exist. Create this table with the ADD CHECKPOINTTABLE command in GGSCI.
2014-11-11 22:26:36 ERROR OGG-01668 Oracle GoldenGate Delivery for Oracle, rep_app.prm: PROCESS ABENDING.
解决办法:按照提示添加checkpoint:
GGSCI (adg as goldengate@orcl) 20> ADD CHECKPOINTTABLE rep_app_ckpt
Successfully created checkpoint table rep_app_ckpt.
3) 报错信息:
2014-11-11 22:28:47 ERROR OGG-02091 Oracle GoldenGate Delivery for Oracle, rep_app.prm: Operation not supported because enable_goldengate_replication is not set to true.
2014-11-11 22:28:47 ERROR OGG-01668 Oracle GoldenGate Delivery for Oracle, rep_app.prm: PROCESS ABENDING.
解决办法:
Oracle为了追踪GG的license情况而设置的一个参数,将这个参数设置为true:
SQL> alter system set enable_goldengate_replication=true;
System altered.
4) 报错信息:
2014-11-12 15:23:25 ERROR OGG-00446 Oracle GoldenGate Delivery for Oracle, rep_app.prm: No data selecting position from checkpoint table goldengate.rep_app_ckpt for group ‘REP_APP’, key 2129923431 (0x7ef40d67), SQL <>.
2014-11-12 15:23:25 ERROR OGG-01668 Oracle GoldenGate Delivery for Oracle, rep_app.prm: PROCESS ABENDING.
解决办法:
报这个错是因为在checkpoint文件无法定位rba,需要手动设置下rba。步骤如下:
a) 备份./dirchk下的checkpoint文件
b) 获取当前checkpoint信息:
GGSCI (adg) 1> info rep_app
REPLICAT REP_APP Last Started 2014-11-11 23:02 Status ABENDED
Checkpoint Lag 01:07:48 (updated 20:13:38 ago)
Log Read Checkpoint File ./dirdat/t1000000
2014-11-11 21:54:59.524518 RBA 41110612
c) 基于以上RBA重新设置replicat的RBA
GGSCI (adg) 2> alter replicat rep_app extseqno 0,extrba 41110612
REPLICAT altered.
d) 验证replicat:
GGSCI (adg) 4> info rep_app
REPLICAT REP_APP Initialized 2014-11-12 19:17 Status STOPPED
Checkpoint Lag 00:00:00 (updated 00:00:18 ago)
Log Read Checkpoint File ./dirdat/t1000000
First Record RBA 41110612
e) 重新启动replicat:
GGSCI (adg) 5> start replicat rep_app
f) 检查replicat运行情况:
GGSCI (adg) 5> info rep_app
g) 检查是否有新行插入到Checkpoint table。
5) 报错信息:
2014-11-12 19:18:26 ERROR OGG-00199 Oracle GoldenGate Delivery for Oracle, rep_app.prm: Table ZT_168.SYS_EXPORT_SCHEMA_05 does not exist in target database.
2014-11-12 19:18:26 ERROR OGG-01668 Oracle GoldenGate Delivery for Oracle, rep_app.prm: PROCESS ABENDING.
解决办法:
SYS_EXPORT_SCHEMA_*表是expdp时在源数据库自动创建的一张表,expdp任务结束后会自动删除,按照正常步骤做GG初始化应该不会出现这个报错,否则有可能是Oracle或者OGG的BUG造成的,我们需要建一张表结构一模一样的表以应付OGG的动作:
Create table ZT_168.SYS_EXPORT_SCHEMA_05 as select * from ZT_168.SYS_EXPORT_SCHEMA_04;
6) 报错信息:
2014-11-12 19:43:06 WARNING OGG-01003 Oracle GoldenGate Delivery for Oracle, rep_app.prm: Repositioning to rba 82378684 in seqno 0.
2014-11-12 19:43:06 ERROR OGG-01296 Oracle GoldenGate Delivery for Oracle, rep_app.prm: Error mapping from ZT_168.TBL_RECAL_LOG to ZT_168.TBL_RECAL_LOG.
2014-11-12 19:43:06 ERROR OGG-01668 Oracle GoldenGate Delivery for Oracle, rep_app.prm: PROCESS ABENDING.
解决办法:
在执行到RBA82378684是报错,我们可以通过logdump工具查看这个位置的信息:
Logdump 194 >pos 82378684
Reading forward from RBA 82378684
Logdump 195 >n
2014/11/12 00:30:54.299.407 Insert Len 55 RBA 82378684
Name: ZT_168.TBL_RECAL_LOG
After Image: Partition 4 G s
0000 000a 0000 0006 3936 3739 3439 0001 000c 0000 | ……..967949……
0008 c8d5 bde1 bfaa cabc 0002 0015 0000 3230 3134 | …………….2014
2d31 312d 3132 3a30 303a 3331 3a31 36 | -11-12:00:31:16
Logdump 196 >
可以看到在这个位置的动作是一个Insert插入动作,insert报错一般是主外键或者唯一性约束的原因造成的,查看源库和目标库都都已经有同样的记录了:
select * from ZT_168.TBL_RECAL_LOG where rclid =967949
1 967949 日结开始 2014/11/12 0:31:16
并且967949对应的列上有一个主键。
在我的环境里面RBA对应的SQL已经apply到目标库了,于是将replicat启动csn调整为与目标库rman的恢复点scn:
GGSCI (adg) 10> start replicat rep_app, aftercsn 40844562;
Sending START request to MANAGER …
REPLICAT REP_APP starting
7) 报错信息:
2014-11-12 19:50:29 ERROR OGG-01377 Oracle GoldenGate Delivery for Oracle, rep_app.prm: CSN format supplied does not match the CSN format in the trail. CSN supplied 40844562;. Expecting ORACLE format CSN.
2014-11-12 19:50:29 ERROR OGG-01668 Oracle GoldenGate Delivery for Oracle, rep_app.prm: PROCESS ABENDING.
解决方法:
Ggsci的命令结束一般不带“;“的,出现这个报错说明csn数字后面可能加了”;“这种字符,使用正确的命令即可:
GGSCI (adg) 10> start replicat rep_app, aftercsn 40844562
Sending START request to MANAGER …
REPLICAT REP_APP starting
8) 报错信息:
随便找一个非业务表,测试插入:
SQL> alter table SYS_EXPORT_SCHEMA_01 disable constraint SYS_C0025025;
Table altered.
SQL> insert into SYS_EXPORT_SCHEMA_01 select * from SYS_EXPORT_SCHEMA_01;
2641 rows created.
SQL>commit;
发现后台报错:
2014-11-12 19:57:11 ERROR OGG-01296 Oracle GoldenGate Delivery for Oracle, rep_app.prm: Error mapping from ZT_168.SYS_EXPORT_SCHEMA_01 to ZT_168.SYS_EXPORT_SCHEMA_01.
2014-11-12 19:57:11 ERROR OGG-01668 Oracle GoldenGate Delivery for Oracle, rep_app.prm: PROCESS ABENDING.
解决办法:
源库禁用了表SYS_EXPORT_SCHEMA_01的主键,而目标库没有禁用,违反了唯一性约束导致报错,在目标库同样禁用主键约束即可:
alter table SYS_EXPORT_SCHEMA_01 disable constraint SYS_C0025025;
9) 报错信息:
删除replicat的时候报错:
GGSCI (adg) 11> delete replicat REP_APP;
ERROR: Could not open checkpoint file /home/oracle/ogg/dirchk/REP_APP;.cpr, mode 0 (error 2, No such file or directory).
[oracle@adg dirchk]$ ls -ltrh
total 112K
-rw-r—–. 1 oracle oinstall 34K Nov 13 15:31 REP_APP.cpr
-rw-r—–. 1 oracle oinstall 34K Nov 13 17:23 REP_APP
[oracle@adg dirchk]$ ls -ltrh
解决方法:
当时排错花了足足半个小时,后来一想还是‘;’的原因:在ggsci中不需要像SQL一样加‘;’作为结束标记,如果在末尾加了‘;‘,GG会把分号一并加到replicat名称中。在上面的问题中,GG会去删除replicat “REP_APP;“对应的检查点文件,而不是删除replicat “REP_APP”对应的检查点文件,解决办法是去掉‘;’,重新执行删除操作:
GGSCI (adg as goldengate@orcl) 15> delete replicat REP_APP
Deleted REPLICAT REP_APP.
10) 报错信息:
Ggser.err报错:2014-11-13 17:32:29 ERROR OGG-00664 Oracle GoldenGate Delivery for Oracle, rep_app.prm: OCI Error creating temporary LOB to retrieve default LOB chunk size (status = 25153-ORA-25153: Temporary Tablespace is Empty).
2014-11-13 17:32:29 ERROR OGG-01668 Oracle GoldenGate Delivery for Oracle, rep_app.prm: PROCESS ABENDING.
解决办法:
RMAN还原到目标库之后,没有手动为临时表空间添加临时文件,当源库有需要利用临时表空间的操作过来后(例如LOB的相关操作),就会执行失败,此时只要手动为临时表空间添加临时文件即可以解决。
可以利用类似以下SQL批量生产添加脚本再执行即可:
select ‘alter tablespace ‘||name ||’ add tempfile ”/data/SZDB/datafile/’||name||’.dbf” size 100M;’ from v$tablespace where name like ‘%TEMP%’;
未经允许不得转载:SRE空间 » OGG常见报错及解决
评论前必须登录!
注册