欢迎光临
我们一直在努力

OGG常见报错及解决

 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为了追踪GGlicense情况而设置的一个参数,将这个参数设置为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重新设置replicatRBA

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或者OGGBUG造成的,我们需要建一张表结构一模一样的表以应付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常见报错及解决

分享到:更多 ()

评论 抢沙发

评论前必须登录!

 

oracle