GoldenGate实施故障汇总

2015-02-02 20:42:41 · 作者: · 浏览: 8

用户不存在


问题描述:


问题分析:


根据分析日志可以确定是目标端不存在该用户导致的故障。


问题处理:


方法1、如果不需要同步该用户,可以在目标端去掉掉映射该用户,再重启进程。


? ? ? ? 例如去掉:MAP?pxboracle.*,?TARGET?tpxboracle.*;


方法2、在目标端手工创建该用户,再重启进程。


问题描述:


问题分析:


根据分析日志可以确定是目标端不存在该表导致的故障。


问题处理:


方法1、如果不需要同步该表,可以在目标端排除掉该表,再重启进程。


? ? ? 例如添加:MAPEXCLUDE?PXBORACLE.TB_USERS


方法2、在目标端手工创建该表, 异构数据库还需要重新生成表结构定义文件,再重启进程。


问题描述


问题分析:


数据库索引失效引起的故障。


问题处理:


重建这个有问题的索引,再重启进程,故障排除。


问题描述:


问题分析:


出现该问题一般都是由于同步的源和目标表结构不一致,包括表字段和索引。


问题处理:


1、? 如果是表字段不一致,需要修改表字段,异构数据库还需要重新生成表结构定义文件,再重启进程。


2、? 如果是索引不一致,需要重建索引,异构数据库还需要重新生成表结构定义文件,再重启进程。


问题描述:


问题分析:


根据分析日志可以确定是磁盘空间不足导致的故障。


问题处理:


划分足够的磁盘空间,再重启进程。


问题描述:


问题分析:


根据分析日志可以确定是不能连接到远程主机,包括ip地址或端口号。


问题处理:


需要打通能够连接到远程主机IP和端口,再重启进程。


问题描述:


问题分析:


这种故障是数据库不能连接导致goldengate进程异常。


问题处理:


需要先解决数据库异常,再重启进程。


问题描述:


问题分析:


根据错误可以看出直接引起GoldenGate进程停止的原因是discard文件被写满了,是什么原因造成discard文件被写满的呢?从discard文件中我们看到是发生了ORA-01653: unable to extend 错误,看到这里我相信大家都知道该怎么处理了吧,我们只要扩展这个aaa.TB_LVY_TEMPINVOIC对象所在的表空间的大小即可。


问题处理:


1、找到相关对象存储的表空间;


例如:select owner,table_name,tablespace_name from dba_tables


2、执行表空间扩展


例如:ALTER TABLESPACE tbs_03 ADD DATAFILE 'tbs_f04.dbf' SIZE 100K AUTOEXTEND ON NEXT 10K MAXSIZE 100K;


问题描述:


问题分析:


问题处理:


方法1、手工去KILL掉相应的锁进程,再重新启动进程。


方法2、不需理会,大概2小时后会自动释放该锁进程。


方法3goldengate 10.4.0.76 会解决锁问题。


问题描述:


问题分析:


进程参数文件配置不正确。


问题处理:


检查参数配置文件,可能是进程名称与配置文件不一致或者是参数不正确,重启进程。


问题描述:


问题分析:


因为表已经开启了补充日志(附加日志),而对表做DDL操作时,参数“DDLOPTIONS ADDTRANDATA”会对表重新开启补充日志(附加日子),但如果该表超过32个字段,并且该表没有唯一索引时会出现上面的异常;


问题处理:


方法1、去掉参数“DDLOPTIONS ADDTRANDATA”。


方法2DELETE TRANDATA ?用户.


方法3、登录数据库执行: ALTER TABLE AXHT.BMBM2002 DROP SUPPLEMENTAL LOG DATA (ALL) COLUMNS


问题描述:


问题分析:


根据分析日志可以确定是源端oracle补充日志没有打开导致的故障,如果主键或唯一索引是组合的(复合的),就需要为表配置supplemental log,否则就不必,也就是说,如果所有表的主键是单列的,那根本就不必去理会它是什么意思,如果更新了主键中的部分字段,supplemental log的作用就是把该记录其余的组成部分的数据也传输到目标机,否则目标机就存在不确定性。


问题处理:


登录数据库,使用命令ALTER DATABASE ADD SUPPLEMENTAL LOG DATA打开补充日志。然后重新添加捕获进程和本地队列。


问题描述:


问题分析:


根据分析日志可以确定是源端oracle补充日志没有打开导致的故障。


问题处理:


登录数据库,使用命令ALTER DATABASE ADD SUPPLEMENTAL LOG DATA打开补充日志。


问题描述:


问题分析:


根据分析日志可以确定是DDL复制操作已经打开,但没有找到安装复制DDL执行脚本产生的表GGS.GGS_DDL_HIST导致的故障。


问题处理:


因为安装复制DDL是使用用户GGDDL,执行脚本后会在该用户产生跟踪goldengate运行的表,所以要实现支持DDL操作,在参数文件中登录数据库必须使用GGDLL和对应的密码登录。例如:USERID GGDDL@CRMDB,PASSWORD GGDDL