你是否正在寻找关于goldengate的内容?让我把最简洁的东西奉献给你:
1.thread与sid不对应
问题描述:
GGS ERROR 500 抽取进程extu1起不来,提示找不到thread2的归档(没有保留哪天具体的报错信息)
问题分析:
rac曾经删除又重建一个节点,故thread2对应的实例已经没有了,更没有它的归档了(之前是将该实例删除前的归档日志来骗过gg,但是后来这种方式不管用了)
问题处理:
在extu1的参数文件中跳过thread2的同步:
1).找出thread2对应gg的thread号
select distinct(thread#) from V$log;
info extract extu1,showch
2).跳过该thread:THREADOPTIONS PROCESSTHREADS EXCEPT 3
2.表结构或数据不一致
问题描述:
2011-07-08 20:42:12 GGS ERROR 218 Error mapping from user.TMQAPR to user.TMQAPR.
问题分析:
出现该问题一般都是由于同步的源和目标表结构不一致,包括表字段和索引。
除表结构外,数据的不一致也可能导致mapping 错误,如原库要delete或update时,gg库找不到该条数据等,具体原因见report中的错误号:
2011-07-18 09:29:46 GGS WARNING 218 SQL error 1403 mapping ITM.SALES_CARD to ITM.SALES_CARD.
2011-07-18 09:29:46 GGS ERROR 218 Error mapping from ITM.SALES_CARD to ITM.SALES_CARD..
$ oerr ora 1403
01403, 00000, "no data found"
// *Cause:
// *Action:
问题处理:
1).如果是表字段不一致,需要修改表字段,异构还需要重新生成表结构定义文件,再重启进程。
2).如果是索引不一致,需要重建索引,异构还需要重新生成表结构定义文件,再重启进程。(之前没有关注索引是否一样,以后关注一下索引)
3).遇到这种情况,不能先去对比两端的表结构(可能修改表结构的sql在后面执行),而应该先去查明原因。若是数据问题,可以跳过该表的同步,然后重新同步该表。
3.discard file写满了
问题描述:
REPU1 report中报错,discard 超出了限制大小(具体的报错信息没记下,如果找到了,再补充).
问题分析:
因为某些原因,导致gg一直写discard,超过参数文件中限定的大小,就会报错。解决了不断discard的问题,就能解决discard文件写满的问题。
问题处理:
1).修改repu1的参数文件,增大discard文件限制:discardfile /goldengate/dirrpt/repu1.dsc,append,megabytes 2000m(可选) 。
2).查看discard文件/goldengate/dirrpt/repu1.dsc ,查看里面的报错信息,undo不足,我是在做大表的delete,增加了undo表空间,再start repu1,。
--下面是网上的一些报错和解决,摘录如下。其中一些也遇到过,但是因为错误提示很清楚,也容易解决,并没有单独去总结。
4.用户不存在
问题描述:
2010-05-02 10:45:20 GGS ERROR 2001 Oracle GoldenGate Delivery for Oracle, rcrmheal.prm: Fatal error executing DDL replication: error [Error code [1918], ORA-01918: user 'KINGSTAR' does not exist, SQL /* goldengate_DDL_REPLICATION */ alter user kingstar account unlock ], no error handler present.
问题分析:
根据分析日志可以确定是目标端不存在该用户导致的故障。
问题处理:
方法1、如果不需要同步该用户,可以在目标端去掉掉映射该用户,再重启进程。
例如去掉:MAPKINGSTAR.*,TARGETCRMKINGSTAR.*;
方法2、在目标端手工创建该用户,再重启进程。
5.表不存在
问题描述:
2010-05-10 15:02:12 GGS ERROR 101 Oracle goldengate Delivery for Oracle, rcrmheal.prm: Table CRMOLAP.TB_FT_OFSTK_CLIENT_BY_DAY does not exist in target database.
问题分析:
根据分析日志可以确定是目标端不存在该表导致的故障。
问题处理:
方法1、如果不需要同步该表,可以在目标端排除掉该表,再重启进程。
例如添加:MAPEXCLUDEOLAP.TB_FT_OFSTK_CLIENT_BY_DAY
方法2、在目标端手工创建该表, 异构还需要重新生成表结构定义文件,再重启进程。
6.索引失效
问题描述
2010-07-05 14:48:32 GGS WARNING 218 Oracle GoldenGate Delivery for Oracle, rapcaxht.prm: SQL error 1502 mapping AXHT.DOCONTRACT to APCAXHT.DOCONTRACT OCI Error ORA-01502: index 'APCAXHT.PK_SID' or partition of such index is in unusable state (status = 1502), SQL
以上就是关于goldengate的全部内容,相信你一定会非常满意。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-5192-1.html
在此期限内有足够高的可靠性
前9个月的CPI是1