2024年1月20日发(作者:)

安信证券数据中心

GoldenGate实施故障汇总

用户不存在

问题描述:

2010-05-02 10:45:20 GGS ERROR 2001 Oracle GoldenGate Delivery for Oracle,

: 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、如果不需要同步该用户,可以在目标端去掉掉映射该用户,再重启进程。

例如去掉:MAP KINGSTAR.*, TARGET CRMKINGSTAR.*;

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

表不存在

问题描述:

2010-05-10 15:02:12 GGS ERROR 101 Oracle GoldenGate Delivery for Oracle,

: Table _FT_OFSTK_CLIENT_BY_DAY does not exist in target

database.

问题分析:

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

问题处理:

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

例如添加:MAPEXCLUDE _FT_OFSTK_CLIENT_BY_DAY

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

数据库索引失效

问题描述

2010-07-05 14:48:32 GGS WARNING 218 Oracle GoldenGate Delivery for Oracle, :

SQL error 1502 mapping RACT to RACT OCI Error ORA-01502: index

'_SID' or partition of such index is in unusable state (status = 1502), SQL

INTO "APCAXHT"."DOCONTRACT"

("SID","RIQI","JGID","HT_ID","KH_XM","KH_ID","KH_NUM","CREATEDDATE","MODIFIEDDATE","USERNAM

1

安信证券数据中心

E","REALNAME","BS","MEMO1","MEMO2","KH_IDLX","DXJGID","KH_IDTY","CPID") VA>.

问题分析:

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

问题处理:

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

表结构不一致

问题描述:

2010-05-08 14:50:44 GGS ERROR 218 Oracle GoldenGate Delivery for Oracle,

: Error mapping from _FT_OFSTK_BAL_HIS to

_FT_OFSTK_BAL_HIS.

问题分析:

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

问题处理:

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

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

磁盘空间不足

问题描述:

2010-05-07 04:05:31 GGS ERROR 103 Oracle GoldenGate Collector: Unable to write

to file "./dirdat/crm/fl003629" (error 28, No space left on device).

2010-05-07 04:05:31 GGS ERROR 190 PROCESS ABENDING.

问题分析:

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

问题处理:

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

TCP/IP故障

问题描述:

2010-06-25 21:06:04 GGS WARNING 150 Oracle GoldenGate Capture for Oracle,

: TCP/IP error 10060 (由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。).

问题分析:

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

问题处理:

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

2

安信证券数据中心

数据库不能连接

问题描述:

2010-05-20 18:25:13 GGS ERROR 182 Oracle GoldenGate Delivery for Oracle,

: OCI Error during OCIServerAttach (status = 12154-ORA-12154: TNS:could not

resolve the connect identifier specified).

问题分析:

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

问题处理:

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

表空间不足

问题描述:

2010-02-01 17:19:18 GGS ERROR 103 Discard file (./dirrpt/) exceeded

max bytes (10000000).

问题分析:

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

问题处理:

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

例如:select owner,table_name,tablespace_name from dba_tables

2、执行表空间扩展

例如:ALTER TABLESPACE tbs_03 ADD DATAFILE 'tbs_' SIZE 100K AUTOEXTEND ON NEXT 10K MAXSIZE

100K;

网络传输问题

问题描述:

2010-06-29 16:22:28 GGS ERROR 112 There is a problem in network communication,

a remote file problem, encryption keys for target and source do not match (if using ENCRYPT)

or an unknown error. (Remote file used is /oradataA/ggtrail/b1000008, reply received is

Unable to lock file "/oradataA/ggtrail/b1000008" (error 13, Permission denied). Lock

currently held by process id (PID) 3674350).

问题分析:

问题处理:

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

3

安信证券数据中心

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

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

参数变量配置不正确

问题描述:

Did not recognize parameter argument

问题分析:

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

问题处理:

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

捕获进程不能为表添加补充日志

问题描述:

2010-07-19 16:20:03 GGS ERROR 2100 Oracle GoldenGate Capture for Oracle,

: Could not add TRAN DATA for table, error [ORA-32588: supplemental logging

attribute all column exists, SQL ALTER TABLE "AXTECH"."TB_FUND_MATCHING" ADD SUPPLEMENTAL

LOG DATA (ALL) COLUMNS /* GOLDENGATE_DDL_REPLICATION */], error code [32588], operation

[ALTER TABLE "AXTECH"."TB_FUND_MATCHING" ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS /*

GOLDENGATE_DDL_REPLICATION */ (size 113)].

问题分析:

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

问题处理:

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

方法2、DELETE TRANDATA 用户.表

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

数据库补充日志(附加日志)没有打开

问题描述:

2010-10-14 09:25:50 GGS ERROR 190 Oracle GoldenGate Capture for Oracle,

: No minimum supplemental logging is enabled. This may cause extract process

to handle key update incorrectly if key column is not in first row piece.

2010-10-14 09:25:50 GGS ERROR 190 Oracle GoldenGate Capture for Oracle,

: PROCESS ABENDING.

问题分析:

根据分析日志可以确定是源端oracle补充日志没有打开导致的故障,如果主键或唯一索引是组合的(复合

4

安信证券数据中心

的),就需要为表配置supplemental log,否则就不必,也就是说,如果所有表的主键是单列的,那根本就不必去理会它是什么意思,如果更新了主键中的部分字段,那supplemental log的作用就是把该记录其余的组成部分的数据也传输到目标机,否则目标机就存在不确定性。

问题处理:

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

表补充日志(附加日志)没有打开

问题描述:

2010-10-14 09:30:49 GGS WARNING Z1-078 Oracle GoldenGate Capture for Oracle,

: No valid default archive log destination directory found for thread 1.

2010-10-14 09:30:50 GGS ERROR 500 Oracle GoldenGate Capture for Oracle,

: Found unsupported in-memory undo record in sequence 2, at RBA 39675920, with

SCN 0.554993 (554993) ... Minimum supplemental logging must be enabled to prevent data

loss.

2010-10-14 09:30:51 GGS ERROR 190 Oracle GoldenGate Capture for Oracle,

: PROCESS ABENDING.

问题分析:

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

问题处理:

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

DDL复制表没找到

问题描述:

2010-10-14 13:32:10 GGS ERROR 2008 Oracle GoldenGate Capture for Oracle,

: DDL Replication is enabled but table _DDL_HIST is not found. Please

check DDL installation in the database.

2010-10-14 13:32:10 GGS ERROR 190 Oracle GoldenGate Capture for Oracle,

: PROCESS ABENDING.

问题分析:

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

问题处理:

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

GGDDL@CRMDB,PASSWORD GGDDL。

5