Oracle 在RAC 数据库的datapatch失败,显示错误:”PLS-00201 , ORA-01109 & ORA-01219″

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com

ORA-01109

oerr ora 1109
01109, 00000, "database not open"
// *Cause: A command was attempted that requires the database to be open.
// *Action: Open the database and try the command again

ORA-01219

[oracle@ocm_test01 dul1]$ oerr ora 1219
01219, 00000, "database not open: queries allowed on fixed tables/views only"
// *Cause: A query was issued against an object not recognized as a fixed
// table or fixed view before the database has been opened.
// *Action: Re-phrase the query to include only fixed objects, or open the
// database.




适用于:

Oracle Database – Enterprise Edition – 版本 12.1.0.2 及以上
本文信息适用于任何平台。

症状

在RAC数据库的datapatch 失败,显示错误:

./datapatch -verbose
SQL Patching tool version 12.1.0.2.0 on Thu Oct 29 16:27:18 2015
Copyright (c) 2015, Oracle. All rights reserved.
Log file for this invocation: /u01/app/product/cfgtoollogs/sqlpatch/sqlpatch_17613_2015_10_29_16_27_18/sqlpatch_invocation.log
..
Connecting to database…OK
注: Datapatch仅会对在open状态的PDB应用或回滚SQL 修正,没有补丁会被应用于关闭的 PDB。
..
..
Bootstrapping registry and package to current versions…done
Error in bootstrap log /u01/app/product/cfgtoollogs/sqlpatch/sqlpatch_17613_2015_10_29_16_27_18/bootstrap_CDB_PDBSEED.log:
Error at line 7: PLS-00201: identifier ‘DBMS_REGISTRY.NOTHING_SCRIPT’ must be declared
Error at line 23: PLS-00201: identifier ‘DBMS_REGISTRY.NOTHING_SCRIPT’ must be declared
Error at line 32: PLS-00364: loop index variable ‘REC’ use is invalid
Error at line 41: PLS-00201: identifier ‘CDBVIEW.CREATE_CDBVIEW’ must be declared
Error at line 51: SP2-1506: START, @ or @@ command has no arguments
Error at line 62: ORA-01109: database not open
Error at line 74: ORA-01109: database not open

 

bootstrap_CDB_PDBSEED.log 也显示:

Starting bootstrap on 29-OCT-15 04.27.22.440262 PM -04:00

:sql_file := dbms_registry.nothing_script;
*
ERROR at line 2:
ORA-06550: line 2, column 16:
PLS-00201: identifier ‘DBMS_REGISTRY.NOTHING_SCRIPT’ must be declared
ORA-06550: line 2, column 3:
PL/SQL: Statement ignored

old 25: IF &full_bootstrap THEN
new 25: IF FALSE THEN
FROM dba_tab_columns
*
ERROR at line 13:
ORA-06550: line 13, column 12:
PL/SQL: ORA-01219: database or pluggable database not open: queries allowed on
fixed tables or views only
ORA-06550: line 11, column 5:
PL/SQL: SQL Statement ignored
ORA-06550: line 37, column 18:
PLS-00201: identifier ‘DBMS_REGISTRY.NOTHING_SCRIPT’ must be declared

 

警报日志显示以下错误:

Thu Oct 29 16:27:21 2015
alter pluggable database pdb$seed close immediate instances=all
Thu Oct 29 16:27:22 2015
ALTER SYSTEM: Flushing buffer cache inst=3 container=2 local
Pluggable database PDB$SEED closed
Completed: alter pluggable database pdb$seed close immediate instances=all
alter pluggable database pdb$seed OPEN READ WRITE
Pdb PDB$SEED hit error 16001 during open read write (1) and will be closed.
Thu Oct 29 16:27:22 2015
ORA-16001: database already open for read-only access by another instance
ALTER SYSTEM: Flushing buffer cache inst=3 container=2 local
ORA-16001 signalled during: alter pluggable database pdb$seed OPEN READ WRITE…

 

 

原因

Datapatch内部发出以下命令:

alter pluggable database pdb$seed close immediate instances=all

这个命令应该关闭在所有实例的pdb$seed且状态应对pdb$seed的所有实例被mount。

但这里datapatch仅在本地节点执行此命令。其他节点仍显示 pdb$seed 为READ ONLY 且 仅本地节点为mount。
在该datapatch后执行:

alter pluggable database pdb$seed OPEN READ ONLY;

失败显示:

ORA-16001: database already open for read-only access by another instance

由于在其他节点的实例在只读模式且不更改为monuted,所以上面的命令失败。
结果发现,初始化参数parallel_force_local=true 被设置,所以没有生成一个并行slave 来关闭远程pdb$seed。

解决方案

  1. 将实例参数”parallel_force_local” 设为 false:

alter system set parallel_force_local=false scope=both sid=’*’;

  1. 再次执行datapatch

参考

NOTE:2062080.1 - Alter Pluggable Database Close Instances=ALL Not Working

Oracle链接到只读Standby 显示 “ORA-01089: Immediate Shutdown In Progress “

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com

 

适用于:

Oracle Database – Enterprise Edition – 版本11.2.0.3 到11.2.0.3 [Release 11.2]
本文信息适用于任何平台。
***13-Jul-2015检测相关性***

目标

这是11.2.0.3 Active Data Guard Physical Standby

简单的SQL*PLUS 连接到该物理备用数据库能运作。

通过dblink简单查询该只读备用数据库失败,显示以下错误,

SQL> select count(*) from SCOTT.EMP@TEST
*
Error at line 1
ORA-01089: immediate shutdown in progress – no operations are permitted
ORA-02063: preceding line from TEST
Process ID: 32552
Session ID: 1489 Serial number: 961

 

解决方案

这是由于以下bug:

Bug 16171011: ORA-1089 SELECTING OVER DB LINK TO ACTIVE DG
它类似于复制的

Bug 17162712. ORA-1089 FROM A DATABASE LINK AFTER A RAC INSTANCE IS OPENED READ ONLY

REDISCOVERy

——————

从ADG备用实例报告意外的ORA-1089。

This fix of this base bug is available on several 11.2.0.3.x Versions but issue fixed in 12.1.0.2.0这个基本bug的修正可在多个11.2.0.3.x版本提供,但问题在12.1.0.2.0中修正
参考

BUG:17162712 – ORA-1089 FROM A DATABASE LINK AFTER A RAC INSTANCE IS OPENED READ ONLY
BUG:16171011 – ORA-1089 SELECTING OVER DB LINK TO ACTIVE DG

Oracle Bug 13724193 – ORA-1089 over database link involving transitioned primary

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com

 

ORA-01089

oerr ora 1089
01089, 00000, "immediate shutdown in progress - no operations are permitted"
// *Cause: The SHUTDOWN IMMEDIATE command was used to shut down
// a running ORACLE instance, so your operations have been
// terminated.
// *Action: Wait for the instance to be restarted, or contact your DBA.

 

 

Bug 13724193  ORA-1089 over database link involving transitioned primary

本文介绍bug 13724193的简要概述。
内容最后更新于:16-JUL-2013
点击 这里 获取以下各部分的详情。.

影响:

产品 (组件) Oracle Server (Rdbms)
认为受影响的版本范围 12.1以下版本
确认为受影响的版本
受影响的平台 通用 (全部/大部分受影响的平台)

被修正:

13724193的修正被包括在

临时补丁可能适用于早期版本 –点击 这里 查看。

症状: 相关:

描述

如果主实例尚未重启,使用DB链接到打开的主数据库(或从其链接)的SQL命令可能会报告正在关机,因为它从“以只读方式打开”的standby被转换。

例如:

select * from dual@PRIMARY;

^

ORA-01089: immediate shutdown in progress – no operations are permitted

ORA-02063: preceding line from ADV

 

Rediscovery Notes再认识注意事项

如果包含dblink 到主数据库(或从其链接)的SQL语句失败显示 ORA-01089: immediate shutdown in progress – no operations are permitted and the primary database instance has not been restarted since it transitioned from an “open read only” physical standby then this bug is being hit.不允许任何操作且主数据库实例未被重启,因为它从“以只读方式打开”的物理standby被转换,则遇到该bug。

 

解决方案

重启主实例。

 

请注意:以上仅为概要描述。实际症状可能有所不同。匹配这里的任何症状不足以确认你遇到此问题。如有有关此bug的问题,请咨询Oracle Support。

参考

Bug:13724193 (This link will only work for PUBLISHED bugs)
Note:245840.1 Information on the sections in this article

 

Oracle 在分区表的收缩和拆分后生成Bug 7313847 – OERI[ktecgetsh-inc]

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com

 

在分区表的收缩和拆分后Bug 7313847  OERI[ktecgetsh-inc]

本文介绍bug 7313847的简要概述。
内容最后更新于:28-JUN-2013
点击 这里 获取以下各部分的详情。

影响:

产品 (组件) Oracle Server (Rdbms)
认为受影响的版本范围 12.1以下版本
确认为受影响的版本      
受影响的平台 通用 (全部/大部分受影响的平台)

被修正:

问题被修正于
症状: 相关:

描述

在分区表的收缩和拆分后可能会有内存损坏。

该损坏可能引起ORA-600 [ktecgetsh-inc] 或ora-10632。

 

例如:

create table t1(c1 number, c2 number)

partition by range(c1) (

partition p1 values less than(10),

partition p2 values less than(20)) enable row movement;

insert into t1 values(1,1);

commit;

alter table t1 shrink space cascade;

alter table t1 split partition p1 at(5) into (

partition p1_1, partition p1_2);

insert into t1 values(4,4);

 

^

ORA-600 [ktecgetsh-inc]

 

解决方法

在SPLIT 操作后关闭并重启实例

(这将确保在内存中数据从字典中被重新加载)

 

请注意:以上仅为概要描述。实际症状可能有所不同。匹配这里的任何症状不足以确认你遇到此问题。如有有关此bug的问题,请咨询Oracle Support。

参考

Bug:7313847 (This link will only work for PUBLISHED bugs)
Note:245840.1 Information on the sections in this article

Oracle ORA-600: [KTECGETSH-INC], [1]

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com

 

适用于:

Oracle Database – Enterprise Edition – 版本10.2.0.4 到11.2.0.1.0 [Release 10.2 to 11.2]
本文信息适用于任何平台。
*** 29-May-2013检查相关性***

症状

在alert.log中遇到以下错误:

ORA-00600: internal error code, arguments: [ktecgetsh-inc]
跟踪文件显示了问题出现在分区表的INSERT语句。

Call Stack调用堆栈

ktecgetsh <- ktecgshx  <- ktspisc <- ktspgsp_cbk1 <- ktspgsp_cbk <- kdtgsp <- kdtgsph
<- kdtgrs <- kdtInsRow <- insrow <- insdrv <- inscovexe
<- insExecStmtExecIniE <- ngine <- insexe <- ngine <- opiexe
<- kpoal8 <- opiodr <- ttcpip <- opitsk <- opiino
<- opiodr <- opidrv <- sou2o <- opimai_real <- main
<- start

原因

未发布 BUG 7313847 – ET11.2DL: ORA-600 [KTECGETSH-INC] ON INSERT. 在分区表上的收缩和拆分后可能会有内存损坏。这种损坏可能会引发ORA-600 [ktecgetsh-INC]或ORA-10632。

例如:

CREATE TABLE t1(c1 NUMBER, c2 NUMBER)
PARTITION BY RANGE(c1) (
PARTITION p1 VALUES LESS THAN(10),
PARTITION p2 VALUES LESS THAN(20)) ENABLE ROW MOVEMENT;

INSERT INTO t1 VALUES(1,1);

COMMIT;

ALTER TABLE t1 SHRINK SPACE CASCADE;

ALTER TABLE t1 SPLIT PARTITION p1 AT(5) INTO (
PARTITION p1_1, PARTITION p1_2);

INSERT INTO t1 VALUES(4,4);

^
ORA-600 [ktecgetsh-inc]

解决方案

  1. 应用Patch 7313847如果适用于你的平台和版本

    2. 升级到11.2.0.2 及以上(bug修正被包括在11.2.0.2 及以上)。

    3. 在SPLIT 操作后关闭并重启实例(这将确保内存中的数据从字典中被重新加载)。

参考
NOTE:7313847.8 – Bug 7313847 – OERI[ktecgetsh-inc] after shrink and split of partitioned table

Oracle 数据库的stuck recovery ORA-00600[3020]

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com

 

适用于:

Enterprise Manager for Oracle Database – 版本10.1.0.2 到 12.1.0.2.0 [Release 10.1 to 12.1]
Oracle Database – Enterprise Edition – 版本 9.0.1.4 到 12.1.0.2 [Release 9.0.1 to 12.1]
Oracle Database – Personal Edition – 版本 9.2.0.1 到12.1.0.2 [Release 9.2 to 12.1]
本文信息适用于任何平台。
*** 16-Apr-2014检查相关性***

症状

在做恢复时,恢复过程可能会失败,生成ORA-600 [3020]错误信息

ORA-00600: internal error code, arguments: [3020], [2885689059], [1], [419819],[26750], [808], [], []
ORA-10567: Redo is inconsistent with data block (file# %s, block# %xxxx)
ORA-10564: tablespace
ORA-01110: data file %s

原因

由于失败的一致性检查,称为stuck recovery的问题,恢复停止。当底层操作系统或存储系统失去正常操作期间由数据库发出的写,就可能出现stuck recovery。在重做中储存的信息和存储在被恢复的数据库块中的信息之间有不一致性。

在应用重做时,数据库发出一个内部错误。这个问题可以通过Oracle数据库的错误造成的,或可能是因为I / O问题(硬件或O / S相关的问题)

还有一个与RDBMS ORA-600 [3020]相关的已知EMC问题,其中的根本原因是在OS /硬件水平。

在修复的性质上EMC的详情(Symmetrix微码的问题)
ID: emc230687
Domain: EMC1
Solution Class: 3.X Compatibility

解决方案

当媒体恢复遇到问题时,警报日志可能表明如果它被允许破坏导致了问题的数据块,恢复可以继续。警报日志包含有关块的信息:它的块类型,块地址,它属于表空间,等等。对于包含用户数据的块,警报日志也可能报告数据对象号。

在这种情况下,如果数据库被允许标记问题块为corrupt,恢复可以进行。然而,这种反应是不总是可取的。例如,如果该块是在SYSTEM表空间的重要块,将块标记为corrupt最终会阻止你打开恢复的数据库。另外要考虑恢复问题是否是分离的。如果这个问题后紧随许多在重做流中的其他问题,那么你可能需要使用RESETLOGS选项打开数据库。

对于包含用户数据的块,通常可以查询数据库找出哪些对象或表拥有此块。如果数据库未打开,那么你应该能打开只读的数据库,即使要恢复整个数据库备份。下面的例子取消恢复并打开只读:

CANCEL
ALTER DATABASE OPEN READ ONLY;

 

从alert.log错误信息中,我们可以发现dataifle及其相应的块号。即使对于包含用户数据的块,警报日志也能报告数据对象号。由此我们可以得到对象的信息。

SQL>SELECT SEGMENT_NAME FROM DBA_EXTENTS WHERE FILE_ID= &file_number
AND &BLOCK_NUMBER BETWEEN BLOCK_ID AND BLOCK_ID+BLOCKS-1;

— 其中File_number是错误消息中的数据文件号,Block_Number是错误消息中的块号。

如果我们在alert.log中得到数据对象号,则我们就可以通过发出此查询确定所有者,对象名和对象类型:

SQL>SELECT OWNER, OBJECT_NAME, SUBOBJECT_NAME, OBJECT_TYPE
FROM DBA_OBJECTS
WHERE DATA_OBJECT_ID = &Object_number;

— 其中object_number是错误信息中的object_id。

要确定恢复问题是否是独立的,我们可以运行诊断试验恢复diagnostic trial recovery,这将扫描问题的重做流,但实际上对被恢复的数据库不作任何更改。如果试验发现任何恢复问题,则在alert_SID.log中报告。你可以使用RECOVER … TEST语句来调用试验恢复。参见Note 283262.1 Trial Recovery

注:如果问题不是孤立的或它属于SYSTEM表空间,则最好使用RESETLOGS选项打开数据库。
如果块相对不重要,如属于索引表空间或者问题是独立的,那么最好损坏块。如果你决定允许恢复继续,尽管块损坏,使用ALLOW n CORRUPTION运行RECOVER命令,其中n是允许的损坏块数。

要允许恢复损坏块:

1. 确保满足一切正常恢复的前提条件。

2. 运行RECOVER命令,允许单个损坏,对每个损坏进行必要的重复。例如:

SQL>RECOVER DATABASE ALLOW 1 CORRUPTION;

注:ALLOW integer CORRUPTION子句允许你在日志文件损坏的事件中指定允许恢复继续时可以同时容忍损坏的块数。

当你在试验恢复过程中使用这一子句(即与TEST子句一并),整数能超过1。当在正常的恢复过程中使用这一子句,整数不能超过1。

在10gR2中及以下版本,限制是允许在恢复阶段中,在允许1损坏(allow 1 corruption)中仅指定1块,但是从11gR1其,此限制被删除,恢复时的allow <n> corruption可以指定n值,其中n是使用恢复数据库test时在trail恢复过程中发现的被损坏块数。

 

Example : SQL> Recover database allow 10 corruption ;

参考

NOTE:283262.1 – Trial Recovery

Oracle 解决在恢复时生成的ORA-600[3020]

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com

 

适用于:

Oracle Database – Enterprise Edition – 版本 9.2.0.1 到 11.2.0.2 [Release 9.2 to 11.2]
Oracle Database – Enterprise Edition – 版本 11.2.0.4到 11.2.0.4 [Release 11.2]
本文信息适用于任何平台。

症状

恢复会话失败:

SQL> recover database;
ORA-00283: recovery session canceled due to errors
ORA-00600: internal error code, arguments: [3020], [13204236], [1], [1],
[33082], [236], [], []
ORA-10567: Redo is inconsistent with data block (file# 3, block# 621324)
ORA-10564: tablespace DATA
ORA-01110: data file 3: ‘<dir>/PROD_Data01.dbf’
ORA-10561: block type ‘TRANSACTION MANAGED DATA BLOCK’, data object# 25535

原因

该错误被称为stuck recovery。当由于当从磁盘读时,块的scn不是预期的scn,重做无法被用于块该错误时,生成该错误。

解决方案

如果受影响的文件属于SYSTEM或UNDO表空间,你应该从备份中还原数据库,并在问题日志被应用之前进行时间点恢复。

如果受影响的文件属于SYSAUX,这是唯一受影响的文件且处于脱机,则比对这个数据库进行时间点恢复更好的选择是创建一个新的数据库,然后使用Transportable Tablespace 功能插入所有其他表空间。另一个要注意的点是:如果SYSAUX 联机ONLINE但包含损坏块,则在考虑还原和恢复之前,使用以上第3点中的SQL来识别受影响的对象并呼叫Oracle Support 询问是否能drop并重建对象。

对于Data Guard环境,参阅 Note:1265884.1

有关此错误和已知问题的更多细节,请参见:

Note 30866.1 ORA-600 [3020] “Stuck Recovery”

如果你没有可用的备份,那么选择是非常有限的。请打开Service Request请求Oracle Support Service的援助。 除此以外:

  1. 使用 Trial Recovery 来确认问题的范围:

SQL> recover database test;

这会告诉你有多少块在恢复后会有损坏 – 检查警报日志获得受影响的块的详情。如果有大量报告的损坏,你可能要考虑从备份中还原并发出时间点恢复。但是,如果仅有一些块被报告损坏,你可以继续恢复:

  1. 跳过损坏的块

SQL> recover database allow 1 corruption;

 

这样进行<n>次,<n>是在上述步骤1中报告的损坏块数量。

这将允许恢复继续,“跳过”无法被恢复的块,并让他们标记为“损坏”,在此之后,数据库可以被打开。

  1. 取在警报日志中报告的损坏块,并为每个识别块所属的对象:

SQL> SELECT tablespace_name, segment_type, owner, segment_name
FROM dba_extents
WHERE file_id = <file#>
and <block> between block_id AND block_id + blocks – 1;
使用警报日志中报告的file# 和块id替换 <file#>和 <block>
对于每个被识别的对象- 采取各步骤来解决损坏:

– 如果它属于一个索引,则只要drop并重建索引

– 如果它属于一个用户对象,则考虑重建对象或从对象中尽可能抽取;如果有必要,发出Service Request请求Oracle帮助从损坏对象中抽取数据。

 

其他相关文档:

Note 1265884.1 Resolving ORA-752 or ORA-600 [3020] During Standby Recovery

Note 283269.1 Stuck recovery of database ORA-00600[3020]

参考
NOTE:28814.1 – Handling Oracle Block Corruptions
NOTE:283269.1 – Stuck recovery of database ORA-00600[3020]
NOTE:1265884.1 – Resolving ORA-752 or ORA-600 [3020] During Standby Recovery
NOTE:30866.1 – ORA-600 [3020] “Stuck Recovery”

OGG 报错信息汇总OGG_Error_Messages

OGG-00001: Execution cannot continue – Program Terminating Cause:  This is a generic message that indicates a process failure.

Action: Look for other messages in the process report and error log that provide more context for this failure. If you cannot determine and resolve the problem, contact Oracle Support.

 

OGG-00002: Missing directory name

Cause: The directory name is missing from the DIRECTORY option of the TRANSMEMORY or LOBMEMORY parameter.

Action: Specify a directory for temporary storage with the DIRECTORY option, or use the default storage by removing the DIRECTORY option.

 

OGG-00003: Missing directory name end quote

Cause: A trailing (end) quote is missing from the directory specification in the DIRECTORY option of the TRANSMEMORY or LOBMEMORY parameter.

Action:  Enclose the directory name within double quotes.

 

OGG-00004: Directory too long

Cause: The directory name that is specified with the DIRECTORY option of TRANSMEMORY or LOBMEMORY exceeds the length limit that is supported by the operating system.

Action: Specify a directory that has a path name that is within the operating system limitations.

 

OGG-00005: Invalid number for directory file size

Cause: The DIRECTORY option of TRANSMEMORY or LOBMEMORY contains an invalid value for the maximum file size, such as a non-numeric value or an invalid size specifier.

Action: Specify a valid value. See the Oracle GoldenGate reference documentation for valid directory size and valid size specifiers (such as GB for gigabytes and MB for megabytes).

 

OGG-00006: Directory options must be enclosed in parentheses Cause: The directory specification of the DIRECTORY option of TRANSMEMORY or LOBMEMORY is not enclosed within parentheses.

Action: Enclose the entire directory specification in parentheses, as in this example: DIRECTORY (c:\test\dirtmp, 3000000000, 300000000)

 

OGG-00007: Invalid number for directory size

 

 

Cause: The DIRECTORY option of TRANSMEMORY or LOBMEMORY contains an invalid value for the maximum directory size, such as a

non-numeric value or an invalid size specifier.

Action: Specify a valid value. See the Oracle GoldenGate reference documentation for valid directory size and valid size specifiers (such as GB for gigabytes and MB for megabytes).

 

OGG-00008: Missing directory file size

Cause: The file size specification is missing from the DIRECTORY option of TRANSMEMORY or LOBMEMORY.

Action: Specify a fully qualified directory name, a maximum directory size, and the maximum size of each file, as in: DIRECTORY (c:\test\dirtmp, 3000000000, 300000000).

 

OGG-00009: Directory parentheses must contain valid options Cause: The DIRECTORY option of TRANSMEMORY or LOBMEMORY contains parentheses but no specification within them.

Action: Specify a fully qualified directory name, a maximum directory size, and the maximum size of each file, as in: DIRECTORY (c:\test\dirtmp, 3000000000, 300000000).

 

OGG-00010: Missing directory size and directory file size

Cause: The DIRECTORY option of TRANSMEMORY or LOBMEMORY does not contain a specification for the maximum directory and file size.

Action: Specify a fully qualified directory name, a maximum directory size, and the maximum size of each file, as in: DIRECTORY (c:\test\dirtmp, 3000000000, 300000000).

 

OGG-00011: Missing directory file size

Cause: The DIRECTORY option of TRANSMEMORY or LOBMEMORY does not contain a specification for the maximum file size.

Action: Specify a fully qualified directory name, a maximum directory size, and the maximum size of each file, as in: DIRECTORY (c:\test\dirtmp, 3000000000, 300000000).

 

OGG-00012: Command line error:invalid startup syntax: {0}

Cause: An unknown parameter is specified for the Extract or Replicat process that is being started from the command line

Action: Correct the syntax. The command can only contain PARAMFILE and REPORTFILE parameters, for example:

 

/oggdir/extract paramfile dirprm/ext.prm reportfile

/user/reports/ext.rpt.

OGG-00013: Missing {0} argument at startup

Cause:  An argument is missing from the specified parameter.

Action: Supply the correct syntax. For help, see the Oracle GoldenGate reference documentation.

 

OGG-00014: Unrecognized parameter: {0}. Parameter could be misspelled or unsupported.

Cause: The specified parameter is not valid for this version of Oracle GoldenGate.

 

 

Action: Check the parameter file for the correct syntax, spelling, and any required terminators such as the semi-colon. Also make certain the parameter is supported for this version of Oracle GoldenGate. To do both of those things, check the reference documentation for your version of Oracle GoldenGate.

 

OGG-00015: {0} is not supported. Check spelling or see Oracle GoldenGate Reference Guide for supported parameters.

Cause: The specified parameter is not valid for this version of Oracle GoldenGate.

Action: Check the parameter file for the correct syntax, spelling, and any required terminators such as the semi-colon. Also make certain the parameter is supported for this version of Oracle GoldenGate. To do both of those things, check the reference documentation for your version of Oracle GoldenGate.

 

OGG-00016: {0} is not supported. Check spelling or see Oracle GoldenGate Reference Guide for supported parameters.

Cause: The specified parameter is not valid for this version of Oracle GoldenGate.

Action: Check the parameter file for the correct syntax, spelling, and any required terminators such as the semi-colon. Also make certain the parameter is supported for this version of Oracle GoldenGate. To do both of those things, check the reference documentation for your version of Oracle GoldenGate.

 

OGG-00017: Not enough stack space. Specify FUNCTIONSTACKSIZE greater than {0,number,0}

Cause: The size of the memory stack that is used for processing Oracle GoldenGate column-conversion functions needs to be increased.

Action: Add the FUNCTIONSTACKSIZE parameter to the parameter file before the point where parameters that contain conversion functions are listed, and set it to at least the value shown in the error message. The value specifies the number of function arguments to allow in a parameter clause.

 

OGG-00018: {0} ignored when running as a RMTTASK.

Cause: The specified parameter is not supported for a remote task and is being ignored.

Action: Remove the parameter from the parameter file to avoid future messages like this.

 

OGG-00019: No GROUP value given for RMTTASK in EXTRACT parameter file. Correct: GROUP <group name>.

Cause:  The RMTTASK parameter is missing the required GROUP clause.

Action: Add the GROUP clause so that the syntax is RMTTASK REPLICAT, GROUP <group name>, where <group name> is the name of the Replicat group on the target.

 

OGG-00020: The GROUP value in RMTTASK in the EXTRACT parameter file is too long.

Cause: The name of the group in the GROUP clause of RMTTASK is probably too long. An Oracle GoldenGate group name can be up to eight characters long.

Action:  Reduce the length of the group name.

 

OGG-00021: The REPLICAT parameter in RMTTASK in the EXTRACT parameter file is not present.

 

 

Cause:  The RMTTASK parameter requires the REPLICAT keyword.

Action: The correct syntax is RMTTASK REPLICAT, GROUP <group name>, where <group name> is the name of the Replicat group on the target.

 

OGG-00022: The GROUP parameter in a RMTTASK line in the EXTRACT param file is not present. GROUP <group name>

Cause:  The RMTTASK parameter is missing the required GROUP clause.

Action: Add the GROUP clause so that the syntax is RMTTASK REPLICAT, GROUP <group name>, where <group name> is the name of the Replicat group on the target.

 

OGG-00023: TCPBUFSIZE and TCPFLUSHBYTES are not supported in RMTTASK mode

Cause: The RMTHOST parameter contains the TCPBUFSIZE or TCPFLUSHBYTES option (or both), which are not supported for a remote task.

Action:  Remove these options from the parameter file.

 

OGG-00024: Cannot specify both FORMATASCII and ENCRYPTTRAIL for ‘{0}’

Cause: ENCRYPTTRAIL and NOENCRYPTTRAIL cannot be used when FORMATASCII is used to write data to a file in ASCII format. The trail or file must be written in the default Oracle GoldenGate canonical format when encryption is used.

Action: Remove either FORMATASCII or ENCRYPTTRAIL from the parameter file, depending on the configuration requirement.

 

OGG-00025: Bulk load is only supported for Oracle 8i and above.

Cause: The BULKLOAD parameter is being used for Replicat against an Oracle version that is earlier than 8i.

Action: Do not use the BULKLOAD initial load method. See the Oracle GoldenGate administration documentation for other supported load methods.

 

OGG-00026: Bulk load not implemented for this database type.

Cause: The BULKLOAD parameter is being used for Replicat against a database that is not an Oracle database.

Action: Do not use the BULKLOAD initial load method. See the Oracle GoldenGate administration documentation for other supported load methods.

 

OGG-00027: {0} was not specified. Check Oracle GoldenGate documentation for correct usage.

Cause: The specified parameter is required but missing from the parameter file.

Action: Add the parameter. See the Oracle GoldenGate reference documentation for help with syntax and usage.

 

OGG-00028: Failed to retrieve column handle for table {0}, column

#{1,number,0} while getting table definition.

Cause: The process could not retrieve the metadata for the specified table. Most likely, the table does not exist.

Action:  Exclude the table from the TABLE or MAP statement.

 

 

OGG-00029: Failed to retrieve column list handle for table {0} while getting table definition.

Cause: The process could not retrieve the metadata for the specified table. Most likely, the table does not exist.

Action:  Exclude the table from the TABLE or MAP statement.

 

OGG-00030: Could not resolve parameter {0}. Check spelling and usage in parameter file.

Cause: Oracle GoldenGate could not resolve the specified parameter. It might be misspelled or used incorrectly.

Action: Check the Oracle GoldenGate reference documentation for correct syntax and usage.

 

OGG-00031: Unspecified parameter name.

Cause:  There are no runtime substitution parameters specified.

Action: To use parameter substitution, declare a runtime parameter instead of an actual value, and precede the runtime parameter name with a question mark (?), such as EXTFILE ?EXTFILE. Then, before starting the process, use the shell of the operating system to pass the runtime values by means of an environment variable, such as C:\GGS> set EXTFILE=C:\ggs\extfile. For more information, see the Oracle GoldenGate administration documentation.

 

OGG-00032: Parameter {0} was already specified.

Cause: The specified parameter appears more than once in the parameter file.

Action: Remove all but one instance of this parameter, and make sure it is the one that contains the correct options and values for your intended configuration.

 

OGG-00033: Parameter {0} was already specified ({1})

Cause: The specified parameter appears more than once in the parameter file.

Action: Remove all but one instance of this parameter, and make sure it is the one that contains the correct options and values for your intended configuration.

 

OGG-00034: Missing value for startup parameter {0}.

Cause:  A value was not given for the specified parameter.

Action: Specify a value for this parameter. For permissible values, see the Oracle GoldenGate reference documentation.

 

OGG-00035: {0} does not take any additional parameters.

Cause:  Too many values are supplied for the specified parameter.

Action: See the Oracle GoldenGate reference documentation for correct syntax, options, and values.

 

OGG-00036: No tables specified in parameter file

Cause: The parameter file does not contain a TABLE or MAP parameter to specify the tables that are to be processed by Oracle GoldenGate.

Action: Add one or more TABLE parameters to an Extract parameter file or one or more MAP parameters to a Replicat parameter file.

 

OGG-00037: {0} file {1} already exists

 

 

Cause:  The specified file name already exists.

Action:  Specify a different file name or delete the existing file.

 

OGG-00038: Could not start TCP/IP (status {0,number,0}, err {1,number,0}) Cause: There was a Windows Sockets (Winsock) error when Oracle GoldenGate attempted to start TCP/IP services.

Action:  Fix the problem that is reported in the Winsock error message.

 

OGG-00039: Invalid timeout value {0}

Cause: The value for the Collector timeout was not between 1 and 1800 seconds.

Action: Specify a value between 1 and 1800 for the -w Collector parameter.

 

OGG-00040: Missing timeout value

Cause:  A value for the -w Collector timeout parameter was not provided.

Action: Specify a value between 1 and 1800 seconds for the -w Collector parameter.

 

OGG-00041: Data source not specified

Cause: The Oracle GoldenGate Extract (capture) process is configured with an unknown data source type.

Action: Recreate the Extract group with a supported data source type, such as TRANLOG, VAM, EXTTRAILSOURCE, or SOURCEISTABLE. For a

complete list of data source options, see the ADD EXTRACT command in the Oracle GoldenGate reference documentation.

 

OGG-00042: {0} may not be used with this type of Extract

Cause: The specified parameter is not valid for use with the current Extract configuration.

Action: Remove the parameter. For help with configuring Extract for your requirements, see the Oracle GoldenGate documentation.

 

OGG-00043: {0} parameter can only be used with PASSTHRU parameter Cause:  The PASSTHRUMESSAGE and NOPASSTHRUMESSAGE

parameters are being used without the PASSTHRU parameter.

Action: Remove the [NO]PASSTHRU parameter or add the PASSTHRU parameter to the parameter file.

 

OGG-00044: PASSTHRU parameter can only be used with an extract data pump

Cause: The PASSTHRU parameter is specified in the parameter file of a primary Extract or a Replicat group.

Action: Remove PASSTHRU or create the Extract group to be a data pump, as applicable to your requirements.

 

OGG-00045: Trails cannot be used with {0}

Cause: A remote task is specified for this configuration of Oracle GoldenGate, but the RMTTRAIL or EXTTRAIL parameter is also used.

Action:  Remove the trail parameters.

 

OGG-00046: Begin time must be specified for a {0}

 

 

Cause: The parameter file contains the SPECIALRUN parameter, but not a BEGIN parameter.

Action: Add the BEGIN parameter to the parameter file to specify a start time for the special run.

 

OGG-00047: Expected {0} parameter for task

Cause:  The RMTTASK parameter is missing from the parameter file.

Action:  Add the RMTTASK parameter.

 

OGG-00048: {0} cannot be specified when SOURCEISTABLE/SOURCEISFILE is specified

Cause: The specified parameter cannot be used when SOURCEISTABLE or SOURCEISFILE is used in the same parameter file.

Action:  Remove the parameter.

 

OGG-00049: Trails cannot be used when SOURCEISTABLE/SOURCEISFILE is specified

Cause: The ADD EXTRACT command that created the Extract process was issued with the SOURCEISTABLE or SOURCEISFILE option to create a remote task. A remote task does not use disk storage for data, but a trail parameter was specified in the parameter file.

Action:  Remove the EXTTRAIL or RMTTRAIL parameter.

 

OGG-00050: Must specify at most one source file when {0} specified Cause: The Extract parameter file contains the NOHEADERS parameter, but multiple source tables are specified across the MAP statements in the Replicat

parameter file. When NOHEADERS is used, Replicat assumes that the input

extract file contains only insert records from a single table.

Action: Edit the Replicat parameter file to specify only one source table across all of the MAP statements.

 

OGG-00051: Must specify extract file when specifying {0}

Cause: The SPECIALRUN parameter is being used, but there is no EXTFILE or EXTTRAIL parameter to specify the output storage file.

Action:  Add an EXTFILE or EXTTRAIL parameter.

 

OGG-00052: No replication maps specified

Cause: There are no MAP parameters in the Replicat parameter file to specify source and target table mappings.

Action:  Add one or more MAP parameters to the Replicat parameter file.

 

OGG-00053: No extraction maps specified

Cause: There are no TABLE parameters in the Extract parameter file to specify source tables for which to capture data.

Action:  Add one or more TABLE parameters to the Extract parameter file.

 

OGG-00054: Remote task entry encountered in the parameter file without a remote host entry given first

Cause: The RMTTASK parameter is used in the Extract parameter file to specify a remote task, but the target host is not specified with the RMTHOST parameter.

 

 

Action: Add the RMTHOST parameter to the Extract parameter file. For help with configuring a remote task, see the Oracle GoldenGate administration documentation. For more information about RMTHOST and RMTTASK, see the Oracle GoldenGate reference documentation.

 

OGG-00055: {0} is not supported for passive mode

Cause: The Extract group was created as a passive Extract by using the ADD EXTRACT command with the PASSIVE option, but the parameter file for this group contains the specified parameter, which is not supported in passive mode.

Action:  Remove the parameter from the Extract parameter file.

 

OGG-00056: Too many trail/file definitions in passive mode

Cause: This Extract process is configured in PASSIVE mode, but there are multiple RMTFILE or RMTTRAIL definitions.

Action:  Remove all but one RMTFILE or RMTTRAIL definition.

 

OGG-00057: Only REMOTE trail/file is allowed in passive mode

Cause: The Extract group was added in PASSIVE mode, but the parameter file specifies an EXTTRAIL or EXTFILE local trail or file.

Action: Remove the specification for the local file, and use the RMTTRAIL or RMTFILE parameter instead.

 

OGG-00058: Begin time ({0,date} {0,time}) must precede end time ({1,date}

{1,time})

Cause: The parameter file contains a parameter that takes a begin and end time as input, but the end time is listed before the begin time.

Action: Edit the parameter syntax to specify the begin time before the end time. For help, see the Oracle GoldenGate reference documentation.

 

OGG-00059: GGS sets error {0,number,0} to {1} internally, cannot override the error response to {2}

Cause: The REPERROR parameter contains a response rule for the specified error number, but this error is handled internally by Oracle GoldenGate, and the REPERROR setting is ignored.

Action:  Remove the REPERROR rule that caused the error.

 

OGG-00060: Extract requires a value specified for parameter {0} when in archived log only mode.

Cause: The specified parameter is a required parameter when Extract operates in archived-log mode.

Action: Add the parameter to the Extract parameter file, and then restart the process. For syntax and usage, see the Oracle GoldenGate reference documentation.

 

OGG-00061: DEFERAPPLYINTERVAL cannot be less than EOFDELAY. Cause: The DEFERAPPLYINTERVAL parameter is used in the parameter file to control how long Replicat waits before applying data to the target;

however, the value is lower than the value of EOFDELAY, which controls how

often Replicat checks for new data in the trail.

Action: Set DEFERAPPLYINTERVAL to a higher value than that of EOFDELAY.

 

 

OGG-00062: DEFERAPPLYINTERVAL cannot be greater than 1 week. Cause: The value of DEFERAPPLYINTERVAL is set to more than seven days (one week).

Action: Reduce the value to seven or fewer days (or the equivalent seconds, minutes, or hours). See the Oracle GoldenGate reference documentation for valid units.

 

OGG-00063: CHECKOPCOMPLETE: No operation type was set in the VAMRead

Cause: The operation type attribute of the record that is being passed by the VAM API was not set by the VAM module.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00064: CHECKOPCOMPLETE: The DDL database object type has an invalid operation type: {0,number,0}

Cause: The operation type attribute for the record that is being passed by the VAM API does not match one of the DDL database object types.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00065: CHECKOPCOMPLETE: The table database object type has an invalid operation type: {0,number,0}

Cause: The operation type attribute for the record being passed by the VAM API does not match the table database object type.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00066: CHECKOPCOMPLETE: The database object type is invalid:

{0,number,0}

Cause: The database object type attribute for the record being passed by the VAM API does not match any known database object types.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00067: CHECKOPCOMPLETE: No DDL statement was received for a record with a DDL database object type

Cause: No DDL statement was given by the VAM API for the DDL record that is being processed.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00068: CHECKOPCOMPLETE: No object name was set for operation type: {0,number,0}

Cause: The object name attribute for the record being passed by the VAM API was not set by the VAM module.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00069: CHECKOPCOMPLETE: No object owner was set for operation type: {0,number,0}

Cause: The object owner attribute for the record being passed by the VAM API was not set by the VAM module.

 

 

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00070: CHECKOPCOMPLETE: No timestamp was set for operation type: {0,number,0}

Cause: The timestamp attribute for the record being passed by the VAM API was not set by the VAM module.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00071: CHECKOPCOMPLETE: No transaction identifier was set for operation type: {0,number,0}

Cause: The transaction identifier attribute for the record being passed by the VAM API was not set by the VAM module.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00073: CHECKOPCOMPLETE: No before keys in primary key update were added for operation type: {0,number,0}

Cause: No before image key fields were sent for a primary key update record being passed by the VAM API.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00074: CHECKOPCOMPLETE: Before key in primary key update was not added for column(s) {1}: Operation type: {0,number,0}

Cause: No before image key fields were sent for a primary key update record being passed by the VAM API.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00075: CHECKOPCOMPLETE: Key column was not added for column(s) {1}: Operation type: {0,number,0}

Cause: The value for the after image key column required for an update record was not passed by the VAM API.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00076: GG_OBJ_RECORD: GG_ATTR_OBJECT_NAME: Object owner

attribute was already set as part of the object name

Cause: The object owner attribute for the record being passed by the VAM API was already included in the object name attribute.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00077: GG_OBJ_RECORD: GG_ATTR_OBJECT_NAME: Object owner

attribute must be set before the object name is set

Cause: The object owner attribute for the record being passed by the VAM API was set after the object name attribute was set. It is a VAM API requirement that it be set before the object name attribute.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

 

OGG-00078: DDL processing is not implemented for this target Cause:  A DDL record was encountered in the transaction log. Oracle

GoldenGate does not support the capture or replication of DDL for this type of

database.

Action: Because DDL was applied on the source but not replicated, the source and target definitions are out of synchronization. Future DML may result in errors. You can ignore this message and accept the inconsistencies, or you can apply the DDL on the target before allowing DML operations on this object.

Stop and start Replicat after the DDL changes are made.

 

OGG-00079: Metadata object processing is not implemented for this target Cause: The VAM API does not support the exchange of table metadata for the database being used.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00080: Invalid I/O type encountered {0,number,0}

Cause: This message is specific to the Teradata VAM implementation. An end transaction record was expected, but another record type was received.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00081: GG_OBJ_METADATA: GG_ATTR_MD_COLUMN_COUNT:

Column count must be greater than zero

Cause: An insert, update, or delete record was sent by the VAM API, but no columns for the record were received.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00082: GG_OBJ_METADATA: GG_ATTR_MD_COLUMN_COUNT:

Previous table not completed

Cause: The metadata processing for the current table was not complete when an attempt was made to start processing the metadata for the next table in the sequence.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00083: Transaction list update: Number of transactions has changed Cause:  This message is specific to the Teradata VAM implementation.

Recovery processing cannot complete because the recovery trail file has been

updated by another process after recovery processing started.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00084: Transaction list processing only available in maximum protection mode

Cause: This message is specific to the Teradata VAM implementation. Recovery processing is only supported in maximum protection mode and maximum performance mode was specified.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00085: {1}:Invalid attribute {0,number,0}]

 

 

Cause:  The attribute type set by the VAM module is unknown.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00086: {1}:Attribute {0,number,0} has invalid value

Cause: The attribute value set by the VAM module is invalid for the attribute type.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00087: Transaction list update: Transaction ID has changed for index {0,number,0}

Cause: This message is specific to the Teradata VAM implementation. Recovery processing cannot complete because the recovery transaction list passed to the VAM module is no longer valid.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00088: {1}: Attribute {0,number,0}: The pointer to the return parameter for the attribute length cannot be null

Cause: No return buffer was given to hold the length of the value when the VAM module is retrieving a value from the VAM kernel.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00089: Object {0,number,0}: Attribute {1,number,0}: Attribute is invalid for object

Cause: The attribute type assigned by the VAM module is invalid for the VAM API object type it is setting.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00090: Transaction list is not available for the generic VAM Cause: The functionality being requested is only available for the Teradata VAM implementation.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00091: {0}

Cause: The error message that is displayed is returned from a separate sub-subsystem called by the VAM API.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00092: {0}: A maximum return length of zero and a null pointer to the return parameter for the attribute length are an invalid combination

Cause: No return buffer was given to hold the length of the value when the VAM module is retrieving the length of value from the VAM kernel.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

 

OGG-00094: Object {0,number,0}: Attribute {1,number,0}: Length ust be greater than zero

Cause: The attribute for the object being passed to the VAM API by the VAM module must contain a value.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00095: {1}: Attempting to add attribute {0,number,0} before index set for column

Cause: A column attribute is being passed to the VAM API by the VAM module before the column index identifying that column has been set.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00096: {3}: Attribute {0,number,0} Length given ({2,number,0}) exceeds maximum length allowed ({1,number,0})

Cause: The length of the attribute being passed to the VAM API by the VAM module exceeds the maximum length allowed for that attribute type.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00097: {0}: Invalid length for an integer value

Cause: An integer value is being passed to the VAM API by the VAM module, but the length given is not either 1, 2, 4 or 8 bytes, which are the only lengths allowed.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00098: Object {0,number,0}: Attribute {1,number,0}: Invalid length

{2,number,0}

Cause: A C/C++ “int” value is being passed to the VAM API by the VAM module, but the length given is not the same as the length of an “int” as returned by that compiler.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00099: {0}: Invalid data format type

Cause: The data format type assigned by the VAM module is invalid for the VAM API attribute type it is setting.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00100: {1}: Attribute {0,number,0}: Column is not nullable]

Cause: A null value was passed to the VAM API by the VAM module for a column whose metadata marked it as not nullable.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00101: {1}: Attribute {0,number,0}: Only integers are scalable] Cause: A decimal scale was passed to the VAM API by the VAM module for a column data type for which it is invalid.

 

 

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00102: {1}: Attribute {0,number,0}: Scale does not match table definition

Cause: The decimal scale passed to the VAM API by the VAM module for a column does not match the table metadata definition.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00103: {1}: {0}: GG_ATTR_MD_COLUMN_COUNT not set

Cause: A metadata attribute from the Extract parameter file is being retrieved via the VAM API by the VAM module before the metadata processing has started for that table.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00104: VAM module calling GGColMetadataAddByIndex without setting GG_ATTR_MD_COLUMN_COUNT with the number of columns to be added

Cause: A column metadata attribute is being passed to the VAM API by the VAM module before the column processing has started.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00105: {0}: Table lookup in database has either not taken place or failed: Check return code of GGAttrSet for GG_ATTR_OBJECT_NAME

Cause: The VAM module is attempting to continue processing the metadata for a table after the VAM API returned an error code on a previous call.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00106: {0}: Adding column before operation type set

Cause: A column value is being passed to the VAM API by the VAM module before the operation type was set for the record.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00107: GG_OBJ_RECORD: Invalid VAM operation type {0,number,0} Cause: The operation type attribute being passed to the VAM API by the VAM module for the VAM API record object is unknown.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00108: GG_OBJ_RECORD: No transaction ID was given in DCI interface call

Cause: No transaction identifier was given in the Direct Call Interface call when the VAM module was sending a record via the VAM API.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00109: {0} requires maximum protection mode

 

 

Cause: This message is specific to the Teradata VAM implementation. The VAM module sent a prepare transaction record via the VAM API in maximum performance mode. This is only allowed in maximum protection mode.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00110: {0}: VAM session using local ASCII format timestamps for position time: Integer format Julian GMT timestamps invalid.

Cause: The VAM module is sending timestamps in a Julian format as an integer value while the session protocol is to use ASCII timestamps.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00111: {0}: VAM session using integer format Julian GMT timestamps for position time: Local ASCII format timestamps invalid. Cause: The VAM module is sending timestamps in an ASCII format while the

session protocol is to use a Julian format passed as an integer.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00112: GG_OBJ_RECORD: {0} must be set before {1}

Cause: A required attribute in the VAM API record object was not set in the right order by the VAM module.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00113: GG_OBJ_RECORD: GG_ATTR_BEFORE_AFTER can only be

used with GG_OPTYPE_UPDATE

Cause: The VAM module tried to add a before key for a record that is not a primary key update.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00115: GG_OBJ_RECORD: Attribute {0,number,0}: Null pointer passed for value

Cause: No buffer was given for the VAM kernel to retrieve the value when the VAM module is setting an attribute value via the VAM API.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00116: VAMMessage error returned by VAM

Cause: A call from GGSCI to the VAMMessage function implemented by the user in the VAM module returned with an error.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00117: VAMMessage called before VAM module initialized]

Cause: A call from GGSCI to the VAMMessage function was made before the VAM module was initialized by a call to VAMInitialize.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00118: {1}: Index {0,number,0} is not in sequential order

 

 

Cause: A column was sent out of sequential order by the VAM module when sending the columns for an insert, update or delete record.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00119: {1}: Index {0,number,0} is out of range of columns added to record

Cause: A column index was sent by the VAM module that is greater than the number of columns available for the table, when sending the columns for an insert, update or delete record.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00120: The maximum length allowed for LOB row ID was exceeded Cause: The maximum size of the buffer available to hold the unique ID generated for a LOB column was exceeded by the length of the ID that was

generated.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00121: {1}: Invalid VAM action {0,number,0}]

Cause: An invalid action type was passed by the VAM module when generating an informational, warning or error message to be sent to and output by the VAM API.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00122: Large column support is not implemented in this release Cause: The maximum column size was exceeded for the column value sent by the VAM module by the VAM API.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00123: No columns given in DCI interface call

Cause: An insert, update or delete record was sent in the Direct Call Interface call to the VAM API but no columns for the record were received.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00124: Input data format must be set to zero

Cause: The data format type was set by the VAM module for an attribute passed to the VAM API that does not possess a data type. The data format value should be set to zero in this case.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00125: Object {0,number,0}: Attribute {1,number,0}: Column values can not be set directly

Cause: An attempt was made to use one of the deprecated column attributes that were originally used to set column values directly.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

 

OGG-00126: Object {0,number,0}: Attribute {1,number,0}: String does not contain a value

Cause: An attribute value was sent by the VAM module as a null-terminated string, but the null-terminated string has a length of zero instead of a value (required).

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00127: Object {0,number,0}: Attribute {1,number,0}: Maximum length allowed exceeded

Cause: The attribute value set by the VAM module for the transaction identifier in the VAM API record object exceeds the maximum length allowed for transaction identifier.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00128: Large column processing in progress: invalid data format Cause: An invalid data format type was passed by the VAM module when processing large and LOB columns that are sent in blocks across the VAM API.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00129: Adding column before metadata retrieved

Cause: The VAM module is sending the column values for a table via the VAM API before the metadata exchange for that table has taken place.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00130: Table {0}: Column {1} has invalid type for a key column Cause: The data type of the primary key of this table is not supported by Oracle GoldenGate as a key.

Action: Specify an alternate key by using a KEYCOLS clause in the parameter file. For more information, see the Oracle GoldenGate reference documentation. For supported data types in keys, see the Oracle GoldenGate installation and setup documentation for your database.

 

OGG-00132: GG_OBJ_METADATA: Invalid interface type received

Cause: This message has been deprecated and is no longer used in the Oracle GoldenGate Code base.

Action: None

 

OGG-00133: GG_OBJ_METADATA: {0} returned an error

Cause: There was an error trying to retrieve metadata with the specified VAM function.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00134: VAM attempting retrieve GG_ATTR_MD_KEYCOLS when GG_ ATTR_MD_KEYCOLS_COUNT is set to zero and there are no key columns to return

Cause:  During the table metadata exchange the VAM module is attempting to retrieve the value of the KEYCOLS array specified in the Extract parameter file when there are no KEYCOLS values to retrieve.

 

 

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00135: GG_OBJ_METADATA: Table {0} has no key columns specified and no columns that can be used as key columns

Cause: The specified table contains no defined key columns and no other columns that Oracle GoldenGate can use as key columns. Oracle GoldenGate will attempt to use all of the columns as a key, or you can specify a KEYCOLS clause in the source TABLE and target MAP parameters. For more information, see the Oracle GoldenGate reference documentation.

Action: None

 

OGG-00136: {0} is a deprecated VAM API function and is longer in use Cause:  An incompatible version of the VAM API module is being used.

Action:  Contact Oracle Support to obtain the current version.

 

OGG-00137: GG_OBJ_COLUMN: Invalid integer type {0,number,0} Cause: An invalid integer was passed by the VAM module when sending the columns for an insert, update or delete record via the VAM API.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00138: A SORTTRANLOG extract requires either a TERADATA or a VAMTRD pre-processor define to build successfully

Cause: This message is specific to the Teradata VAM implementation. The executable was built without the defines that are required in order to enable the functionality being requested.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00139: Extract was not built with VAM functionality included Cause:  This Extract build does not include a VAM module.

Action:  Obtain the correct Extract build for your database from Oracle.

 

OGG-00140: Error {0,number,0}, source {1,number,0} – {2}

Cause: Inter-process communication failed. This error is related to the Oracle GoldenGate vendor access module (VAM).

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00141: {1} Invalid VAM type:{0,number,0}

Cause: The Extract type was not given in the TRANLOGOPTIONS clause in the Extract parameter file for the Teradata implementation of the VAM API.

Action: Specify the correct Extract type, either COMMITTEDTRANLOG, CREATETRANLOG, or SORTTRANLOG. If the problem persists, contact Oracle Support.

 

OGG-00142: {0}: Adding column before table owner set

Cause: The VAM module sent a column through the VAM API for an insert, update or delete operation before it set the required record attribute that specifies the object owner of the record.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

 

OGG-00143: {0}: Adding column before table name set

Cause: The VAM module sent a column through the VAM API for an insert, update or delete operation before it set the required record attribute specifying the object name of the record.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00144: Fatal error reported by VAM reader thread

Cause: A fatal error was reported in another thread in the multi-threaded VAM Extract, and this thread terminated because of that error.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00145: VAM function {0} returned unexpected value, {1,number,0} Cause: One of the VAM API functions implemented in the VAM module returned an unknown status on completion of the call to that function in the

VAM kernel.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00146: VAM function {0} returned unexpected result: error

{1,number,0} – {2}

Cause: One of the VAM API functions implemented in the VAM module returned an error status on completion of the call to that function in the VAM kernel, after previously reporting a fatal error in the call.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00147: VAM function {0} returned unexpected result: error

{1,number,0} – {2}

Cause: The VAM API VAMControl function returned an error when being called as part of the shutdown processing caused by a previously reported fatal error.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00148: Prepare is invalid in maximum performance mode

Cause: This message is specific to the Teradata VAM implementation. The VAM module sent a prepare transaction record via the VAM API in maximum performance mode. This is only allowed in maximum protection mode.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00149: Rollbacks of transactions are not allowed in maximum protection mode

Cause: This message is specific to the Teradata VAM implementation. The VAM module sent a rollback transaction record via the VAM API, but only successfully committed transactions can be sent by the VAM module for the Teradata implementation.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00150: No value set for table name

 

 

Cause: The metadata for the table in the VAM kernel does not contain a valid table name. This is required for the standard header structure used to preface each output trail file record to identify the table in that file.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00151: The GG_ATTR_OP_COMPLETE attribute was not checked after adding a record before the VAMRead completed

Cause: The optional validation checking is on, and the VAM module did not make the final call to verify that the validation was successful. This validation checking is on by default in debug builds to ensure that the VAM module completed all of the requirements for sending a record via the VAM API. It is designed to be used for development by third-parties that are building their own VAM module as a dynamic link library or shared library.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00152: Begin transaction – transaction {0} already exists in file memory

Cause: A duplicate begin-transaction identifier was encountered for a database transaction. An identifier must be unique to maintain transaction integrity.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00153: Invalid GG_ATTR_OPTYPE: {0}: Transaction type is invalid for VAM generic mode]

Cause: The VAM module sent an unknown or invalid operation type via the VAM API. An example of an invalid operation is a prepare-transaction record for implementations that do not support a two-phase commit mechanism. This can occur in the Teradata implementation, where Extract is in COMMITTEDTRANLOG mode and does not support prepare-transaction records (although in CREATETRANLOG and SORTTRANLOG modes it does).

Action: If using the Teradata implementation, check that Extract is being run in CREATETRANLOG or SORTTRANLOG mode. If the problem persists contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00154: GG_OBJ_METADATA: The new table entry pointer is null Cause: Table metadata is being looked up by the VAM module as the table is encountered dynamically, and there was an error in the defined protocol for

exchanging the table metadata.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00155: GG_OBJ_METADATA: Table name has a length of

{0,number,0}, but the maximum allowed is {1,number,0}

Cause: The name of the table contains too many characters to be supported by Oracle GoldenGate.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

 

OGG-00156: GG_OBJ_METADATA: Owner name has a length of

{0,number,0}, but the maximum allowed is {1,number,0}

Cause: The owner name of the table contains too many characters to be supported by Oracle GoldenGate.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00157: GG_OBJ_METADATA: Number of tables processed ({1,number,0}) does not match the number given ({0,number,0})

Cause: The table metadata is being exchanged statically in the VAMInitialize function from the VAM module to the VAM kernel or vice-versa, and the number of tables that require a metadata exchange does not match the number of tables that were exchanged.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00158: GG_OBJ_METADATA: REP_get_table_by_name returned without finding a match

Cause: A TABLE parameter in the Extract parameter file lists a table explicitly by its full name, but Oracle GoldenGate could not find the table name in the metadata dictionary that was retrieved from the database catalog.

Action: Check the parameter file for errors in the TABLE specification. Make certain that the table exists in the database.

 

OGG-00159: GG_OBJ_METADATA: WILDCARD_check_table returned without finding a match

Cause: The TABLE parameter in the Extract parameter file contains a wildcarded table list, but no tables to satisfy it could be found in the metadata dictionary that was retrieved from the database catalog.

Action: Check the parameter file for errors in the TABLE specification. Make certain that the database contains tables that match the wildcard specification and which you want to be captured.

 

OGG-00160: GG_OBJ_METADATA: WILDCARD_getNextStaticTable returned with no entry found

Cause: The TABLE parameter in the Extract parameter file contains a wildcarded table list, but no tables to satisfy it could be found in the metadata dictionary that was retrieved from the database catalog.

Action: Check the parameter file for errors in the TABLE specification. Make certain that the database contains tables that match the wildcard specification and which you want to be captured.

 

OGG-00161: More than one output queue file specified for CREATETRANLOG VAM

Cause: This is specific to the Teradata implementation of the VAM API. The Extract group is configured in CREATETRANLOG mode, but there is more than one EXTTRAIL entry in the Extract parameter file. In this mode, Extract can only write to one local trail.

Action: Edit the Extract parameter file to remove the extra EXTTRAIL specifications, and then restart the Extract process.

 

OGG-00162: Remote queue file specified for CREATETRANLOG VAM

 

 

Cause: This is specific to the Teradata implementation of the VAM API. The Extract group is configured in CREATETRANLOG mode, but there is a RMTTRAIL parameter in the Extract parameter file.

Action: Replace the RMTTRAIL parameter with an EXTTRAIL parameter. In CREATETRANLOG mode, Extract must write to one local trail, not a remote trail.

 

OGG-00163: Checkpointing is mandatory

Cause: This message is specific to the Teradata VAM implementation. Checkpointing is required for this implementation and checkpointing was not initialized.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00164: The maximum item identifier length ({0,number,0}) has been exceeded

Cause: The VAM module set an attribute through the VAM API with a value that is longer than the maximum defined for that attribute in the VAM API specifications.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00165: No options parameters were specified in the parameter file Cause: The DSOPTIONS parameter is missing from the parameter file, but is required to specify the processing actions that this Extract group performs.

Action: Add DSOPTIONS with the correct processing options for this Extract group. For help with configuring Extract for Teradata, see the Oracle GoldenGate installation and setup documentation for the Teradata database.

 

OGG-00166: Lookup failure on table {0}

Cause: The specified table is listed in the TABLE parameter but the metadata for this table could not be found.

Action: Check the parameter file for a misspelling of the table name. If there are no mistakes in the parameter file, make certain that the table exists in the database. If the table exists and the parameter file is correct, contact Oracle Support.

 

OGG-00167: Only wildcarded table definitions are allowed in the parameter file for the transaction reader implementation of the VAM Cause: In the Teradata VAM implementation, tables can only be looked up as

they are encountered dynamically, so the table metadata cannot be exchanged

statically in the VAM API VAMInitialize function.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00168: WILDCARDRESOLVE DYNAMIC parameter is mandatory for the transaction reader implementation of the VAM

Cause: The WILDCARDRESOLVE parameter is not set to DYNAMIC, which is the required setting for the VAM implementation.

Action: Edit the parameter file to change WILDCARDRESOLVE to DYNAMIC, or add WILDCARDRESOLVE DYNAMIC if it is not present.

 

OGG-00169: No VAM parameters were specified in the parameter file

 

 

Cause: The parameter file for this VAM-based Extract process does not contain the VAM parameter. This parameter is required for VAM-based Extract groups for this source database.

Action: Add the VAM parameter with the associated PARAMS clause to the Extract parameter file. For syntax per source database type, see the Oracle GoldenGate reference documentation.

 

OGG-00170: No VAM PARAMS items were found in the param file Cause: The parameter file for this VAM-based Extract process does not contain the VAM parameter with PARAMS options. PARAMS input is

required for VAM-based Extract groups for this source database.

Action: Add the VAM parameter with the PARAMS clause to the Extract parameter file. For syntax and required input for PARAMS per source database type, see the Oracle GoldenGate reference documentation.

 

OGG-00171: The PARAMS section in the VAM options is invalid

Cause: The PARAMS clause of the VAM parameter in the Extract parameter file is incorrect.

Action: Check the parameter syntax for typographical errors. For syntax and valid options, see the VAM parameter in the Oracle GoldenGate reference documentation.

 

OGG-00172: No VAM PARAMS section was found in the param file Cause: The parameter file for this VAM-based Extract process does not contain the VAM parameter with the PARAMS option. This parameter is

required for VAM-based Extract groups for this source database to specify

VAM input parameters.

Action: Add the VAM parameter with the PARAMS clause to the Extract parameter file. For syntax and required input for PARAMS per source database type, see the Oracle GoldenGate reference documentation.

 

OGG-00173: The {0} option is not implemented in this release Cause: The specified option is not supported in this release of Oracle GoldenGate.

Action: For valid syntax, see the Oracle GoldenGate reference documentation.

 

OGG-00174: {0} is incompatible with the other options given

Cause: The specified parameter option is being used with other, incompatible options.

Action: To determine the correct syntax and valid options, see the Oracle GoldenGate reference documentation.

 

OGG-00175: Length of VAM load module exceeds maximum allowed Cause: The length of the name of the VAM load module exceeds the allowed length.

Action: Rename the module to an acceptable length, then specify the new name wherever the module is specified in parameters, then restart the Extract process.

 

OGG-00176: No VAM load module was specified in the param file

Cause: The VAM load module is not specified with the VAM parameter in the Extract parameter file.

 

 

Action:  Specify the load module with VAM and then restart Extract.

 

OGG-00177: {0} is not supported for VAM based extracts.

Cause:  The specified parameter is not supported for a VAM-based Extract.

Action: Remove the parameter from the parameter file, and then restart the Extract process.

 

OGG-00178: {0}

Cause:  The specified VAM error occurred.

Action: Resolve the problem according to the error message or contact Oracle Support.

 

OGG-00179: Operation type {0,number,0} is invalid: Rollback to savepoint in a transaction is not allowed

Cause: The Oracle GoldenGate VAM does not support partial rollback operations. A transaction must be either committed or rolled back in its entirety.

Action:  Contact Oracle Support.

 

OGG-00180: The transaction reader VAM cannot be run in single-threaded mode if HAVEPTHREADS is defined as a pre-processor build directive Cause: The VAM API kernel was built in multi-threaded mode, but the rest of

the Extract executable was built in single-threaded mode.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00181: The transaction reader VAM cannot be run in multi-threaded mode unless HAVEPTHREADS is defined as a pre-processor build directive

Cause: The VAM API kernel was built in single-threaded mode, but the rest of the Extract executable was built in multi-threaded mode.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00182: VAM API running in single-threaded mode

Cause: The Oracle GoldenGate VAM is running in single-threaded mode. Informational only.

Action: None

 

OGG-00183: VAM API running in multi-threaded mode

Cause: The Oracle GoldenGate VAM is running in multi-threaded mode. Informational only.

Action: None

 

OGG-00184: {0} is not supported for SQL/MX ODBC replicat.

Cause: The specified parameter is not supported by Replicat for a SQL/MX database.

Action:  Remove the parameter, and then restart the process.

 

OGG-00185: Warning table {0} does not exist in SQL/MX db.

Cause: The specified table is listed in the Oracle GoldenGate parameter file but does not exist in the database.

 

 

Action: Edit the parameter file to remove the table, or add the table to the database.

 

OGG-00186: Encountered SQL/MX fetching from table {0} Cause:  A fetch from the specified table failed.

Action:  Look for further error messages to determine the cause.

 

OGG-00187: TMFVAM_read Record version mismatch.

Cause: The record version does not match the version that Extract expects. This indicates that the vamserv module is not the same version as that of Extract.

Action:  Install the version of vamserv that matches the version of Extract.

 

OGG-00188: TMFVAM Error {1,number,0} returned from {0} Cause:  The specified error occurred in the vamserv module.

Action: If you cannot determine the cause and resolution based on the error text, contact Oracle Support.

 

OGG-00189: TMFVAM_init() was not called Cause:  This is an internal logic error.

Action:  Contact Oracle Support.

 

OGG-00190: Unable to determine the Guardian filename for ‘{0}’

Cause: Extract cannot determine a valid Guardian filename. The symlink is either missing or pointing to an invalid file name.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00191: Error {1,number,0} Completing I/O to {0}

Cause:  An interprocess message from Extract to the vamserv module failed.

Action: Not recoverable. Restart Extract. If the problem persists, contact Contact Oracle Support.

 

OGG-00192: Unknown response code {1,number,0} from {0}

Cause: Extract received a message from the vamserv module that it cannot process.

Action: Not recoverable. Restart Extract. If the problem persists, contact Contact Oracle Support.

 

OGG-00193: Error {1,number,0} Posting WRITEREAD request to {0} Cause: Extract encountered a file system error while initiating a request to vamserv.

Action: Not recoverable. Restart Extract. If the problem persists, contact Contact Oracle Support.

 

OGG-00194: Error ‘{0}’ process not open.

Cause: The VAMSERV process is has not been opened for interprocess communication.

Action: Not recoverable. Restart Extract. If the problem persists, contact Contact Oracle Support.

 

OGG-00195: FILE_OPEN_ error {2,number,0} on process {0} ({1})

 

 

Cause:  An open on the vamserv process failed.

Action: Not recoverable. Restart Extract. If the problem persists, contact Contact Oracle Support.

 

OGG-00196: PROCESS_CREATE_ error {1,number,0},{2,number,0} on {0} Cause: The creation of a vamserv process failed. The OS error is shown in the message text.

Action: Evaluate the OS error in the message and take the appropriate action. If the problem persists, contact Oracle Support.

 

OGG-00197: Missing argument

Cause:  A parameter contains a missing or invalid input argument.

Action: Edit the parameter file to correct the syntax. For help, see the Oracle GoldenGate reference documentation.

 

OGG-00198: Missing/invalid argument

 

Cause:  A parameter contains a missing or invalid input argument.

Action: Edit the parameter file to correct the syntax. For help, see the Oracle GoldenGate reference documentation.

 

OGG-00199: Table {0} does not exist in target database

Cause: The specified table that is named in the Replicat parameter file does not exist in the target database.

Action: Verify the table specification in the parameter file and in the database. Edit the parameter file accordingly.

 

OGG-00200: Table name missing

Cause: A parameter requires the name of a table as input, and the name was not supplied.

Action:  Edit the parameter file to supply the table name.

 

OGG-00201: Column {0} not found

Cause: A column that is specified in the parameter file cannot be found in the table metadata.

Action: Verify the column specification in the parameter file and in the table definition. Edit the parameter file accordingly.

 

OGG-00202: Record definition name missing

Cause: The DEF option for a TABLE parameter in a DEFGEN parameter file is missing a value that specifies the definitions template, for example the “acctdefs” element in the following:

TABLE acct.sales, DEF acctdefs;

Action:  Specify the name of the definitions template.

 

OGG-00203: Unknown param for Table/File {0}

Cause: The TABLE or FILE parameter contains an unknown or invalid option.

Action: Verify that the TABLE or FILE syntax is correct, and look for typographical errors. For help with syntax, see the Oracle GoldenGate reference documentation.

 

 

OGG-00204: Missing {0} specification

Cause:  The specified parameter syntax is required.

Action: Add the specified syntax. For help, see the Oracle GoldenGate reference documentation.

 

OGG-00205: Syntax error in size specification: {0}

Cause: The size given as input to this parameter is either invalid or supplied in an invalid format.

Action: Specify a valid size specification for this parameter. For help, see the Oracle GoldenGate reference documentation.

 

OGG-00206: Invalid {0} specification

Cause:  The parameter contains an invalid input specification.

Action: Specify a valid input specification for this parameter. For help, see the Oracle GoldenGate reference documentation.

 

OGG-00207: Invalid {0} specification ({1})

Cause:  The parameter contains an invalid input specification.

Action: Specify a valid input specification for this parameter. For help, see the Oracle GoldenGate reference documentation.

 

OGG-00208: Missing/invalid {0} specification

Cause: An input specification is missing or invalid for the parameter.

Action: Specify a valid input specification for this parameter. For help, see the Oracle GoldenGate reference documentation.

 

OGG-00209: Missing value for {0}

Cause:  The specified parameter does not contain an input value.

Action: Specify a value for this parameter. For help with syntax and values, see the Oracle GoldenGate reference documentation.

 

OGG-00210: Invalid option for {0}

Cause: The parameter could not be parsed because it contains an invalid option.

Action: Fix the syntax. For help with syntax and values, see the Oracle GoldenGate reference documentation.

 

OGG-00211: Invalid option: {0}

Cause: The parameter could not be parsed because the specified option is invalid.

Action: Fix the syntax. For help with syntax and values, see the Oracle GoldenGate reference documentation.

 

OGG-00212: Invalid option for {0}: {1}

Cause: The parameter could not be parsed because the specified option is invalid.

Action: Fix the syntax. For help with syntax and values, see the Oracle GoldenGate reference documentation.

 

OGG-00213: Missing or invalid option for {0}

Cause: The parameter could not be parsed because a given option is either invalid or missing.

 

 

Action: Check the syntax for the specified parameter. For help with syntax and values, see the Oracle GoldenGate reference documentation.

 

OGG-00214: Value must be between {0,number,0} and {1,number,0} Cause:  The value is not valid.

Action:  Supply a value that is within the stated range.

 

OGG-00215: Value for {0} must be between {1,number,0} and {2,number,0} Cause:  The value given for the specified parameter is not valid.

Action:  Supply a value that is within the stated range.

 

OGG-00216: Value for {0} must be numeric, found {1}

Cause:  An invalid value was given for the specified parameter.

Action: Provide a numeric value. For valid values, see the Oracle GoldenGate reference documentation.

 

OGG-00217: Value for {0} must be numeric

Cause:  An invalid value was given for the specified parameter.

Action: Provide a numeric value. For valid values, see the Oracle GoldenGate reference documentation.

 

OGG-00218: Invalid value for {0}

Cause:  An invalid value was given for the specified parameter.

Action: Provide a valid value. For help with syntax and values, see the Oracle GoldenGate reference documentation.

 

OGG-00219: Invalid value for {0}: {1}

Cause:  The specified parameter contains an invalid value.

Action: Fix the problem that is shown in the error in the message text. For help with syntax and values, see the Oracle GoldenGate reference documentation.

 

OGG-00220: Invalid number of arguments for {0} {1}

Cause: The specified parameter requires more option arguments than were provided.

Action: Add the required arguments. For help with syntax, see the Oracle GoldenGate reference documentation.

 

OGG-00221: Invalid {0} setting for {1}: {2}

Cause: The specified option of this parameter is set to an invalid value.

Action: Specify a valid value. For more information, see the Oracle GoldenGate reference documentation.

 

OGG-00222: The column(s) used for the @RANGE filter for table {0} contain only NULL value(s) : There must be at least one non-NULL value present

Cause: The columns that are specified for the @RANGE filter contain only null values.

Action: Specify columns that have values, or remove the <columns> specification so that @RANGE uses the KEYCOLS clause (if one exists) or the primary key as the columns on which to allocate the range. For more

 

 

information, see the Oracle GoldenGate reference documentation for

@RANGE.

 

OGG-00223: USESNAPSHOT option NOT available for Oracle 8

Cause: USESNAPSHOT is only available for Oracle 9i and later. It causes Extract to use the Flashback Query mechanism to fetch data needed to reconstruct certain operations.

Action:  Remove USESNAPSHOT from FETCHOPTIONS.

 

OGG-00224: corrupt xml file ({0}): missing end-key value for {1}, batch-num {2,number,0}

Cause: An XML tag end key is missing from the XML file that is specified by SOURCEBATCHFILE for Veridata.

Action:  Add the end key or remove the XML tag.

 

OGG-00225: corrupt xml file ({0}): missing end-key column value for {1}, col {2}, batch-num {3,number,0}

Cause: An XML tag end key is missing from the XML file that is specified by SOURCEBATCHFILE for Veridata.

Action:  Add the end key or remove the XML tag.

 

OGG-00226: corrupt xml file ({0}): could not find entry for table {1} Cause: The process could not find the specified entry in the XML file that is specified by SOURCEBATCHFILE for Veridata.

Action:  Check for a typographical error, or add the specified entry.

 

OGG-00227: corrupt xml file ({0}): could not find batch entry for table {1} Cause: The process could not find the batch entry in the XML file that is specified by SOURCEBATCHFILE for Veridata.

Action:  Check for a typographical error, or add the specified entry.

 

OGG-00228: corrupt xml file ({0}): no batches exist for table {1}

Cause: A batches specification for the specified table is missing from the XML file that is specified by SOURCEBATCHFILE for Veridata.

Action:  Check for a typographical error, or add the batches.

 

OGG-00229: corrupt xml file ({0}): Expected batch node is missing Cause: The process could not find the batch node in the XML file that is specified by SOURCEBATCHFILE for Veridata.

Action:  Check for a typographical error, or add the batch node.

 

OGG-00230: corrupt xml file ({0}): missing name property from col node Cause: A column name property value is missing from a column node in the XML file that is specified by SOURCEBATCHFILE for Veridata.

Action:  Add the column name property value.

 

OGG-00231: corrupt xml file ({0}): expecting <row loc=”{1}”> node Cause: A row entry is missing from the XML file that is specified by SOURCEBATCHFILE for Veridata.

Action:  Check for a typographical error, or add the row entry.

 

OGG-00232: corrupt xml file ({0}): missing val=<value> in col node

 

 

Cause: A value is missing from the column node of the XML file that is specified by SOURCEBATCHFILE for Veridata.

Action:  Check for a typographical error, or add the missing entry.

 

OGG-00233: corrupt xml file ({0}): invalid col name ({1}) in col node Cause: There is an invalid column name in the column node of the XML file that is specified by SOURCEBATCHFILE for Veridata.

Action:  Correct the column name.

 

OGG-00234: corrupt xml file ({0}): missing type property

Cause: The process could not find a type property in the XML file that is specified by SOURCEBATCHFILE for Veridata.

Action:  Add the type property value.

 

OGG-00235: Invalid SOURCEBATCH file: missing {1} property in {0} node Cause: An XML format is invalid or missing in the XML file that is specified by SOURCEBATCHFILE for Veridata.

Action:  Specify a different XML file or fix the format.

 

OGG-00236: SOURCEKEYS file {0} does not exist

Cause:  The file specified by the SOURCEKEY parameter does not exist.

Action:  Specify the correct file name or create the file.

 

OGG-00237: Invalid {0} XML file: {1}

Cause: An invalid XML file is specified by SOURCEBATCHFILE or SOURCEKEYS for Veridata.

Action:  Specify the correct XML file.

 

OGG-00238: Invalid format for SOURCEBATCHFILE: expecting

<compare-batches> node

Cause: The process could not find a compare-batches node in the XML file that is specified by SOURCEBATCHFILE for Veridata.

Action:  Add the compare-batches node.

 

OGG-00239: SOURCEBATCHFILE is required when BATCHFILTER is specified

Cause: The BATCHFILTER parameter is specified, but the SOURCEBATCHFILE parameter is missing.

Action:  Add SOURCEBATCHFILE or remove BATCHFILTER.

 

OGG-00240: Already specified USERID or PASSWORD

Cause: There are duplicate USERID or PASSWORD database credentials specified in the parameter file. Only one set of credentials is allowed.

Action: Remove the invalid credentials statements, and then restart the process.

 

OGG-00241: Error on key name {0}, {1}

Cause: There was an error parsing the encryption key name that is specified with the ENCRYPT option.

Action: Fix the problem according to the error text that is given in the message.

 

 

OGG-00242: No KEYNAME given for BLOWFISH encryption

Cause: BLOWFISH encryption is specified, but the KEYNAME option is not included to specify the key name.

Action: Add the KEYNAME option to the ENCRYPT clause, as in ENCRYPT BLOWFISH, KEYNAME <keyname>. For more information, see the Oracle GoldenGate security documentation.

 

OGG-00243: A KEYNAME was supplied but encryption was not specified Cause: A KEYNAME parameter was specified without an accompanying ENCRYPT parameter.

Action: Specify an ENCRYPT parameter with an optional algorithm, or remove the KEYNAME parameter. For help with syntax, see the Oracle GoldenGate security documentation.

 

OGG-00244: KEYNAME is not supported for GGS encryption Cause:  A KEYNAME parameter was specified incorrectly.

Action: Remove the KEYNAME parameter or use valid ENCRYPT syntax. For help, see the Oracle GoldenGate security documentation.

 

OGG-00245: Not logged on, cannot execute statement

Cause: Login credentials were not provided with the SOURCEDB or TARGETDB to execute the query or stored procedure.

Action: Add the SOURCEDB or TARGETDB parameter to the parameter file, including the USERID portion if required for your database. See the Oracle GoldenGate reference documentation for correct syntax for your database.

 

OGG-00246: Maximum input column length exceeded for col {0,number,0} Cause: The size of the specified input or output parameter exceeds the supported length.

Action:  Shorten the length of the column to 10,000 bytes or less.

 

OGG-00247: Invalid query – all result columns must be named explicitly (col {0,number,0})

Cause: The process could not find the name of a column that is specified in an output parameter for SQLEXEC.

Action: Check the Sybase error log to find the error that is associated with this SQLEXEC execution, and resolve the problem based on that message.

 

OGG-00248: Invalid query specified: {0}

Cause:  The specified syntax is not a valid query for SQLEXEC.

Action: Fix the query syntax and then restart the process. For help with using SQLEXEC, see the Oracle GoldenGate reference documentation.

 

OGG-00249: Cannot handle an input parameter of type {0}

Cause: The specified SQLEXEC statement in the parameter file contains an unsupported parameter or column type.

Action: Specify a valid parameter or column type, and then restart the process. For help with using SQLEXEC, see the Oracle GoldenGate reference documentation.

 

OGG-00250: Stored procedure/function {0} does not exist

 

 

Cause: The SQLEXEC parameter refers to a stored procedure or function, but it does not exist in the database.

Action: Check the spelling of the name of the procedure or function in the parameter file. Create the procedure, if needed, and then restart the process.

 

OGG-00251: Stored procedure/function {0} does not exist ({1})

Cause: The SQLEXEC parameter refers to a stored procedure or function, but it does not exist in the database.

Action: Refer to the database error shown in the message, and check the spelling of the name of the procedure or function in the parameter file. Fix the problem according to the error message, and then restart the process.

 

OGG-00252: ODBC driver does not adequately support stored procedures (level={0,number,0})

Cause: The current version of the ODBC driver does not support stored procedures. Conformance level 2 is required.

Action: Upgrade to the ODBC driver that has a conformance level 2 (SQL_ OAC_LEVEL2).

 

OGG-00253: The option {0} is deprecated. Please contact Oracle Support for assistance on possible migration procedure

Cause: The specified parameter option is deprecated and not valid for the current release of Oracle GoldenGate.

Action: Remove the option from the parameter file. Consult the current release notes and documentation for any newer options or enhanced functionality that is related to this feature, and for any required migration steps, or contact Oracle Support.

 

OGG-00254: {0} is a deprecated parameter

Cause: The specified parameter is deprecated and not valid for the current release of Oracle GoldenGate.

Action: Remove the parameter from the parameter file. Consult the current release notes and documentation for any newer parameters or enhanced functionality that is related to this parameter, and for any required migration steps, or contact Oracle Support.

 

OGG-00255: {0} value is too small, defaulting to minimum value ({1,number,0})

Cause: The value that is specified for the parameter is smaller than the allowable minimum value. The minimum value is being used.

Action: None

 

OGG-00256: Missing or invalid cache item count

Cause:  The value for the SPMAXCACHEITEMS parameter is missing.

Action:  Enter a valid value and then restart the process.

 

OGG-00257: Dynamic wildcarding is not supported for SOURCEISTABLE extract

Cause: WILDCARDRESOLVE DYNAMIC (the default) is specified, but SOURCEISTABLE is being used. This combination is not supported.

Action:  Set WILDCARDRESOLVE to IMMEDIATE.

 

OGG-00258: Missing table name specification

 

 

Cause: The name of the source table is missing from the TABLE or MAP parameter.

Action:  Specify the name of the source table.

 

OGG-00259: Schema name cannot be wildcarded

Cause: Oracle GoldenGate does not support wildcarded schema names in parameter files or commands.

Action: Spell out the schema name in the parameter or command specification, and then restart the process.

 

OGG-00260: Tandem $Volume.Subvol Name can not be wildcarded Cause: A wildcard has been specified as part of a file name. Oracle GoldenGate does not support the wildcarding of Guardian file names.

Action:  Change the parameter file to uniquely list each file by name.

 

OGG-00261: Immediate wildcard resolution is not currently supported for c-tree (use WILDCARDRESOLVE DYNAMIC)

Cause:  WILDCARDRESOLVE IMMEDIATE is not supported for c-tree.

Action: Change WILDCARDRESOLVE to DYNAMIC, and then restart the process.

 

OGG-00262: TARGET table name may have at most one wildcard.

Cause: The wildcard resolution failed because more than one wildcard was specified.

Action: Fix the syntax. A target wildcarded specification can have only one asterisk (like rpt.* or rpt.tab*). For more information, see TABLE and MAP in the Oracle GoldenGate reference documentation.

 

OGG-00263: TARGET owner name may have at most one wildcard.

Cause: The wildcard resolution failed because more than one wildcard was specified.

Action: Fix the syntax. A target wildcarded owner specification can have only one asterisk (like rpt*.table but not *rpt*.table). For more information, see TABLE and MAP in the Oracle GoldenGate reference documentation.

 

OGG-00264: Unable to replace wildcard ‘*’ with source table name Cause:  The wildcard resolution failed.

Action: Examine the wildcarded table names to make certain that the syntax is correct. Keep in mind that for source objects, you can use a partial name with a wildcard (like hq.t_*) but for target objects, you cannot use a wildcard with a partial name, because the asterisk is replaced with the name of the source object. Therefore, a target wildcarded specification can only be an asterisk (like rpt.*). For more information, see TABLE and MAP in the Oracle GoldenGate reference documentation.

 

OGG-00266: Could not open obey file {0} (err {1,number,0}, {2})

Cause: The process could not open the specified OBEY file because of the operating system error that is shown in the message text.

Action: Fix the cause of the error (typically lack of read privilege) and then restart the process.

 

OGG-00267: Obey file {0} does not exist

Cause: The file that is specified with OBEY does not exist.

 

 

Action: Compare the specified file name with the actual name of the obey file. Make the appropriate corrections, and then restart the process.

 

OGG-00268: Parameter unterminated

Cause:  OBEY is used without a file name as input.

Action:  Use the correct syntax of OBEY <file name>.

 

OGG-00269: No obey file specified

Cause:  No file name is given for the OBEY parameter.

Action:  Specify the name of the obey file, and then restart the process.

 

OGG-00270: Nested obey files not supported

Cause: There are one or more nested OBEY files in the current OBEY file. OBEY statements cannot be nested within other OBEY statements.

Action: Remove the nested OBEY statement, or merge the contents into the main OBEY statement. As an alternative to using nested OBEY files, you can use macros to call frequently used parameters, and then call the macro in the OBEY statement. For more information, see the Oracle GoldenGate documentation.

 

OGG-00271: Invalid options specified

Cause:  The OBEY parameter contains more than one input file name.

Action:  Fix the syntax to specify only one file, and then restart the process.

 

OGG-00272: Invalid MACRO invocation ({0})

Cause:  There is a syntax error in the invokation of the specified macro.

Action: The basic syntax is: [<target> =] <macrochar><macroname> (<val1>, <val2> [, …]) or (if there are no parameters) [<target> =]

<macrochar><macroname> (). For more information, see the Oracle GoldenGate reference documentation.

 

OGG-00273: Missing parameter name {1} in macro {0}

Cause: The parameter name is used in the body of MACRO but is not specified in the PARAMS list.

Action:  Add the parameter to the PARAMS list.

 

OGG-00274: Invalid MACRO invocation (macro {0}, {2,number,0} params specified, {1,number,0} required)

Cause: The invocation of the specified macro does not supply the same number of parameter values as the macro definition.

Action: Edit the invocation syntax to specify the correct number of parameter values. Remember to separate values with commas.

 

OGG-00275: Quoted string not terminated in MACRO invocation Cause: A macro is invoked in the parameter file, with a quoted string as a parameter value, but the ending quote marks are missing.

Action:  Add the ending quote marks, for example:

 

Date = #assign_date (“January”, “Sale”)

OGG-00276: Missing open parentheses in MACRO invocation Cause: A macro is invoked in the parameter file, but a parentheses is missing.

 

 

Action:  Add the parentheses. The format of an invokation is:

 

[<target> =] <macro name> (<val1>, <val2> [, …])

OGG-00277: No definition found for MACRO {0}

Cause:  A definition for the specified macro could not be found.

Action: Define the macro within the MACRO parameter. For help, see the Oracle GoldenGate reference documentation.

 

OGG-00278: Invalid MACRO definition (body too long) Cause:  The body of the macro definition is too long.

Action:  Shorten the body length to 99999 bytes or less.

 

OGG-00279: Invalid MACRO definition (BEGIN not specified)

Cause:  The MACRO definition does not begin with the BEGIN keyword.

Action:  Add the BEGIN keyword, as in this example:

 

PARAMS ($p1) BEGIN

col = $p1 END;

OGG-00280: Duplicate MACRO name {0}

Cause:  There are two identical macro names in the parameter file.

Action:  Change one of the names to a different, unique value.

 

OGG-00281: Invalid MACRO name

Cause:  The name in the MACRO statement is invalid.

Action: Make certain that the name is one word (alphanumeric with no spaces) and begins with a valid macro character (# symbol or one defined with the MACROCHAR parameter). For additional help, see the Oracle GoldenGate reference documentation.

 

OGG-00282: Invalid MACRO definition Cause:  The macro definition is not valid.

Action: Examine the macro syntax to find errors. For help, see the Oracle GoldenGate documentation.

 

OGG-00283: Duplicate macro parameter name ({0})

Cause:  The MACRO parameter contains a duplicate parameter name.

Action:  Remove the duplicate name or change it to a unique one.

 

OGG-00284: Too many parameters specified in macro

Cause:  The PARAMS clause of the MACRO definition is too long.

Action: Reduce the size of PARAMS to a maximum of 9999 bytes and no more than 99 parameters.

 

OGG-00285: Invalid macro parameter name ({0} – must begin with {1}) Cause:  The name of the parameter is not preceded by the macro character.

Action: Add the macro character that is shown in this error message. This character must precede all macro parameter names.

 

OGG-00286: Invalid trailing characters in MACRO

Cause:  The MACRO statement ends with the wrong character.

 

 

Action: Terminate the MACRO statement with the END keyword and a semicolon (END;).

 

OGG-00287: Invalid MACRO definition (params too long) Cause:  The PARAMS clause of the MACRO definition is too long.

Action: Reduce the size of PARAMS to a maximum of 9999 bytes and no more than 99 parameters.

 

OGG-00288: Unrecognized option in DDL statement [{0}]

Cause:  The specified option is not a valid one for the DDL parameter.

Action: Specify a valid option. See the Oracle GoldenGate reference documentation for help with syntax.

 

OGG-00289: Unrecognized option in DDLOPTIONS [{0}] Cause:  The specified option is not a valid one for DDLOPTIONS.

Action: Specify a valid option. See the Oracle GoldenGate reference documentation for help with syntax.

 

OGG-00290: Error decoding encrypted password in DDLOPTIONS DEFAULTUSERPASSWORD [{0}]

Cause:  The encrypted password is not correct.

Action: In GGSCI, encrypt the password with the ENCRYPT PASSWORD command and then copy and paste it into the DEFAULTUSERPASSWORD syntax. Check the Oracle GoldenGate reference documentation for the appropriate options to use with DEFAULTUSERPASSWORD and ENCRYPT PASSWORD.

 

OGG-00291: Password missing in DDLOPTIONS DEFAULTUSERPASSWORD

Cause: A clear-text or encrypted password is not specified for DEFAULTUSERPASSWORD.

Action: Specify a password. See DDLOPTIONS in the Oracle GoldenGate reference documentation for parameter encryption options.

 

OGG-00292: Error code specified in DDLERROR, but no action (IGNORE, DISCARD, ABEND) [{0}]

Cause: An action for handling the error is not specified for the error code in the DDLERROR statement.

Action: Specify one of the actions, and then restart the process. For more information, see DDLERROR in the Oracle GoldenGate reference documentation.

 

OGG-00293: Error action for DDLERROR already specified (IGNORE, DISCARD, ABEND) [{0}]

Cause: The DDLERROR parameter contains duplicate error-handling (action) specifications.

Action:  Remove the duplicate syntax, and then restart the process.

 

OGG-00294: Error code or DEFAULT already specified in DDLERROR [{0}]

Cause: The DDLERROR parameter contains duplicate specifications for the same error code or the DEFAULT keyword.

Action:  Remove the duplicate syntax, and then restart the process.

 

 

OGG-00295: Not a valid option for [MAXRETRIES numberOfSeconds] [{0}] Cause:  The RETRYOP option of DDLERROR has a MAXRETRIES option, but an invalid value was supplied.

Action:  Specify a value between 1 and 10000, and then restart the process.

 

OGG-00296: Not a valid option for [RETRYDELAY numberOfSeconds] [{0}] Cause:  An invalid value is given for RETRYDELAY.

Action: Specify RETRYDELAY as <n> seconds, where seconds is the delay before retrying the operation.

 

OGG-00297: Error code or DEFAULT already specified in DDLERROR Cause: The DDLERROR parameter contains duplicate specifications for the same error code or the DEFAULT keyword.

Action:  Remove the duplicate syntax, and then restart the process.

 

OGG-00298: error with property {1} in node {0}: {2}

Cause: An element or attribute is missing from the XML message. This is an internal error in Oracle GoldenGate Veridata Server.

Action:  Contact Oracle Support.

 

OGG-00299: invalid true/false value ({2}) for expected property {1} in node

{0}

Cause: A boolean attribute in an XML message does not have a true/false value. This is an internal error in Oracle GoldenGate Veridata Server.

Action:  Contact Oracle Support.

 

OGG-00300: maximum length exceeded ({2,number,0}), property {1} in node {0}

Cause: An XML message has an element or attribute that exceeds the defined limit. This is an internal error in Oracle GoldenGate Veridata Server.

Action:  Contact Oracle Support.

 

OGG-00301: could not find expected property {1} for {0}

Cause: An XML message is missing an expected attribute. This is an internal error in Oracle GoldenGate Veridata Server.

Action:  Contact Oracle Support.

 

OGG-00302: Invalid compare files

 

Cause: A report, trace, status, or parameter file name in an XML message cannot be opened. This is an internal error in Oracle GoldenGate Veridata Server.

Action:  Contact Oracle Support.

 

OGG-00303: {0}

Cause:  The syntax of the specified parameter is incorrect.

Action: Check for spelling errors, or see the Oracle GoldenGate reference documentation for the correct syntax.

 

OGG-00304: {0}

Cause: This is an informational message that displays the result of checking permission.

 

 

Action: None

 

OGG-00308: Missing end quote

OGG-00319: Invalid rule specification

Cause:  A rule in the ACCESSRULE parameter is not formatted properly.

Action: Correct the syntax and restart Manager. Note that this parameter is deprecated. For more information, contact Oracle Support.

 

OGG-00320: Too many rules specified

Cause:  There are too many rules in the ACCESSRULE parameter.

Action: Remove some rules, and then restart Manager. Note that this parameter is deprecated. For more information, contact Oracle Support.

 

OGG-00321: Invalid or missing argument in run command

Cause:  An argument in a Manager parameter is either missing or invalid.

Action: Correct the parameter syntax. For help, see the Oracle GoldenGate reference documentation.

 

OGG-00322: Missing group specifier

Cause:  A process was not specified for the specified parameter to act upon.

Action: This parameter accepts values of ER, EXTRACT, or REPLICAT. For more information, see the Oracle GoldenGate reference documentation.

 

OGG-00323: Missing group specification for {0}

Cause:  A process was not specified for the specified parameter to act upon.

Action: This parameter accepts values of ER, EXTRACT, or REPLICAT. For more information, see the Oracle GoldenGate reference documentation.

 

OGG-00324: Must specify EXTRACT, REPLICAT or ER for group type Cause:  A process was not specified for the specified parameter to act upon.

Action: This parameter accepts values of ER, EXTRACT, or REPLICAT. For more information, see the Oracle GoldenGate reference documentation.

 

OGG-00325: Must specify ER, EXTRACT, or REPLICAT for {0} Cause:  A process was not given for the specified parameter to act upon.

Action: This parameter accepts values of ER, EXTRACT, or REPLICAT. For more information, see the Oracle GoldenGate reference documentation.

 

OGG-00326: Missing file set parameter ({0})

Cause:  The process was not given a set of file names to act upon.

Action:  Make certain that any parameters in the Manager parameter file that require file names contain them in a valid format. For help, see the Oracle GoldenGate reference documentation.

 

OGG-00327: Too many {0} entries (max is {1,number,0})

Cause:  There are too many instances of the specified parameter.

Action: Reduce the instances of this parameter to the permitted number. You may be able to combine options from these mutiple instances into fewer instances or one instance of this parameter. For more information, see the Oracle GoldenGate reference documentation.

 

 

OGG-00328: The maximum number of {0} parameters allowed is

{1,number,0}

Cause:  There are too many instances of the specified parameter.

Action: Reduce the instances of this parameter to the permitted number. You may be able to combine options from these mutiple instances into fewer instances or one instance of this parameter. For more information, see the Oracle GoldenGate reference documentation.

 

OGG-00329: Invalid protocol ({0})

Cause:  An unsupported communications protocol was specified.

Action:  Specify either TCP or UDP as the protocol.

 

OGG-00330: Ending port must be greater than or equal to starting port ({0})

Cause: The specified port number at the end of the DYNAMICPORTLIST range of ports is a lower value than the one at the beginning of the range.

Action: Edit the parameter to specify a valid range that increases in value. Correct: 7830-7835 ; Incorrect: 7835-7830.

 

OGG-00331: Invalid ending port number ({0})

Cause: The specified port number at the end of the DYNAMICPORTLIST range of ports is not valid.

Action: Edit the Manager parameter file to specify a valid port range, and then restart Manager. An example is 7830-7835.

 

OGG-00332: Invalid port range ({0})

Cause: An invalid range of port numbers is specified for the DYNAMICPORTLIST parameter in the Manager parameter file.

Action: Specify a valid range of port numbers in the format of: DYNAMICPORTLIST <port>-<port> [ , …]. You can specify an individual port, a comma-delimited list of non-sequential ports, a range of ports, or all.

Examples: 7830, 7833 or 7830-7835 or 7830-7835, 7839. For more information, see the Oracle GoldenGate reference documentation.

 

OGG-00333: Invalid port number ({0})

Cause: The TCP/IP port number that is specified in the Manager parameter file is not a valid port number.

Action: Specify a valid, unused port number for the PORT parameter in the Manager parameter file, and then restart Manager.

 

OGG-00334: Must specify {0} or {1}

Cause: One of the two required parameters must be included in the parameter file, but not both.

Action:  Add the required parameters, and then restart the process.

 

OGG-00335: Invalid specifier {0} for AFTER option, expected DAYS or HOURS

Cause: The PURGEOLDTASKS parameter is being used with the AFTER option, but the syntax is not correct.

Action:  Specify AFTER <number> {DAYS | HOURS}.

 

OGG-00336: Must specify DAYS or HOURS for AFTER option

 

 

Cause: The PURGEOLDTASKS parameter is being used with the AFTER option, but the syntax is not correct.

Action:  Use one of the time specifiers in this syntax: AFTER <number>

{DAYS | HOURS}. Restart the process after correcting the syntax.

 

OGG-00337: Missing history table name

Cause: The PURGEOLDHISTORY parameter is being used, but the name of the DDL history table is not the default name, and the user-defined name is not specified with the DDLTABLE parameter in the GLOBALS file.

Action: Specify the name of the DDL history table with DDLTABLE, and then restart the process.

 

OGG-00338: SQL clause not specified

Cause:  The SQL for the QUERY clause is missing.

Action: Specify the query in the QUERY clause. For help with syntax, see SQLEXEC in the Oracle GoldenGate reference documentation.

 

OGG-00339: Invalid interval for SQLEXEC

Cause: The interval that is defined with the EVERY option is not a whole, positive integer.

Action:  Change the value to 1 or greater, and then restart the process.

 

OGG-00340: SQLEXEC interval must be 1 or greater

Cause: The interval that is defined with the EVERY option is not a whole, positive integer.

Action:  Change the value to 1 or greater, and then restart the process.

 

OGG-00341: Error in SQLEXEC clause, id {0}: Missing/invalid argument for {1}

Cause:  An argument is missing or incorrect in the specified syntax.

Action: Check for a typographical error, and refer to the SQLEXEC reference documentation for help with syntax.

 

OGG-00342: Error in SQLEXEC clause, id {0}: Invalid value for {1} option ({2})

Cause:  The specified option contains an invalid value.

Action: Check the SQLEXEC documentation in the Oracle GoldenGate reference documentation for valid values.

 

OGG-00343: Error in SQLEXEC clause, id {0}: Invalid TRACE options Cause:  The TRACE syntax is incorrect.

Action: Specify TRACE with either ALL to trace input and output parameters for each invocation of the procedure or query (the default) or ERROR to trace the parameters for each invocation only after a SQL error occurs.

 

OGG-00344: Error in SQLEXEC clause, id {0}: Unrecognized option for SQLEXEC: {1}

Cause:  The SQLEXEC statement contains the specified incorrect syntax.

Action: Check for a typographical error, and refer to the SQLEXEC reference documentation for help with syntax.

 

 

OGG-00345: Error in SQLEXEC clause, id {0}: SPNAME or QUERY is required

Cause: The SQLEXEC statement does not contain a clause that specifies whether it will execute a procedure (SPNAME) or a query (QUERY).

Action: Add the SPNAME or QUERY clause, based on syntax for SQLEXEC in the Oracle GoldenGate reference documentation.

 

OGG-00346: Error in SQLEXEC clause, id {0}: ID is required when QUERY specified

Cause: ID <logical name> is missing from the SQLEXEC statement. It is required so that a name can be used by Oracle GoldenGate to reference the column values returned by the query.

Action: Add the ID clause. For help, see SQLEXEC in the Oracle GoldenGate reference documentation.

 

OGG-00347: Error in SQLEXEC clause, id {0}: Invalid PARAMS specification ({1})

Cause: The specified SQLEXEC clause contains a PARAMS specification that has a syntax error.

Action: Fix the PARAMS clause according to the syntax listed for SQLEXEC in the Oracle GoldenGate reference documentation.

 

OGG-00348: Error in SQLEXEC clause, id {0}: Missing/invalid PARAMS specification for stored proc {1}

Cause: The specified SQLEXEC clause requires a PARAMS specification to supply input parameters.

Action: Add a PARAMS clause, or fix any syntax errors in the existing one. For help with syntax, see SQLEXEC in the Oracle GoldenGate reference documentation.

 

OGG-00349: Error in SQLEXEC clause, id {0}: Missing equals sign for param specifier ({1})

Cause:  The parameter specifier must be in the format of <param name> =

<input source>.

Action: Fix the error, and then restart the process. For more help with syntax, see the Oracle GoldenGate reference documentation.

 

OGG-00350: Error in SQLEXEC clause, id {0}: Invalid parameter name: {1} Cause:  There is an invalid parameter in the specified SQLEXEC clause.

Action: Check for a typographical error in the parameter name. For valid parameters, see SQLEXEC in the Oracle GoldenGate reference documentation. Fix the syntax, and then restart the process.

 

OGG-00351: Error in SQLEXEC clause, id {0}: Error in PARAM clause for

{1}

Cause:  There is a syntax error in the specified SQLEXEC clause.

Action: Fix the syntax for the specified parameter in the PARAMS clause, and then restart the process. For help, see SQLEXEC in the Oracle GoldenGate reference documentation.

 

OGG-00352: Error in SQLEXEC clause, id {0}: Missing required parameter:

{1}

Cause:  A required parameter is missing from the specified SQLEXEC clause.

 

 

Action: Check the Oracle GoldenGate reference documentation for the correct SQLEXEC syntax and required options.

 

OGG-00353: Could not find stored procedure param ({0})

Cause: A parameter is specified in a PARAMS clause of a SQLEXEC statement but cannot be found in the procedure.

Action: Compare the procedure with the PARAMS clause, and either add the required parameter to the procedure, or remove it from the SQLEXEC statement.

 

OGG-00354: Invalid BEFORE column: {0} Cause:  An invalid column name was specified.

Action:  Specify the correct column name in your input.

 

OGG-00355: Programming error registering BEFORE image resource Cause: A before image was registered twice to handle an update statement. Action:  This is an internal error. Contact Oracle Support.

OGG-00357: Missing equal sign

Cause:  An equal sign is missing from the DDL history.

Action:  Contact Oracle Support.

 

OGG-00360: {0} cannot be used with {1}

Cause:  The specified parameters are incompatible or mutually exclusive.

Action: Remove one of the parameters, depending on the required Oracle GoldenGate configuration. For help, see the Oracle GoldenGate reference documentation.

 

OGG-00361: Must specify both {0} and {1}

Cause: Both of the specified parameters must be included in the parameter file.

Action:  Add the required parameters, and then restart the process.

 

OGG-00362: {0} must be specified before {1}

Cause:  The order of the parameters in the parameter file is incorrect.

Action:  Change the order of the parameters, and then restart the process.

 

OGG-00363: {0} must occur before SOURCEDEFS/TARGETDEFS entries to have an effect. Parameter ignored.

Cause: The NUMFILES or ALLOCFILES parameter is specified after the SOURCEDEFS or TARGETDEFS parameter.

Action: Place NUMFILES or ALLOCFILES before SOURCEDEFS or TARGETDEFS in the parameter file.

 

OGG-00364: REPERROR clause {0} is not valid with DEFAULT/DEFAULT2. Parameter ignored.

Cause:  The REPERROR syntax is incorrect.

Action: Correct the syntax. For help, see the Oracle GoldenGate reference documentation.

 

OGG-00365: {0} cannot be specified more than once per TABLE

Cause:  The specified option can only be used once in a TABLE statement.

 

 

Action:  Remove any extra instances of this option.

 

OGG-00366: Invalid column specified in {0}: {1}

Cause: The specified column does not exist. This message can apply to any of several different parameters that take a column name as input.

Action: Check the parameter file for parameters or options that take a column name as input, and verify that the name(s) are valid. Specify a valid name or remove the parameter.

 

OGG-00367: Error in {0} list: {1}

Cause: There is a syntax error in the specified parameter, such as a missing double quote.

Action: Check and correct the syntax. For help, see the Oracle GoldenGate reference documentation.

 

OGG-00368: Already specified column list for current table

Cause:  There are two or more COLS clauses for the same specified table.

Action:  Remove all but one COLS clause for this table.

 

OGG-00369: Error in token clause for {0}

Cause: The TOKENS clause of the specified parameter contains an error in syntax.

Action: Fix the syntax error. For correct syntax, see the Oracle GoldenGate reference documentation.

 

OGG-00370: Invalid function definition

Cause: There is a syntax error in the definition of a column function, such as a missing parenthesis or an unmatched quote mark.

Action: Fix the syntax. For help, see the Oracle GoldenGate reference documentation.

 

OGG-00372: Missing TOKEN value/function

Cause:  The TOKENS clause of TABLE does not contain a value.

Action: Supply a value that can be a constant that is enclosed within double quotes or the result of an Oracle GoldenGate column-conversion function.

 

OGG-00373: Bad TOKEN name

Cause:  The name of the token in the TOKENS clause is invalid.

Action: Supply an ASCII alphanumeric name of any length. TOKENS is not case-sensitive.

 

OGG-00374: Expected TOKEN name

Cause:  The name of the token in the TOKENS clause is missing.

Action: Supply an ASCII alphanumeric name of any length. TOKENS is not case-sensitive.

 

OGG-00375: Error in FILTER clause

Cause:  The FILTER statement in TABLE or MAP contains a syntax error.

Action: Correct the syntax error. For more information, see the TABLE and MAP reference documentation.

 

OGG-00376: FILTER condition missing

 

 

Cause: The FILTER statement in TABLE or MAP does not contain a filter expression.

Action: Add a filter expression. For more information, see the TABLE and MAP reference documentation.

 

OGG-00377: Query/Table {0} already identified

Cause: Table metadata is resolved, but the table is specified by the QUERY parameter. This parameter is deprecated.

Action:  Remove the QUERY parameter.

 

OGG-00378: Missing query statement

Cause: The query statement is missing from the QUERY parameter. This parameter is deprecated.

Action:  Add the query statement.

 

OGG-00379: Missing query name

Cause: The query name is missing from the QUERY parameter. This parameter is deprecated.

Action:  Add the query name.

 

OGG-00380: TIMEZONE must be LOC, GMT or SOURCE

Cause:  An invalid option is specified for TIMEZONE.

Action:  Provide a value that is one of ‘LOC’, ‘SOURCE’, or ‘GMT’.

 

OGG-00381: Invalid option

Cause:  A parameter contains an invalid argument.

Action: Edit the parameter file to specify the correct argument. For help, see the Oracle GoldenGate reference documentaiton.

 

OGG-00382: Invalid option for {0}

Cause:  The specified parameter contains an invalid option.

Action: Specify the correct option syntax. For help, see the Oracle GoldenGate reference documentation.

 

OGG-00383: Invalid parameter value

Cause:  The specified parameter contains an invalid value.

Action: Specify the correct value. For help, see the Oracle GoldenGate reference documentation.

 

OGG-00384: {0} name must not have schema name.

Cause: Schema values are not allowed when specifying the table name for this parameter.

Action:  Remove the schema name from the table name.

 

OGG-00385: Expecting table name after {0}

Cause:  The specified parameter requires a table name.

Action:  Specify the name of the table to be used with the parameter.

 

OGG-00386: Expecting schema name after {0}

Cause: The GGSCHEMA parameter in the GLOBALS file does not specify the schema that contains the database objects that support DDL synchronization for Oracle.

 

 

Action:  Edit the GLOBALS file and supply the DDL schema name.

 

OGG-00387: Expecting service name after {0}

Cause: The MGRSERVNAME parameter in the GLOBALS file does not contain a Windows service name for Manager.

Action: Edit the GLOBALS file and supply the service name of Manager in the MGRSERVNAME parameter.

 

OGG-00388: Missing argument (line {0,number,0})

Cause: The process is generating a BCP format file to load data into a SQL Server table based on a template file, but the template file name is missing.

Action:  Provide a template file name with the GENLOADFILES parameter.

 

OGG-00389: Invalid files section entry (line {0,number,0})

Cause: The section on the specified line of the template contains an invalid entry.

Action: Specify a valid file entry. For help, see GENLOADFILES in the Oracle GoldenGate reference documentation.

 

OGG-00390: {1} entry missing from template (line {0,number,0}) Cause:  The specified section is missing from the control file template.

Action: Specify a valid entry. For help, see GENLOADFILES in the Oracle GoldenGate reference documentation.

 

OGG-00391: Cannot replace template {1}. Replacement too big. (line

{0,number,0})

Cause: While generating a BCP format file for loading a SQL Server table based on a template file, the startup template parameter is too long.

Action:  Correct the template parameter that is shown in the message.

 

OGG-00392: Bad delimiter specified

Cause: An invalid delimiter value is specified for the DELIMITER parameter in FORMATASCII.

Action: Specify a valid delimiter. For help, see the Oracle GoldenGate reference documentation.

 

OGG-00393: Missing delimiter

Cause: The DELIMITER parameter in FORMATASCII is missing the delimiter specification.

Action: Specify the delimiter. For help, see the Oracle GoldenGate reference documentation.

 

OGG-00394: Command is too long

Cause:  A command in the parameter file is too long.

Action:  Look for a syntax error like a missing delimiter or white space.

 

OGG-00395: Argument is too long

Cause:  A command argument in the parameter file is too long.

Action:  Look for a syntax error like a missing delimiter or white space.

 

OGG-00396: Command not terminated by semi-colon Cause:  A command is not terminated by a semi-colon.

 

 

Action:  Add the semi-colon.

 

OGG-00397: Missing {1} option for {0}

Cause:  The specified parameter requires the specified option.

Action: Add the option and then restart the process. See the Oracle GoldenGate reference documentation for help with syntax.

 

OGG-00398: String before WITH in DDLSUBST cannot be empty

Cause: The DDLSUBST statement does not contain the string in the source DDL that is to be replaced in the target DDL.

Action: Supply a search string in this clause: DDLSUBST ‘<search_string>’ WITH ‘<replace_string>’.

 

OGG-00399: Missing string after WITH in DDLSUBST

Cause: The string that replaces the source string in the target DDL is missing.

Action: Supply a replacement string in this clause: DDLSUBST ‘<search_ string>’ WITH ‘<replace_string>’.

 

OGG-00400: DDLSUBST parsing error: {0}

Cause: The specified error occurred while processing the DDLSUBST parameter.

Action: Fix the problem based on the reported error, and then restart the process.

 

OGG-00401: DDL Replication must be enabled in order to use {0} (use DDL statement earlier)

Cause:  DDL replication is not enabled.

Action: Install (if applicable) and enable DDL replication. For help, see the Oracle GoldenGate administration documentation.

 

OGG-00402: WILDCARDRESOLVE parameter must be set to DYNAMIC when DDL replication is enabled.

Cause:  The WILDCARDRESOLVE parameter is not set to DYNAMIC.

Action:  Set WILDCARDRESOLVE to DYNAMIC and restart the process.

 

OGG-00403: There can be only one DDL filtering statement. If DDL filter is long, use ampersand (&) sign to continue it on another line.

Cause:  The parameter file contains more than one DDL statement.

Action: Combine the filtering in the statements into one DDL statement. See the Oracle GoldenGate reference documentation for help with syntax. You can divide a long DDL statement onto separate lines by using an ampersand at the end of each line.

 

OGG-00405: {0} must be used with DDL replication.

Cause:  The specified parameter is required when using DDL replication.

Action: Add the parameter, and then restart the process. See the Oracle GoldenGate reference documentation for more information about this parameter.

 

OGG-00406: DDL replication is not compatible with {0} parameter.

Cause: The specified parameter cannot be used when DDL replication is enabled.

 

 

Action: Remove the parameter from the parameter file, and then restart the process.

 

OGG-00407: Not a valid error code for DDLERROR [{0}] Cause:  The specified error code is not valid.

Action: Specify a valid error code, or use the DEFAULT option. See the Oracle GoldenGate reference documentation for correct DDLERROR syntax.

 

OGG-00408: RETRYOP not specified prior to RETRYDELAY Cause: RETRYOP MAXRETRIES <n> must be specified before RETRYDELAY <delay> in the DDLERROR syntax.

Action: Fix the syntax. See the Oracle GoldenGate reference documentation for correct DDLERROR syntax.

 

OGG-00409: Error code or DEFAULT not specified prior to RETRYOP Cause:  The DDLERROR parameter does not specify an error type (either

<error> or DEFAULT).

Action: Fix the syntax by providing an error type. See the Oracle GoldenGate reference documentation for correct DDLERROR syntax.

 

OGG-00410: {0} is limited by the DBMS to a maximum of {1,number,0} Cause: The number specified in MAXSQLSTATEMENTS is greater than the maximum active statements allowed by the underlying database.

Action: Adjust the MAXSQLSTATEMENTS value to be at most the maximum number supported by the database.

 

OGG-00411: Must be PURGE or APPEND

Cause:  The file specification is missing the PURGE or APPEND option.

Action:  Specify the appropriate option.

 

OGG-00412: Must be PURGE, APPEND, MAXBYTES, or MEGABYTES

Cause:  The DISCARDFILE parameter contains an invalid argument.

Action: Valid options are [, APPEND | PURGE] and [, MAXBYTES <n> | MEGABYTES <n>].

 

OGG-00413: {0} must include both date and time

Cause:  An incomplete timestamp is supplied in the parameter file.

Action: Edit the parameter file to include both a date and time in the timestamp, in the format of yyyy-mm-dd hh:mi:ss[.cccccc]

 

OGG-00414: Invalid {0} format

Cause: An invalid date and time are specified for the BEGIN or END parameter.

Action:  Specify a valid date and time.

 

OGG-00415: {0}

Cause:  The user exit contains a bad argument.

Action: Supply a valid argument. See the Oracle GoldenGate reference documentation for user exit syntax.

 

OGG-00416: Value for {0} must be greater than 0

Cause:  The value for the specified parameter must be greater than zero.

 

 

Action:  Supply a valid value.

 

OGG-00417: Value for {0} must be greater than or equal to 0

Cause: The value for the specified parameter must be greater than, or equal to, zero.

Action:  Supply a valid value.

 

OGG-00418: Error encountered when verifying deferrable constraint Cause:  The state of the target constraints could not be verified.

Action: Look for a subsequent error message that states the reason for the failure.

 

OGG-00419: TARGET doesn’t have deferrable constraint when HANDLETPKUPDATE specified

Cause: The parameter file contains the HANDLETPKUPDATE parameter, and the integrity constraints on the target tables are not set to DEFERRABLE. If the target constraints are not DEFERRABLE, Replicat handles the errors according to existing rules specified with the HANDLECOLLISIONS and REPERROR parameters, or else it abends.

Action: Create the constraints on the target tables as DEFERRABLE INITIALLY IMMEDIATE.

 

OGG-00420: The value for {0} is too long

Cause: The specified parameter value is too long to fit into the internal buffer that is assigned to it at runtime.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-00422: {0} specification must be enclosed in quotes Cause:  The specified parameter must be in quotes.

Action: Edit the parameter file to add the quotes. For syntax help, see the Oracle GoldenGate reference documentation.

 

OGG-00423: Could not find definition for {0}

Cause: The process could not find a definition for the specified table when building the object cache on startup.

Action: Remove the table from the TABLE and/or MAP parameter. If using wildcards, you can exclude the table with TABLEEXCLUDE or MAPEXCLUDE.

 

OGG-00424: {0}, table {1} does not exist in target database

Cause: Replicat could not find metadata for the specified table in the target database. The table is listed in the MAP statement either explicitly or as the result of a wildcard.

Action: Remove the table from the MAP parameter. If using wildcards in that parameter, you can exclude the table with MAPEXCLUDE.

 

OGG-00425: No DB login established to retrieve a definition for table {0} Cause: The DBLOGIN command must be issued before issuing commands that interact with the database.

Action:  Issue DBLOGIN.

 

 

OGG-00427: Must be IGNORE, DISCARD, ABEND, EXCEPTION, TRANSABORT or RETRYOP

Cause:  The response is not set correctly in a REPERROR statement.

Action: See the Oracle GoldenGate reference documentation for REPERROR syntax.

 

OGG-00428: Missing error number for REPERROR Cause:  The error specification is either missing or invalid.

Action:  Supply a valid SQL error number, a user-defined error that is set with RAISEERROR, or the DEFAULT keyword. For more information, see the MAP and REPERROR reference documentation.

 

OGG-00429: Must be error number or DEFAULT

Cause:  An invalid argument was supplied for the error specification.

Action:  Supply a valid SQL error number, a user-defined error that is set with RAISEERROR, or the DEFAULT keyword. For more information, see the MAP and REPERROR reference documentation.

 

OGG-00430: RESET not valid REPERROR on MAP statement

Cause: REPERROR is being used in a MAP statement, and the RESET option is included. This option is only supported for REPERROR at the root level of the parameter file (as a standalone REPERROR statement).

Action:  Remove RESET from REPERROR in the MAP file.

 

OGG-00431: Unable to set {0}

Cause:  The specified option for RMTHOST is not valid.

Action: Correct the syntax. For help, see the Oracle GoldenGate reference documentation.

 

OGG-00432: Unable to set {0} value to {1,number,0}

Cause:  The specified parameter does not support the given value.

Action: Specify a valid value. For help, see the Oracle GoldenGate reference documentation.

 

OGG-00433: No RMTHOST has been specified yet

Cause:  The parameter file does not contain the RMTHOST parameter.

Action:  Add the RMTHOST parameter.

 

OGG-00434: Missing file name

Cause:  A file name is expected for EXTFILE or RMTFILE.

Action:  Specify a file name for this parameter.

 

OGG-00435: Must be PURGE, APPEND, RESTART, MEGABYTES or MAXFILES

Cause: An invalid argument was specified for EXTTRAIL, EXTFILE, RMTTRAIL, or RMTFILE.

Action: Specify one of the arguments shown in the error message. Note that RESTART is no longer a valid option.

 

OGG-00436: Table {0} is not defined

 

 

Cause: The process could not find metadata for the specified table. The DEFGEN utility probably was not run for the specified table, or it was run but the definitions were not added to the existing source- or target-definitions file.

Action: Make certain that the table is specified correctly in the TABLE or MAP parameter. If so, then run DEFGEN for the table and add those definitions to the file that is specified with SOURCEDEFS or TARGETDEFS.

 

OGG-00437: Record definition {0} is not defined

Cause: The process could not find metadata for the specified table that is in a DDL operation. The DEFGEN utility probably was not run for the specified table, or it was run but the definitions were not added to the existing source- or target-definitions file.

Action: Make certain that the table is specified correctly in the TABLE or MAP parameter. If so, then run DEFGEN for the table and add those definitions to the file that is specified with SOURCEDEFS or TARGETDEFS.

 

OGG-00438: Error retrieving GGS logtrail next checkpoint Cause:  The process could not open the next checkpoint file.

Action: Make certain that the process has read and write privileges on the checkpoint files. Make certain that the file that caused the error is not corrupted. If the process cannot open the next checkpoint file, contact Oracle Support.

 

OGG-00439: Failed to read checkpoint file {0}

Cause:  The process could not open the checkpoint file.

Action: Check the operating system privileges on the file, and make certain that the process has read and write privileges on it. Make certain the file is not corrupted. If the file remains unreadable, contact Oracle Support.

 

OGG-00440: Failed to lock checkpoint file {0}, another collector instance might be using this file

Cause: The process could not lock the specified checkpoint file.

Action: Check to determine whether another Server/Collector process is using this checkpoint file. If you cannot resolve this issue, contact Oracle Support.

 

OGG-00441: Checkpoint file {0} doesn’t exist

Cause:  The process is trying to find the specified checkpoint file.

Action:  Restore the file. Check to see if it was moved, renamed, or deleted.

 

OGG-00442: Cannot support DB checkpointing for this database. Cause: The checkpoint table feature (database checkpointing) is not supported for the current database. The ADD CHECKPOINTTABLE

command might have been issued, or parameters that support a checkpoint

table might exist.

Action: Remove the CHECKPOINTTABLE parameter from the GLOBALS file, if present. Issue ADD REPLICAT without any CHECKPOINTTABLE options.

 

OGG-00443: Get checkpoint error

Cause: The reporting process encountered an I/O error while reading the checkpoint file.

 

 

Action: Check the health of the file system where Oracle GoldenGate is installed. Correct any problems that could cause this error, and then restart the process. If the problem persists, contact Oracle Support.

 

OGG-00444: Get next checkpoint error

Cause: The reporting process encountered an I/O error while reading the checkpoint file.

Action: Check the health of the file system where Oracle GoldenGate is installed. Correct any problems that could cause this error, and then restart the process. If the problem persists, contact Oracle Support.

 

OGG-00445: Detected migrated group {0}, updating DB checkpoint dir from {1} to {2}

Cause: The Replicat checkpoint table in the database was pointing to an invalid directory for the checkpoint file that is stored on disk. Every time that Replicat updates the checkpoint table, it verifies the location of the checkpoint file. If there is a mismatch, Replicat updates the table with the correct location. This is an informational message to notify you that the directory for the checkpoint file was the first value shown in the message, but now is the second one shown.

Action: None

 

OGG-00446: {0}

Cause:  An error was encountered while processing the checkpoint file.

Action:  Contact Oracle Support.

 

OGG-00447: Could not find definition for {0}, error {1}

Cause: The DDL metadata could not be obtained from the source database because of the error that is shown in the message.

Action: Correct the problem based on the error message. If you cannot resolve the problem, contact Oracle Support.

 

OGG-00448: DDL record definition found in sourcedefs file(s) will be ignored, continuing

Cause: DDL was executed on a table that has a source definitions file specified for it with the SOURCEDEFS parameter. This is informational only.

Action: None

 

OGG-00449: Target not resolved for source [{0}].

Cause:  The process could not find the specified target table.

Action: Create the target table or use IGNOREMISSINGTABLES in the DDLERROR parameter.

 

OGG-00450: Source sequence [{0}] cannot be resolved in any MAP statement

Cause:  The process could not find the specified target sequence.

Action: Create the target sequence or use IGNOREMISSINGTABLES in the DDLERROR parameter.

 

OGG-00451: Source sequence [{0}] could not be resolved, error [{1}].

Cause:  The specified sequence could not be found.

Action:  Make certain the sequence exists.

 

 

OGG-00452: Target sequence [{0}] could not be resolved, error [{1}].

Cause:  The process could not find the specified target sequence.

Action: Create the target sequence or use IGNOREMISSINGTABLES in the DDLERROR parameter.

 

OGG-00453: DDL Replication is not supported for this database

Cause: Oracle GoldenGate does not support DDL replication for the current database.

Action: Remove any parameters that apply to DDL replication. See the Oracle GoldenGate reference documentation for more information.

 

OGG-00454: Cannot initialize DDL/sequence processing, error [{0}] Cause: Oracle GoldenGate could not initiate DDL processing because the specified error occurred.

Action: If you cannot resolve the problem based on the error that is returned, contact Oracle Support.

 

OGG-00455: Problem in resolving [{0}]: {1}, try to fix this issue in order to avoid possible fatal error

Cause: The process could not resolve the metadata for the specified table. The cause of the problem is stated in the message text.

Action: Try to resolve the problem to avoid a fatal error. If you cannot resolve the problem, contact Oracle Support.

 

OGG-00456: Object that is not replicated [{0}] was renamed into object that is [{1}] even though DDLOPTIONS NOCROSSRENAME is in effect. This may result in new (renamed) objects not processed correctly.

Cause: The DDLOPTIONS parameter includes NOCROSSRENAME, and the table was renamed to one that is included in a TABLE statement (probably because of a wildcard). This can cause the object to be replicated incorrectly, depending on whether a target exists and how it is defined. This might also cause data to be replicated that you do not want to be replicated.

Action: Ensure that the source and target tables match, for both the original and renamed tables. If you cannot resolve the problem, contact Oracle Support.

 

OGG-00457: Object [{0}] was renamed even though it’s marked excluded with NORENAME. Renamed object (if included) may or may not be picked up (you should not rename objects marked with NORENAME)

Cause: The object is specified in a TABLEEXCLUDE parameter that has the NORENAME option enabled, and the table was renamed to one that is included in a TABLE statement (probably because of a wildcard). This can cause the object to be replicated incorrectly, depending on whether a target exists and how it is defined. This might also cause data to be replicated that you do not want to be replicated.

Action: Ensure that the source and target tables match, for both the original and renamed tables. If you cannot resolve the problem, contact Oracle Support.

 

OGG-00458: Cannot find metadata property {0}. DDL metadata [{1}] Cause: A metadata property that Oracle GoldenGate needs to resolve is not present.

Action:  Contact Oracle Support.

 

 

OGG-00459: Cannot find metadata property {1} for object {0}. DDL metadata [{2}]

Cause: A metadata property that Oracle GoldenGate needs to resolve the specified object is not present.

Action:  Contact Oracle Support.

 

OGG-00460: Cannot find metadata property {2} for object {0}.{1}. DDL metadata [{3}]

Cause: A metadata property that Oracle GoldenGate needs to resolve the specified object is not present.

Action:  Contact Oracle Support.

 

OGG-00461: Cannot find metadata property {1} for column {0}. DDL metadata [{2}]

Cause: A metadata property that Oracle GoldenGate needs to resolve the specified object is not present.

Action:  Contact Oracle Support.

 

OGG-00462: Error in substitute string in DDL statement. DDL metadata [{0}]

Cause: Oracle GoldenGate could not perform string substitution in the DDL statement.

Action:  Contact Oracle Support.

 

OGG-00463: Cannot substitute string in DDL statement, old statement = [{0}], new statement is too big. DDL metadata [{1}]

Cause: The size of the substitute string that is specified in the DDLSUBST parameter is larger than the size that the database supports.

Action:  Supply a string that is a supported size.

 

OGG-00464: Cannot remove DDL comments in DDL statement. DDL metadata [{0}]

Cause:  Oracle GoldenGate could not parse the DDL statement for comments.

Action:  Contact Oracle Support.

 

OGG-00465: Cannot restructure string in DDL statement for {0}, statement

= [{1}]. DDL metadata [{2}]

Cause: Oracle GoldenGate could not process internal changes to the DDL data.

Action:  Contact Oracle Support.

 

OGG-00466: Cannot restructure string in DDL statement for {0}. DDL metadata [{1}]

Cause: Oracle GoldenGate could not process internal changes to the DDL data.

Action:  Contact Oracle Support.

 

OGG-00467: Wrong parameter when getting ddl property. DDL metadata [{0}]

Cause: An unexpected parameter was encountered when processing DDL data.

Action:  Contact Oracle Support.

 

 

OGG-00468: Wrong format of ddl property string (missing equal sign).

DDL metadata [{0}]

Cause: The DDL is of a format that is not known to or supported by Oracle GoldenGate.

Action:  Contact Oracle Support.

 

OGG-00469: Wrong format of ddl property string (missing starting delimiter). DDL metadata [{0}]

Cause: The DDL is of a format that is not known to or supported by Oracle GoldenGate.

Action:  Contact Oracle Support.

 

OGG-00470: Wrong format of ddl property string (missing end delimiter).

DDL metadata [{0}]

Cause: The DDL is of a format that is not known to or supported by Oracle GoldenGate.

Action:  Contact Oracle Support.

 

OGG-00471: DDL metadata item too big. DDL metadata [{0}] Cause:  The DDL data exceeds the allocated space.

Action:  Contact Oracle Support.

 

OGG-00472: Expected number in metadata, can’t convert it. DDL metadata [{0}]

Cause: A number was expected for this metadata, but it was not in numerical format.

Action:  Contact Oracle Support.

 

OGG-00473: Error in restructure string in DDL statement when removing DDL signature string, trail record = [{0}]

Cause:  The string could not be processed.

Action:  Contact Oracle Support.

 

OGG-00474: Cannot restructure string in DDL statement when removing DDL signature string, statement = [{0}]. DDL metadata [{1}]

Cause:  The string could not be processed.

Action:  Contact Oracle Support.

 

OGG-00475: DDL is too large – DDL IGNORED, details: {0}.

Cause: The DDL exceeds 2 MB, the maximum that is supported by Oracle GoldenGate.

Action:  Apply the DDL manually.

 

OGG-00476: Gathering metadata for [{0}] not successful even though object was resolved, retrying [{1,number,0}] times with {2,number,0} second interval

Cause: Extract could not obtain metadata for the specified object, and is trying again.

Action: Extract may produce other warning or error messages prior to or in between these messages. Examine the Extract report file for more information. If the problem persists, contact Oracle Support.

 

 

OGG-00477: Successfully added TRAN DATA for table [{0}.{1}], operation [{2}]

Cause: Extract successfully added supplemental log data for the table.

Action: None

 

OGG-00479: Successfully deleted TRAN DATA for [{0}] DDL operation, table [{1}.{2}], operation [{3}]

Cause: Extract successfully deleted the supplemental log data for the table. Extract sometimes creates temporary supplemental log data groups, and those are eventually deleted.

Action: None

 

OGG-00480: Derived object name [{0}] mapped to [{1}]

Cause: The specified derived object name was mapped to the target name, because a MAP statement exists for the derived object.

Action: None

 

OGG-00482: DDL found, operation [{0}]

Cause:  A DDL operation was found in the data source.

Action: None

 

OGG-00483: DDL operation successful

Cause:  Oracle GoldenGate successfully processed a DDL operation.

Action: None

 

OGG-00484: Executing DDL operation{0,choice,0#|1# trying again due to RETRYOP parameter}

Cause:  Oracle GoldenGate is executing a DDL operation.

Action: None

 

OGG-00485: Comments removed (REMOVECOMMENTS {0}), DDL

operation remained the same

Cause: DDLOPTIONS contains the REMOVECOMMENTS option, but the DDL contains no comments.

Action: None

 

OGG-00486: Comments removed from DDL operation (REMOVECOMMENTS {0}), new operation [{1}]

Cause: The comments were removed from the DDL operation according to the DDLOPTIONS parameter with REMOVECOMMENTS.

Action: None

 

OGG-00487: DDL operation included [{0}], optype [{1}], objtype [{2}],

objowner [{3}], objname [{4}]

Cause: The specified DDL operation was included in DDL replication because it meets the criteria of an INCLUDE clause.

Action: None

 

OGG-00488: DDL operation excluded [{0}], optype [{1}], objtype [{2}],

objowner [{3}], objname [{4}]

 

 

Cause: The specified DDL operation was excluded from DDL replication because it meets the criteria of an EXCLUDE clause or was not included in an INCLUDE clause.

Action: None

 

OGG-00489: DDL is of mapped scope, after mapping new operation [{0}] Cause: The DDL operation is of MAPPED scope. This is a DDL operation that is included in a TABLE or MAP statement.

Action: None

 

OGG-00490: DDL operation is of unmapped scope

Cause: The DDL operation is of UNMAPPED scope. This is a DDL operation that is supported for use in a TABLE or MAP statement, but its base object name is not included in one of those parameters.

Action: None

 

OGG-00491: DDL operation is of default scope

Cause: The DDL operation is of the default OTHER scope. This is a DDL operation that cannot be mapped.

Action: None

 

OGG-00492: DDL error ignored: error code [{0}], filter [{1}], error text [{2}] Cause: The specified DDL error was ignored according to the response rule in the DDLERROR parameter.

Action: None

 

OGG-00493: Error in DDL ignored, [{0,number,0}] more errors left to ignore, input data [{1}]

Cause: DDLOPTIONS with SKIPTRIGGERERROR is used in the parameter file, and the trigger error was ignored. Because SKIPTRIGGERERROR specifies a maximum number of trigger errors that can be ignored, this message shows how many are remaining.

Action: None

 

OGG-00494: DDL error discarded: error code [{0}], filter [{1}], error text [{2}]

Cause: The specified DDL error was ignored according to the response rule in the DDLERROR parameter.

Action: None

 

OGG-00495: DDL error ignored for next retry: error code [{0}], filter [{1}], error text [{2}], retry [{3,number,0}]

Cause: The specified DDL error was ignored according to the response rule in the DDLERROR parameter. The DDL will be retried for the specified number of times according to the RETRYOP option.

Action: None

 

OGG-00496: DDL error ignored [RESTARTCOLLISIONS]: error [{0}] Cause: The specified error was ignored because RESTARTCOLLISIONS is being used. RESTARTCOLLISIONS applies HANDLECOLLISIONS logic for

the first transaction after startup.

Action: None

 

 

OGG-00497: Writing DDL operation to extract trail file

Cause:  Extract is writing a DDL operation to the trail. Informational only.

Action: None

 

OGG-00499: DDL RENAME found, old owner [{0}] object [{1}], new owner [{2}] object [{3}]

Cause:  A RENAME operation was processed. Informational only.

Action: None

 

OGG-00500: DDL RENAME found, old owner [{0}] object [{1}], new owner [{2}] object [{3}], RENAME converted to ALTER TABLE, new operation [{4}]

Cause: A RENAME was converted to the equivalent ALTER TABLE RENAME. The reason is that RENAME does not support the use of a schema name, but a schema name is required in case the DDL statement on the target maps to a different schema.

Action: None

 

OGG-00501: Skipping DDL operation due to RESTARTSKIP, [{0,number,0}] more left to skip, DDL operation [{1}]

Cause: The Extract parameter file contains DDLERROR with the RESTARTSKIP option. Extract is skipping the specified number of DDL operations.

Action: None

 

OGG-00502: DDL substitution [{0}] with [{1}] excluded [{2}]

Cause: Text substitution in the DDL was not performed because the DDL is listed in the EXCLUDE option in the DDLSUBST parameter.

Action: None

 

OGG-00503: DDL substitution [{0}] with [{1}] excluded [no matching include]

Cause: Text substitution in the DDL was not performed because the DDL is not listed with an INCLUDE in the DDLSUBST parameter.

Action: None

 

OGG-00504: DDL substitution [{0}] with [{1}] included [{2}], new operation [{3}]

Cause: Text substitution was performed according to the rules in the DDLSUBST parameter.

Action: None

 

OGG-00505: DDL substitution [{0}] with [{1}] included [{2}], DDL operation remained the same after substitution

Cause: Text substition was performed according to the rules of DDLSUBST, but the DDL text remained the same after the substitution.

Action: None

 

OGG-00506: Both GETTRUNCATES and DDL replication are enabled Cause: The parameter file contains the GETTRUNCATES parameter, but DDL replication is enabled.

 

 

Action: Specify GETTRUNCATES (it is TABLE/MAP-specific) only for tables for which truncates must be replicated but are not part of the DDL configuration. GETTRUNCATES should not be used for tables that have DDL replication enabled, because truncates are supported by the DDL feature.

 

OGG-00507: Target [{0}] is missing but ignored due to {1}

Cause: A DML operation on a non-existing table was ignored because the parameter file contains DDLOPTIONS with IGNOREMISSINGOBJECTS.

Action: None

 

OGG-00508: Fragment number gap detected (faulty data) in DDL object versioning table, fragment #{1,number,0} for SCN {0}, query [{2}] Cause:  The data in the DDL history table is corrupted.

Action:  Contact Oracle Support.

 

OGG-00509: CREATE/ALTER USER with IDENTIFIED clause encoutered, but no DDLOPTIONS DEFAULTUSERPASSWORD specified

Cause: A CREATE or ALTER USER with an IDENTIFIED BY clause was processed. The Extract parameter file contains DDLOPTIONS with the NOREPLICATEPASSWORD option to prevent the source password from being propagated, but the Replicat parameter file does not contain DDLOPTIONS with DEFAULTUSERPASSWORD to specify an alternate password for the target IDENTIFIED BY clause.

Action:  Add the DDLOPTIONS with DEFAULTUSERPASSWORD.

 

OGG-00510: Unexpected query selector in selecting DDL metadata Cause: There was an internal error when querying the DDL history table. Action:  Contact Oracle Support.

OGG-00511: Cannot access DDL history table. DDL schema owner is [{0}]. It must match schema used in DDL installation as well as GGSCHEMA parameter in GLOBALS file. Currently logged user [{1}] must have been given privileges to access DDL history table

Cause: The database user by which the process is running cannot read the GGS_DDL_HIST table (history table).

Action: Make certain that the schema that is specified in the error text is the same one that is specified for the GGSCHEMA parameter in the GLOBALS file (and that this parameter exists there). If this parameter is correct, make certain that the specified user has full SELECT and DML privileges on the table. The privileges can be granted by running the role_setup.sql script to create the default GGS_GGSUSER_ROLE role, and then by granting the role to the Extract user. For more information, see the Oracle GoldenGate DDL installation and setup instructions.

 

OGG-00512: RECYCLEBIN must be turned off. For 10gr2 and up, set RECYCLEBIN in parameter file to OFF. For 10gr1, set _RECYCLEBIN in parameter file to FALSE. Then restart database and extract

Cause:  The Oracle database recycle bin is enabled.

Action: Disable the Oracle recycle bin by setting the Oracle initialization parameters according to the instructions in the message.

 

 

OGG-00513: Table with SOURCEDEF cannot have DDL operations (table [{0}]). Either remove SOURCEDEF or filter out table from DDL operations

Cause: The table is configured for DDL replication, but also is configured to replicate to a dissimilar target. Oracle Supports DDL synchronization only in a like-to-like database environment, where source and target tables have identical definitions and are of the same database type.

Action: Either map this table to an identical target, or remove it from the DDL INCLUDE or EXCLUDE options.

 

OGG-00514: Failed to substitute string in DDL operation [{0}], error [{1}] Cause:  The DDLSUBST parameter is being used, but the substitution failed.

Action: Make sure that the DDL INCLUDE specification is compatible with the DDLSUBST INCLUDE specification (for example, that the targeted object is contained in both). Also make sure that REMOVECOMMENTS BEFORE is not specified. For more information, see the guidelines in the DDLSUBST reference documentation.

 

OGG-00515: Unknown operation code in DDLERROR structure

Cause: There is syntax in the INCLUDE or EXCLUDE statement, or in the error-handling syntax, of the DDLERROR parameter that cannot be parsed correctly.

Action: Review the DDLERROR syntax and fix any errors. Consult the DDLERROR documentation for help with syntax.

 

OGG-00516: Fatal error executing DDL replication: error [{1}], due to explicit ABEND error handling and filter [{0}]

Cause: The DDLERROR statement is configured to cause the process to abend on the specified DDL error.

Action: Fix the problem based on your data requirements. If ABEND is the error-handling rule, have a plan for manually fixing the problem, or contact Oracle Support.

 

OGG-00517: Fatal error executing DDL replication: error [{0}], because it’s not included in error handling

Cause: There was an error processing a DDL operation, and the error was not handled because the filtering criteria in the DDLERROR statement excluded that operation from error handling.

Action: Fix the problem based on the error text and then, if appropriate, include the operation type or object in the error handling.

 

OGG-00518: Fatal error executing DDL replication: error [{1}], due to exclusion from error handling because of filter [{0}]

Cause: There was an error processing a DDL operation, and the error was not handled because the filtering criteria in the DDLERROR statement excluded that operation from error handling.

Action: Fix the problem based on the error text and then, if appropriate, include the operation type or object in the error handling.

 

OGG-00519: Fatal error executing DDL replication: error [{0}], no error handler present

 

 

Cause: There was an error processing a DDL operation, but because there is no error handling specified with the DDLERROR parameter, the process abended.

Action: Fix the problem based on the error text in the message, and then add one or more DDLERROR parameters to handle future errors so that processing can continue.

 

OGG-00520: DDL replication is not supported for standby databases Cause: Oracle GoldenGate does not support DDL replication to or from standby databases.

Action: Remove the DDL configuration parameters and objects from the standby database.

 

OGG-00521: Object was resolved, however in the same resolution call both DDL history and database metadata resolution failed, cannot recover,

{0} [{1}], object id [{2}]

Cause: The DDL object was not found in the database nor in in the DDL history record. Depending on the object, this message may or may not be ignored.

Action: Check whether the object was dropped from the database. Also, make sure DDL history table did not get partially or fully truncated. If it did, restore the missing records. Make certain that the PURGEDDLHISTORY parameter does not delete DDL history records while they are still needed.

 

OGG-00523: Object ID in in marker data is not a number

Cause: The object metadata contains an object ID that is not in the form of a number.

Action:  Contact Oracle Support.

 

OGG-00524: Error in DDL trigger has been detected: {0}. Please investigate trace log file or contact Oracle Support

Cause:  There was an error while processing DDL with the DDL trigger.

Action:  Examine the DDL trigger trace file and determine if the error is due to a system problem (such as a shut-down of the database or a lack of space for the DDL objects) or if it requires the attention of Oracle Support.

 

OGG-00525: Oracle GoldenGate DDL trigger is not installed correctly, details: {0}.

Cause:  The DDL trigger was not installed correctly.

Action: Install the DDL trigger again. For instructions, see the Oracle GoldenGate installation documentation for the Oracle database. If the problem persists, contact Oracle Support.

 

OGG-00526: Cannot find DDL statement in marker data

Cause: Extract could not find the text of the DDL operation in the DDL record.

Action:  Contact Oracle Support.

 

OGG-00528: The DDL parameter is not supported for this data source.

Please remove this parameter and all DDL operations will be propagated in pass-through (PASSTHRU) mode.

 

 

Cause: The DDL parameter is specified in the parameter file of a data pump. DDL mapping or filtering is not supported for a data pump and must be passed through as-is.

Action: Remove the DDL parameter from the data pump parameter file, and place the PASSTHRU parameter before all of the TABLE statements that contain tables that use DDL support. You can place the NOPASSTHRU parameter before any TABLE statements that contain tables that do not use DDL support, if you want data filtering, mapping, or transformation to be performed for them. For more information on configuring DDL support, see the Oracle GoldenGate adminstration documentation.

 

OGG-00529: DDL Replication is enabled but table {0} is not found. Please check DDL installation in the database

Cause: The specified table supports the Oracle GoldenGate DDL configuration and cannot be found during processing.

Action: Consult the Oracle GoldenGate installation documentation for your database to find out which objects must be installed in the database to support DDL replication. Install the objects according to the instructions in that documentation.

 

OGG-00530: Table DDL metadata changes are only changes supported at this time, type found [{0}]

Cause: Extract encountered an unsupported DDL operation. Oracle GoldenGate currently supports only table or sequence DDL operations.

Action:  Contact Oracle Support.

 

OGG-00531: Cannot resolve sequence: {0} because of invalid ROWID for sequence UPDATE

Cause:  A DDL change to a sequence produced incorrect ROWID data.

Action:  Contact Oracle Support.

 

OGG-00532: Cannot convert highwater value for sequence, value [{0}] Cause: Oracle GoldenGate cannot update the target sequence to increase the highwater value, so that the target sequence remains ahead of the source.

Action:  Contact Oracle Support.

 

OGG-00533: Sequence name [{0}.{1}] doesn’t match hashed name [{2}.{3}] and object id [{4,number,0}] (DDL may have been used, but not enabled)

Cause: DDL operations were performed on sequence objects, but Oracle GoldenGate DDL support is not installed.

Action: Install Oracle GoldenGate DDL support before executing DDL operations on sequence objects. For instructions, see the Oracle GoldenGate installation and setup guide for the Oracle database.

 

OGG-00534: Sequence update too large [{0}]

Cause: The update to the sequence value is greater than, or equal to, 100 million. Oracle GoldenGate does not support value updates that are greater than 100 million.

Action:  Use an update value of less than 100 million.

 

OGG-00535: Sequence cache value too large [{0}]

 

 

Cause: The sequence cache size is too large. Oracle GoldenGate does not support sequence CACHE values greater than 100 million.

Action:  Use a CACHE value of less than 100 million.

 

OGG-00536: Sequence increment by value too large [{0}]

Cause: The sequence increment interval is too large. Oracle GoldenGate does not support INCREMENTBY values greater than 100 million.

Action:  Use an INCREMENTBY value of less than 100 million.

 

OGG-00537: Object type found [{0,number,0}] when resolving DDL object attributes unknown

Cause:  The object type was not a table or sequence.

Action:  Contact Oracle Support.

 

OGG-00538: Metadata not invalidated for [{1}.{2}] because of {0}

Cause: Usually this message is for DDL operations that do not affect metadata, such as TRUNCATE TABLE or ANALYZE TABLE. This message explains why Extract did not clear the metadata (remove it from the DDL cache). It is beneficial not to clear metadata if possible: retaining it improves performance because the process does not need to re-read the metadata for the next DML operation.

Action: None

 

OGG-00539: Metadata not invalidated for [{1}.{2}] because of {0} [{3}] Cause: Usually this message is for DDL operations that do not affect metadata, such as TRUNCATE TABLE or ANALYZE TABLE. This message

explains why Extract did not clear the metadata (remove it from the DDL

cache). It is beneficial not to clear metadata if possible: retaining it improves performance because the process does not need to re-read the metadata for the next DML operation.

Action: None

 

OGG-00540: Metadata not cleared for [{1}.{2}] because of {0}

Cause: Usually this message is for DDL operations that do not affect metadata, such as TRUNCATE TABLE or ANALYZE TABLE. This message explains why Extract did not clear the metadata (remove it from the DDL cache). It is beneficial not to clear metadata if possible: retaining it improves performance because the process does not need to re-read the metadata for the next DML operation.

Action: None

 

OGG-00541: Metadata not cleared for [{1}.{2}] because of {0} [{3}]

Cause: Usually this message is for DDL operations that do not affect metadata, such as TRUNCATE TABLE or ANALYZE TABLE. This message explains why Extract did not clear the metadata (remove it from the DDL cache). It is beneficial not to clear metadata if possible: retaining it improves performance because the process does not need to re-read the metadata for the next DML operation.

Action: None

 

OGG-00542: Unexpected threading library failure. Error code

{0,number,0} ({1})

 

 

Cause: An internal error occurred while the process was executing a multi-threaded application.

Action:  Contact Oracle Support.

 

OGG-00543: Unexpected threading library failure. Error code

{0,number,0} ({1})

Cause: An internal error occurred while executing a multi-threaded application.  Oracle GoldenGate recovered from the error.

Action: Contact Oracle Support for assistance if this warning continues to be issued.

 

OGG-00544: Invalid argument passed to threading function. Cause: An unexpected programming logic error has occurred. Action:  Contact Oracle Support.

OGG-00545: Threaded access not supported

Cause: Call Attachment Facility (CAF) does not permit a process to be threaded. There can be only one thread per Oracle GoldenGate process.

Action: Either use the RRSAF (Recoverable Resource Manager Services Attachment Facility) attachment type or do not configure processes to be multi-threaded. For more information, see the Oracle GoldenGate installation and setup documentation for DB2 z/OS.

 

OGG-00546: Default thread stack size: {0,number,0}

Cause: Oracle GoldenGate determined the default number of Posix threads on the system.

Action: None

 

OGG-00547: Increasing thread stack size from {0,number,0} to

{1,number,0}

Cause: Oracle GoldenGate is increasing the number of Posix threads to support its processing requirements.

Action: None

 

OGG-00549: Database operation failed: {0}. Unable to initialize using RRSAF – please check that RRS is available and functioning correctly.

{1}

Cause: The MVSATTACHTYPE is set to RRSAF, but RRSAF could not be initialized.

Action:  Install RRSAF and make certain that is is configured properly.

 

OGG-00550: Database operation failed: {0}. Unable to initialize using RRSAF – please check that RRS is available and functioning correctly.

{1}

Cause: The MVSATTACHTYPE is set to RRSAF, but RRSAF could not be initialized.

Action:  Install RRSAF and make certain that is is configured properly.

 

OGG-00551: Database operation failed: {0}. ODBC error: SQLSTATE {2} native database error {3,number,0}. {1}

Cause: The Oracle GoldenGate process could not complete its SQL operation because of the specified errors.

 

 

Action: Correct the problem with the driver or database, and then restart the process.

 

OGG-00552: Database operation failed: {0}. ODBC error: SQLSTATE {2} native database error {3,number,0}. {1}

Cause: The Oracle GoldenGate process could not complete its SQL operation because of the specified errors.

Action: Correct the problem with the driver or database, and then restart the process.

 

OGG-00554: Failed to execute SQL statement ‘{0}’

Cause:  The specified SQL statement returned an error on execution.

Action: Correct the problem that is related to the SQL statement and then restart the process.

 

OGG-00555: Executing fetch. ODBC error ({0,number,0}). {1} Cause:  A fetch failed.

Action: Fix the problem based on the ODBC error message, and then restart the process.

 

OGG-00556: ODBC Driver for {0} does not provide ODBC level 1 conformance

Cause:  ODBC driver conformance level of at least level 1 is required.

Action: Contact the database vendor and download the latest ODBC driver with conformance level of at least 1.

 

OGG-00557: ODBC Driver for {0} does not adequately support prepared statements

Cause: The ODBC driver for this database does not support prepared statements.

Action: Upgrade to the latest ODBC driver for this database to correct the problem, and then restart the process.

 

OGG-00558: Failed to set implicit transactions off

Cause:  An error occurred while disabling implicit transactions.

Action: Determine whether the underlying database supports the “SET IMPLICIT_TRANSACTIONS OFF” command to return to autocommit mode. Correct the problem, and then restart the process.

 

OGG-00559: Failed to begin named transaction ‘{0}’

Cause: An error occurred while trying to start a named transaction command (such as BEGIN TRANSACTION <name>).

Action: Determine whether the underlying database supports named transactions.  Correct the problem and then restart the process.

 

OGG-00560: Failed to change IDENTITY_INSERT state for table {0} Cause: The execution of “SET IDENTITY_INSERT <table> <ON|OFF>” failed with an error.

Action: Make sure that the user that is used to connect to the database has sufficient privileges to use SET IDENTITY_INSERT. The user must either own the object in question, or be a member of the sysadmin fixed server role, or the db_owner and db_ddladmin fixed database roles.

 

 

OGG-00561: Failed to rollback to save-point ‘{0}’

Cause: There was an error when trying to roll back the transaction to a savepoint.

Action:  Note the name of the savepoint and then contact Oracle Support.

 

OGG-00562: Failed to save transaction ‘{0}’

Cause:  The process failed to set a savepoint on the active transaction.

Action:  Note the name of the savepoint and then contact Oracle Support.

 

OGG-00563: Failed to retrieve IDENTITY information for table {0} Cause: Replicat does not have the information that is required to process an IDENTITY column properly.

Action: If the specified table does not contain an IDENTITY column, you can ignore this message. If the specified table does contain an IDENTITY column, make certain that you configured Oracle GoldenGate properly to handle these column types. For more information, see the Oracle GoldenGate documentation for SQL Server. If you cannot resolve the problem, contact Oracle Support.

 

OGG-00564: ODBC Driver for {0} does not support enough concurrent SQL statements. Need at least {1,number,0} and only {2,number,0} are available.

Cause: The ODBC driver does not support the number of concurrent SQL statements that are allowed by Oracle GoldenGate.

Action: Set the MAXSQLSTATEMENTS parameter to a value that is supported by the driver.

 

OGG-00565: Cannot initialize ODBC operations

Cause: The system encountered an error while allocating an environment handle and the associated resources.

Action: Contact the DBA of the underlying database, because this error probably relates to an unrecoverable system error.

 

OGG-00566: Table {0}.{1} does not exist in target database

Cause: The table is configured within Oracle GoldenGate for replication, but Replicat tried to get column information for the table on startup and was not able to find any metadata for it.

Action: The table probably does not exist in the target database. Either add the table, or remove it from the Replicat configuration.

 

OGG-00567: Indexed value ‘{2}’ not a column of table {0}.{1}

Cause: When the process tried to resolve a column name to its index, a “column-not-found” error occurred when cross-referencing the name with the current table metadata.

Action: Stop and then restart the process to refresh the metadata record that the process keeps. If the problem persists, contact Oracle Support.

 

OGG-00568: The current ODBC session does not support multiple active transactions. Oracle Support recommends using multiple transactions to ensure transaction integrity and to enable releasing catalog locks as soon as possible. The ODBC initialization file should have both ‘MVSATTACHTYPE=RRSAF’ and ‘MULTICONTEXT=1’.

Cause:  The ODBC session does not support multiple active transactions.

 

 

Action: Stop the Oracle GoldenGate process, then add the specified parameters to the ODBC initialization file, and then start the process again.

 

OGG-00570: Installed Teradata ODBC driver does not support batch SQL statement re-use. Upgrade driver to version

{0,number,0}.{1,number,0}.{2,number,0}.{3,number,0} or greater. Cause: The current ODBC driver does not support the BATCHSQL parameter.

Action:  Upgrade to the recommended driver.

 

OGG-00571: Outstanding SQL statements supported ({0,number,0}) less than maximum ({1,number,0})

Cause: The database does not support the number of prepared SQL statements that the current Oracle GoldenGate configuration allows.

Action: Set the MAXSQLSTATEMENTS parameter to a value that is supported by the database. For more information about MAXSQLSTATEMENTS, see the Oracle GoldenGate reference documentation.

 

OGG-00572: Outstanding SQL statements limited to {0,number,0} by the Teradata ODBC driver.

Cause: The driver does not support the number of prepared SQL statements that the current Oracle GoldenGate configuration allows.

Action: Set the MAXSQLSTATEMENTS parameter to a value that is supported by the database driver. For more information about MAXSQLSTATEMENTS, see the Oracle GoldenGate reference documentation.

 

OGG-00573: SQLExecute did not return a valid parameter status [{0,number,0}]

Cause: During the execution of an array operation into a target table, the parameter status array for this row is not populated correctly.

Action: Report the issue to the ODBC driver vendor. There should be an error message for the offending row. Contact Oracle Support if problem persists.

 

OGG-00575: Driver for {0} does not support transactions Cause:  The specified ODBC driver does not support transactions.

Action:  Upgrade the ODBC driver to one that supports transactions.

 

OGG-00576: Unexpected error ({0,number,0}) in fetch status array Cause: The array fetch through ODBC resulted in an error for one or more rows in the array.

Action: Attempt to resolve the problem based on the error code if possible. If you cannot resolve the problem, contact Oracle Support.

 

OGG-00583: Incorrect result type {1,number,0} describing table {0} Cause: The describe request for the specified table or column definitions returned the specified unexpected result from the database.

Action: Correct the problem based on the message. To help diagnose the problem, look for other Sybase-related messages in the report file for this Oracle GoldenGate process, and also check the Sybase error log.

 

OGG-00584: Incorrect result type {0,number,0} describing query definition

 

 

Cause: There was the specified unexpected result while describing a SQLEXEC query definition from the database. The SQLEXEC syntax probably contains an error.

Action: View the SQLEXEC statement in the parameter file to find and correct the syntax error. For help with SQLEXEC syntax, see the Oracle GoldenGate reference documentation.

 

OGG-00585: Incorrect result type {0,number,0} describing table definition Cause: While describing the SQLEXEC query definition from the database, the specified unexpected result type was received

Action: View the SQLEXEC statement in the parameter file to find and correct the syntax error. For help with SQLEXEC syntax, see the Oracle GoldenGate reference documentation.

 

OGG-00586: Internal error opening data source for context

Cause: This is an internal error and should not be received in a production environment.

Action:  If you receive this error, contact Oracle Support.

 

OGG-00587: error executing sp while retrieving results

Cause: While executing a SQLEXEC stored procedure or query, an unexpected result was received.

Action: View the SQLEXEC statement in the parameter file to find and fix syntax errors. For help with syntax, see SQLEXEC in the Oracle GoldenGate reference documentation. If the problem persists, check for other errors in the Oracle GoldenGate process report and the database error log before contacting Oracle Support. You might be able to determine the syntax error or other problem that is the cause.

 

OGG-00588: Unexpected error describing stored procedure Cause: The SQLEXEC query execution failed because it failed to get syscolumn information.

Action: Make certain that the Oracle GoldenGate user that executes SQLEXEC has permission to access the syscolumn table.

 

OGG-00593: SYBUTIL_convert_to_sybase_timestamp: Not one of the date/time datatypes: {0,number,0}

Cause: The specified data type is not supported by Oracle GoldenGate for this database version.

Action: For supported data types, see the Oracle GoldenGate documentation that applies to the database.

 

OGG-00594: TIMECNV_convert_to_db_timestamp failed {0,number,0} Cause: The conversion of a timestamp from the Oracle GoldenGate generic format to the Sybase timestamp data type failed. The timestamp is from a

source database of a type other than that of the target.

Action: Verify that the type of timestamp in the source can be converted to the format that is used by the target. For supported data types, see the Oracle GoldenGate documentation for the database.

 

OGG-00651: Failed to process SQL statement – error {0,number,0} Cause: The query in the SQLEXEC statement failed due to the specified server error.

 

 

Action: Check the SQLEXEC syntax in the parameter file for errors, and also make certain that the Oracle GoldenGate user that issues the SQLEXEC has the permission to execute the SQL that it contains. If these are not the cause of the problem, note the error number that is in the message text, and then look for possible causes or workarounds within the Sybase database.

 

OGG-00652: Failed to get results from server – error {0,number,0}

Cause: The query failed while fetching data for a SQLEXEC query or stored procedure.

Action: Check the SQLEXEC syntax in the parameter file for errors, and also make certain that the Oracle GoldenGate user that issues the SQLEXEC has the permission to execute the SQL that it contains. If these are not the cause of the problem, note the error number that is in the message text, and then look for possible causes or workarounds within the Sybase database.

 

OGG-00653: Failed to send command for SQLEXEC – error {0,number,0} Cause: The SQLEXEC query failed while sending data to the Sybase database.

Action: Check the SQLEXEC syntax in the parameter file for errors, and also make certain that the Oracle GoldenGate user that issues the SQLEXEC has the permission to execute the SQL that it contains. If these are not the cause of the problem, note the error number that is in the message text, and then look for possible causes or workarounds within the Sybase database.

 

OGG-00654: Failed to prepare statement for SQLEXEC – error

{0,number,0}

Cause:  Sybase failed to prepare the SQLEXEC statement.

Action: Fix the problem based on the error that is shown in the message text. Some possible causes are: The SQLEXEC syntax in the parameter file contains an error, or the Oracle GoldenGate user that issues the SQLEXEC does not have the permission for this particular query or stored procedure.

 

OGG-00655: Failed to allocate statement for SQLEXEC – error

{0,number,0}

Cause: The SQLEXEC query failed because Sybase did not allocate space for a command structure for the query or stored procedure.

Action: Check the SQLEXEC syntax in the parameter file for errors, and also make certain that the Oracle GoldenGate user that issues the SQLEXEC has the permission to execute the SQL that it contains. If these are not the cause of the problem, note the error number that is in the message text, and then look for possible causes or workarounds within the Sybase database.

 

OGG-00656: Server message ({0} Context): number({1,number,0}) severity({2,number,0}) state({3,number,0}) line({4,number,0}). Procedure({5}) Details ({6})

Cause:  The specified error occurred in the Sybase server.

Action:  Resolve the problem with the server based on the Sybase error.

 

OGG-00657: Current online log {0} with sequence# {1,number,0} is STALE without alternative. Last read on RBA {2,number,0}, timestamp {3}, SCN {4,number,0}.{5,number,0}

Cause: Extract reached the end of an archive log on RAC, and the next log is not available. This can happen even though the other Extract threads are reading logs. This is by design to maintain transactional integrity. However, it

 

 

is also possible that one of the RAC instances failed and is not generating archive logs. In this case, Extract stops.

Action: If all RAC instances are running correctly, no action is needed. Extract will continue when more data is available. If an instance fails and you can restore it, do so and then start Extract (if stopped). Parameters are available that enable Extract to continue processing if an instance fails (but with loss of data from that instance). For more information, contact Oracle Support.

 

OGG-00658: Unable to open archive log {0}, {1}

Cause:  Oracle GoldenGate could not open the specified archive log.

Action: Check to see if the disk is full. If not, verify whether the Extract user has operating system privileges to read the file. If you have to grant permissions, do the following afterward:

 

  1. Stop
  2. Exit
  3. Close the terminal
  4. Start processes again from a new

OGG-00659: Unknown specifier in archive log format

Cause: Oracle GoldenGate cannot determine the format of the archive logs.

Action: Use the TRANLOGOPTIONS parameter with the ALTARCHIVEDLOGFORMAT option to specify a string that overrides the archive log format. For the string, provide the same specifier that is set for the Oracle parameter LOG_ARCHIVE_FORMAT. On RAC, set this on each node. For other important details, see the TRANLOGOPTIONS reference documentation.

 

OGG-00660: Could not find unique key column within table definition, SQL <{0}>

Cause: The table only contains columns that are LONG, LOB or UDT. Oracle GoldenGate cannot construct a key from those column types.

Action: Create a primary or unique key on the table, or remove it from the Oracle GoldenGate configuration. To remove a table when its name satisfies a wildcard definition, you can use the TABLEEXCLUDE parameter for Extract and the MAPEXCLUDE parameter for Replicat.

 

OGG-00661: Error selecting unique keys for {0}: {1}, SQL <{2}> Cause:  The process could not select a unique key for the specified table.

Action:  Resolve the problem based on the error that is shown in the message.

 

OGG-00662: OCI Error {1} (status = {0,number,0}) Cause:  An error occurred in the OCI.

Action: Resolve the problem based on the error that is shown in this message. If you cannot resolve the problem, contact Oracle Support.

 

OGG-00663: OCI Error {1} (status = {0,number,0}), SQL <{2}> Cause:  An error occurred in the OCI.

Action: Resolve the problem based on the error that is shown in this message. If you cannot resolve the problem, contact Oracle Support.

 

 

OGG-00664: OCI Error {2} (status = {0,number,0}-{1}) Cause:  An error occurred in the OCI.

Action: Resolve the problem based on the error that is shown in this message. If you cannot resolve the problem, contact Oracle Support.

 

OGG-00665: OCI Error {2} (status = {0,number,0}-{1}), SQL<{3}>

Cause:  An error occurred in the OCI.

Action: Resolve the problem based on the error that is shown in this message. If you cannot resolve the problem, contact Oracle Support.

 

OGG-00666: SQL operation failed: {2} SQL Error {0,number,0}: {1} Cause:  This is an internal error.

Action:  Contact Oracle Support.

 

OGG-00667: OCI error ({0,number,0}-{1}) retrieving length info of a ROWID/UROWID column (table: ‘{2}’, column: ‘{3}’)

Cause:  The specified column name does not exist in the specified table.

Action: Make certain that the column is spelled correctly in any parameters where it is specified in the parameter file. Make certain that the column exists in the table.

 

OGG-00668: OCI error ({0,number,0}-{1}) initializing query to obtain ROWID/UROWID length (table: ‘{2}’, column: ‘{3}’)

Cause:  This is an internal error.

Action:  Contact Oracle Support.

 

OGG-00669: OCI error ({0,number,0}-{1}) retrieving precision info of a NUMBER column (table: ‘{2}’, column: ‘{3}’)

Cause:  The specified column does not exist in the specified table.

Action: Make certain that the column is spelled correctly in any parameters where it is specified in the parameter file. Make certain that the column exists in the table.

 

OGG-00670: OCI error ({0,number,0}-{1}) initializing query to obtain NUMBER precision (table: ‘{2}’, column: ‘{3}’)

Cause:  This is an internal error.

Action:  Contact Oracle Support.

 

OGG-00671: Error selecting table_name from all_tables – SQL <{0}>

MSG_ERR_ORACLE_ALL_TABLES_FETCH_FAILED

Cause:  This is an internal error.

Action:  Contact Oracle Support.

 

OGG-00672: OCI error ({0,number,0}, {1}) fetching accesible schemas Cause: An error occurred when retrieving all accessible tables for this user. Action:  Contact Oracle Support.

OGG-00673: OCI error ({0,number,0}, {1}) executing select to get accessible schemas

Cause:  This is an internal error.

Action:  Contact Oracle Support.

 

 

OGG-00674: OCI error ({0,number,0}, {1}) preparing query (sql {2}) Cause:  This is an internal error.

Action:  Contact Oracle Support.

 

OGG-00675: OCI error ({2,number,0}, {3}) fetching unique keys for table

{0}.{1}

Cause: The specified table probably lacks a primary key, unique constraint, or unique index.

Action: Check to see if the table contains a primary key, unique constraint, or unique index, and create one of these objects if none exist. If you continue to get this error, contact Oracle Support.

 

OGG-00676: OCI error ({2,number,0}, {3}) executing select to get unique keys for table {0}.{1}

Cause:  This is an internal error.

Action:  Contact Oracle Support.

 

OGG-00678: Could not determine instance startup time ({0}), SQL <{1}> Cause:  The instance number could be invalid.

Action:  Contact Oracle Support.

 

OGG-00679: Could not determine instance state ({0}), SQL <{1}> Cause:  The instance number could be invalid.

Action:  Contact Oracle Support.

 

OGG-00680: Missing all_objects entry for {0}.{1}, SQL <{2}> Cause:  The object name does not exist in the database.

Action: Add the object to the database if appropriate, or check for spelling errors in the parameter file. If the object does exist and is specified correctly in the parameter file, contact Oracle Support.

 

OGG-00681: Could not retrieve query on all_objects ({0}), SQL <{1}> Cause:  This is an internal error.

Action:  Contact Oracle Support.

 

OGG-00685: begin time {0,date} {0,time} prior to oldest log in log history.

Last SQL executed <{1}>

Cause: The begin time that is specified with the ADD EXTRACT or ALTER EXTRACT command is prior to the oldest log that Extract can find.

Action: The most recent SQL that Extract can find is shown in the message. If possible, restore the log that contains the data from the specified timeframe from the backups. Otherwise, specify a start time during which there is redo history.

 

OGG-00686: Could not retrieve row from table {0}

Cause:  A call to the database to fetch table metadata failed.

Action:  Contact Oracle GoldenGate Suport.

 

OGG-00687: Found inconsistent row in table {0}

Cause:  A call to the database to fetch table metadata failed.

Action:  Contact Oracle GoldenGate Suport.

 

 

OGG-00688: {0}.{1} {2}:ROWID/UROWID column length query returned NULL.

Cause:  A SQL statement that queries the Oracle system table failed.

Action:  Contact Oracle GoldenGate Suport.

 

OGG-00689: {0}.{1} {2}:Column data type is not ROWID nor UROWID. Cause:  A SQL statement that queries the Oracle system table failed.

Action:  Contact Oracle GoldenGate Suport.

 

OGG-00690: {0} is not supported for this platform.

Cause:  The specified function is not supported.

Action: None

 

OGG-00691: Error updating I/O checkpoint on thread {0,number,0}, at (Seq#: {1,number,0}, RBA: {2,number,0}) with err: [{3}]

Cause:  Extract is updating its checkpoint.

Action: None

 

OGG-00692: Found a transaction (XID {0}, secondary XID {1}) without header information.

Cause: The specified transaction in the Oracle GoldenGate memory pool does not have the transaction header portion.

Action:  Restart Extract.

 

OGG-00693: unexpected message type {0,number,0} Cause: The process encountered an unknown message type. Action:  Restart Extract.

OGG-00694: encountered commit SCN {0} that is not greater than the highest SCN already processed {1} {2} ({3,number,0}) xid

{4,number,0}.{5,number,0}.{6,number,0} (0x{7}.{8}.{9}), starting seq.rba

{10,number,0}.{11,number,0}, scn {12}, commit seq.rba

{13,number,0}.{14,number,0} commit timestamp {15}

Cause: Extract processed a transaction that has a commit SCN which is not greater than the previous SCN that was processed. There probably was a mis-ordering of transactions from multiple node threads.

Action:  Restart Extract.

 

OGG-00695: encountered commit SCN {0} that is not greater than the highest SCN already processed {1} {2} ({3,number,0}) xid

{4,number,0}.{5,number,0}.{6,number,0} (0x{7}.{8}.{9}), starting seq.rba

{10,number,0}.{11,number,0}, scn {12}, commit seq.rba

{13,number,0}.{14,number,0} commit timestamp {15}

Cause: Extract processed a transaction that has a commit SCN which is not greater than the previous SCN that was processed. There probably was a mis-ordering of transactions from multiple node threads.

Action:  Restart Extract.

 

OGG-00696: tran_hdr == NULL. errtext = ‘{0}’

Cause: A transaction in the Extract memory that does not have a transaction header.

Action:  Restart Extract.

 

 

OGG-00697: bad txn header mt: {0} th: {1} idx: {2,number,0}

Cause: A transaction that was generated by the Extract producer thread has a thread index that does not match the thread number from any node.

Action:  Restart Extract.

 

OGG-00698: unexpected message type {0,number,0} size {1,number,0} Cause: A command or message received by the Extract producer thread is not valid.

Action:  Restart Extract.

 

OGG-00699: OCI initialization error [{0,number,0}]

Cause: A SQL statement in Oracle that retrieves metadata for the target table failed.

Action:  Contact Oracle Support.

 

OGG-00700: Number of columns in table is set to zero

Cause: A SQL statement in Oracle that retrieves metadata for the target table failed.

Action:  Contact Oracle Support.

 

OGG-00701: No table name given

Cause: A SQL statement in Oracle that retrieves metadata for the target table failed.

Action:  Contact Oracle Support.

 

OGG-00702: OCI call failed

Cause: An OCI call to the Oracle database failed. This is a generic message that captures any type of OCI failure.

Action:  Contact Oracle Support.

 

OGG-00703: OCIHandleFree error in {1} [type={0,number,0}]

Cause:  The attempt to free a previously allocated Oracle OCI handle failed.

Action:  Contact Oracle Support.

 

OGG-00704: OCIHandleFree error in {1} [type={0,number,0}]

Cause:  The attempt to free a previously allocated Oracle OCI handle failed.

Action:  Contact Oracle Support.

 

OGG-00705: OCIDescriptorFree error in {1} [type={0,number,0}] Cause: The attempt to free a previously allocated Oracle OCI descriptor failed.

Action:  Contact Oracle Support.

 

OGG-00706: Failed to add supplemental log group on table {0} due to {1} Cause: ADD TRANDATA was issued for the specified table, but Oracle GoldenGate was not able to add a supplemental log group on the table.

Action: Fix the problem based on the database error that is returned in the message.

 

OGG-00707: Table {0} has no valid key columns, no supplemental log group was added.

 

 

Cause: The table does not have any primary or unique key columns defined on it, so a supplemental log group cannot be created.

Action: If the table contains any columns that always will be unique, you can specify them as a key by using a KEYCOLS clause. Otherwise, Oracle GoldenGate will use all of the columns as a key. For more information about KEYCOLS, see the Oracle GoldenGate reference documentation.

 

OGG-00708: Key column may exists after column {0}, may not be able to handle row chaining

Cause: There is a key column after a LONG, LOB, or UDT column. This message supports trigger-based extraction, which is no longer supported by Oracle GoldenGate.

Action: None

 

OGG-00709: OCI error ({0,number,0}-{1}) building query to fetch codepoint info

Cause:  The value for NLS_LANG might be invalid.

Action: Specify a valid value or format for NLS_LANG. If NLS_LANG is set correctly, contact Oracle Support.

 

OGG-00710: OCI error ({0,number,0}-{1}) fetching codepoint info, use default codepoint value 1

Cause: This is an internal error that indicates the process could not fetch codepoint information.

Action:  Contact Oracle Support.

 

OGG-00711: Cannot derive characterset conversion ({0}), use default codepoint value 1

Cause: The process could not derive a character-conversion formula to convert the source data to the target data. This is a warning message.

Action: Set the NLS_LANG variable to be compatible with the database character set.

 

OGG-00712: Updating I/O checkpoint after purging orphaned transactions on thread {0,number,0} with current position (Seq#: {1,number,0}, RBA: {2,number,0}).

Cause: A node failed and Extract could not capture the rollback. This causes the transaction to become “orphaned.” Because the TRANLOGOPTIONS parameter includes the PURGEORPHANEDTRANSACTIONS option, Extract validated that the transaction was orphaned and purged it. This message indicates that Extract is updating its checkpoint in consideration of the purge.

Action: None

 

OGG-00713: [Thread #{0,number,0}] Purging orphaned transaction (transaction id: {1}, start time: {2}, start seqno: {3,number,0}, start RBA: {4,number,0}) due to orphaned transaction with immediate purge.

Cause: A node failed and Extract could not capture the rollback. This causes the transaction to become “orphaned.” Because the TRANLOGOPTIONS parameter includes the PURGEORPHANEDTRANSACTIONS option, Extract validated that the transaction was orphaned and purged it.

Action: None

 

 

OGG-00714: [Thread #{0,number,0}] Purging orphaned transaction (transaction id: {1}, start time: {2}, start seqno: {3,number,0}, start RBA: {4,number,0}) due to monitoring on orphaned transaction.

Cause: A node failed and Extract could not capture the rollback. This causes the transaction to become “orphaned.” Because the TRANLOGOPTIONS parameter includes the PURGEORPHANEDTRANSACTIONS option, Extract validated that the transaction was orphaned and purged it.

Action: None

 

OGG-00715: [Thread #{0,number,0}] Purging transaction (transaction id:

{1}, start time: {2}, start seqno: {3,number,0}, start RBA: {4,number,0}). Cause: A node failed and Extract could not capture the rollback. This causes the transaction to become “orphaned.” Because the TRANLOGOPTIONS

parameter includes the PURGEORPHANEDTRANSACTIONS option, Extract

validated that the transaction was orphaned and purged it.

Action: None

 

OGG-00716: Skipping unsupported in-memory undo record in sequence

{0,number,0}, at RBA {1,number,0}, with SCN {2} … Minimum supplemental logging must be enabled to prevent data loss.

Cause: Minimal supplemental logging is not enabled, so Oracle may use

in-memory undo. This causes multiple undo/redo pairs to be written within the same redo record. Extract does not support these types of records.

Action: Enable minimal supplemental logging. For instructions on how to set logging for Oracle GoldenGate, see the Oracle GoldenGate installation and setup documentation for the Oracle database.

 

OGG-00717: Found unsupported in-memory undo record in sequence

{0,number,0}, at RBA {1,number,0}, with SCN {2} … Minimum supplemental logging must be enabled to prevent data loss.

Cause: Minimal supplemental logging is not enabled, so Oracle may use

in-memory undo. This causes multiple undo/redo pairs to be written within the same redo record. Extract does not support these types of records.

Action: Enable minimal supplemental logging. For instructions on how to set logging for Oracle GoldenGate, see the Oracle GoldenGate installation and setup documentation for the Oracle database.

 

OGG-00719: Switched log to seqno {0,number,0} while reading rec with size {1,number,0}, has read {2,number,0} bytes.

Cause: Extract detected a log that spans more than one log file. This indicates possible log corruption.

Action: Restart Extract. If the problem persists, you might need to manually issue ALTER EXTRACT to skip this record or log; however data loss may occur. For help, contact Oracle Support.

 

OGG-00720: Waiting for archive log {0} for seqno {1,number,0} , has read

{2,number,0} bytes, to be flushed

Cause:  Extract is waiting for more log data.

Action: None

 

OGG-00721: Not able to open log file {0} for next sequence {1,number,0} after reaching limit of {2,number,0} seconds on waiting. Last read position seqno {3,number,0}, rba {4,number,0}.

 

 

Cause: Extract has reached its limit for the number of times that it tries to open a log file.

Action: Make sure that the Extract database user has privileges to read the specified log file, and that the file is not corrupted.

 

OGG-00722: Failed to process redo records on table {0} due to {12} on record at seqno {1,number,0} rba {2,number,0}, in transaction

{3,number,0}.{4,number,0}.{5,number,0} (0x{6}.{7}.{8}), with head rowid

{9} row piece rowid {10}, timestamp {11}.

Cause: Extract detected an error while processing a chained record. If the database is Oracle 9i, there could be a problem with the log parallelism feature when parallelism is greater than 1.

Action: If using Oracle 9i, disable log parallelism. If not using Oracle9i with log parallelism greater than 1, restart Extract.

 

OGG-00723: Record with class# {0,number,0}, slt# {1,number,0}, at seqno

{2,number,0}, rba {3,number,0} SCN {4} has secondary transaction ID that is duplicate of existing open uncommitted transaction.

Cause: There is more than one transaction with matching secondary transaction IDs from the same thread.

Action: Restart Extract. If this does not solve the problem, contact Oracle Support.

 

OGG-00724: Conflict exists in secondary transaction ID after purging orphaned transaction. Class# {0,number,0}, slt# {1,number,0}, seqno

{2,number,0}, rba {3,number,0}, SCN {4}.

Cause: Extract detected a transaction that has a matching secondary transaction ID even after deleting the earliest transaction with this matching transaction ID.

Action:  Restart Extract.

 

OGG-00725: The primary transaction ID is duplicate of existing open transaction. Transaction ID: {0,number,0}.{1,number,0}.{2,number,0} Cause:  Extract detected a transaction that has a primary transaction ID that

matches an existing open transaction in the memory pool.

Action:  Restart Extract.

 

OGG-00726: The number of Oracle redo threads ({0,number,0}) is not the same as the number of checkpoint threads ({1,number,0}). EXTRACT groups on RAC systems should be created with the THREADS parameter (e.g., ADD EXT <group name>, TRANLOG, THREADS

{0,number,0}, BEGIN…)

Cause: The RAC system has the specified number of redo threads (instances) but the Extract group is not configured to read the same number of threads.

Data will be missed.

Action: You need to redirect Extract to capture from all RAC instances by doing the following:

 

  1. Issue the STOP EXTRACT <group>
  2. Issue the DELETE EXTRACT <group>

 

 

  1. If the database is Oracle Enterprise Edition 10.2 or higher, issue the DBLOGIN command as a user with the privileges that are listed in the DBLOGIN documentation.
  2. Issue the ADD EXTRACT <group> command to add back the group with the same name. (Do not change the name, or you will have to recreate the trail.) Include the following options in the command: TRANLOG, BEGIN

<yyyy-mm-dd [hh:mi:[ss[.cccccc]]]. Set BEGIN to the timestamp of the earliest record that the old Extract captured.

OGG-00727: Switch extract to archived log only mode on physical standby database.

Cause: Extract is configured to capture from an Oracle standby database, but the TRANLOGOPTIONS parameter does not contain the ARCHIVEDLOGONLY option.

Action: Add the ARCHIVEDLOGONLY option to force Extract to read the archives that were shipped over from the source. If the _ NOARCHIVEDLOGONLY option is being used, remove it. For more information about ALO mode, see the TRANLOGOPTIONS parameter.

 

OGG-00728: Extract is forced to stay in non archived log only mode when the database it connects to is a physical standby database.

Cause: The database is in standby mode, and the TRANLOGOPTIONS parameter contains the _NOARCHIVEDLOGONLY option to override the default behavior (switch to Archived Log Only mode and capture only from the archives).

Action: _NOARCHIVEDLOGONLY is an internal parameter, and this setting might be intentional as part of a support case. If this is intentional, no action is required. Otherwise, remove the ARCHIVEDLOGONLY option from the Extract parameter file. For more information about ALO mode, see the TRANLOGOPTIONS parameter.

 

OGG-00729: Running extract against a single thread (thread#

{1,number,0}) in a RAC configuration with {0,number,0} threads. All transactions owned by other redo threads will be ignored.

Cause: Oracle GoldenGate is being started in an Oracle RAC installation that has more than one instance, but the Extract process is only running against a single RAC instance.

Action: You need to redirect Extract to capture from all RAC instances by doing the following:

 

  1. Issue the STOP EXTRACT <group>
  2. Issue the DELETE EXTRACT <group>
  3. If the database is Oracle Enterprise Edition 10.2 or higher, issue the DBLOGIN command as a user with the privileges that are listed in the DBLOGIN documentation.
  4. Issue the ADD EXTRACT <group> command to add back the group with the same name. (Do not change the name, or you will have to recreate the trail.) Include the following options in the command: TRANLOG, BEGIN

<yyyy-mm-dd [hh:mi:[ss[.cccccc]]]. Set BEGIN to the timestamp of the earliest record that the old Extract captured.

 

 

OGG-00730: 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.

Cause: Minimal supplemental logging is not enabled. Supplemental logging must be enabled for Extract to successfully process records from the redo log.

Action:  Enable minimal supplemental logging.

 

OGG-00731: 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

Cause: Minimal supplemental logging is not enabled. Supplemental logging must be enabled for Extract to successfully process records from the redo log.

Action:  Enable minimal supplemental logging.

 

OGG-00732: Found crash recovery marker from thread #{0,number,0} on sequence {1,number,0} at RBA {2,number,0}. Aborting uncommitted transactions.

Cause: Extract found a crash recovery marker in the redo log. This is an informational message only.

Action: None

 

OGG-00733: Marker table {0} not found

Cause:  Extract could not find the DDL marker table.

Action: Install the DDL objects properly by running the ddl_setup script. For help, see the Oracle GoldenGate for Oracle installation and setup documentation.

 

OGG-00734: Failed to find LONG column index in table {0} to match up LONG data

Cause: The table is marked with a LONG column, but Extract could not find the LONG column when it resolved the table metadata.

Action:  Restart Extract to refresh the metadata in memory.

 

OGG-00735: Error converting Oracle numeric value to ASCII for column

{0}

Cause: Extract failed to convert data in a numeric column from the native Oracle format to the Oracle GoldenGate internal format.

Action: Restart Extract. If the problem persists, exclude this table from the Extract configuration so that processing continues, and then contact Oracle Support.

 

OGG-00736: Transaction has been FORCEd to trail, however there is no valid SCN present, transaction ID: {0}

Cause: SEND EXTRACT was issued with the FORCETRANS option to force the specified transaction to the trail. However, Oracle GoldenGate was not able to locate a System Change Number (SCN) for the commit record.

Action:  Contact Oracle Support.

 

OGG-00737: Cannot support {0,number,0} byte integer boundary Cause: Extract detected that the native data structure alignment on the specified word is higher than 4 bytes.

 

 

Action: Move the Oracle GoldenGate installation to a platform with a lower data structure alignment. For assistance, contact Oracle Support.

 

OGG-00738: Object id [{0,number,0}], SCN [{1}], commit SCN [{2}] could not be resolved. Most likely this happens if DDL history for it was deleted. Please check purge parameters in manager parameter file (if it is too short). If that is ok, this was probably an object that was not filtered out and this can be ignored

Cause: Either this object ID represents something that Extract is not supposed to capture, or it is supposed to be captured but Oracle GoldenGate could not interpret the metadata, probably because the table was dropped after this record was generated.

Action: If this record is an object that must be captured, restore the GGS_ DDL_HIST (DDL history) table from backup to restore the metadata for the specified object ID and SCN. To prevent future loss, set PURGEDDLHISTORY so that the retained history exceeds Extract lag.

 

OGG-00739: invalid datetime ({1}) for obj attr ({0})

Cause: The specified date or timestamp value is invalid. The date format must be ‘YYYY-MM-DD HH24:MI:SS’ and the timestamp format must be ‘YYYY-MM-DD HH24:MI:SS.FF’.

Action:  Use a value that conforms to the required format.

 

OGG-00740: invalid number ({1}) for obj attr ({0}), OCI Error {2} Cause:  The specified number value is not a valid Oracle number.

Action: Use a valid Oracle number. For help, see the Oracle documentation.

 

OGG-00741: invalid string ({1}) for obj attr ({0})

Cause: An attempt to map an XML value attribute of type “string” to an attribute of an Oracle user-defined datatype failed.

Action: Review the schema for the associated user-defined data type. Contact Oracle Support for additional assistance.

 

OGG-00742: invalid raw string ({1}) for obj attr ({0})

Cause: The field contains invalid characters. A RAW field can have only characters from ‘0123456789ABCDEF’.

Action:  Remove any characters that are not from ‘0123456789ABCDEF’.

 

OGG-00743: Error ({0,number,0}, {1}) start select in {2} Cause: Parse and binding on one of the internal queries failed. Action:  Contact Oracle Support.

OGG-00744: Error ({0,number,0}, {1}) start select in {2} Cause: Parse and binding on one of the internal queries failed. Action:  Contact Oracle Support.

OGG-00745: Error ({0,number,0}, {1}) start cursor in {2} Cause: Parse and binding on one of the internal queries failed. Action:  Contact Oracle Support.

OGG-00746: Error ({0,number,0}, {1}) selecting data in {2}

Cause:  An error occurred when fetching data from an internal cursor.

 

 

Action:  Contact Oracle Support.

 

OGG-00747: Error ({0,number,0}, {1}) selecting data in {2}

Cause:  An error occurred when fetching data from an internal cursor.

Action:  Contact Oracle Support.

 

OGG-00748: Error ({2,number,0}, {3}) retrieving data in {4}() for table

{0}.{1}

Cause:  The process cannot find the specified table.

Action: Ensure that the table exists in the database, and that it is specified correctly in the parameter file of the process. If these checks prove true, contact Oracle Support.

 

OGG-00749: Error ({1,number,0}, {2}) retrieving owner/object name for object id {0,number,0}

Cause: The process cannot find the object name by using the specified object ID.

Action:  Contact Oracle Support.

 

OGG-00750: Error ({3,number,0}, {4}) retrieving LOB object_id for col {2}, table {0}.{1}

Cause: The process cannot find the LOB object name by using the specified object ID.

Action:  Contact Oracle Support.

 

OGG-00751: Failed to validate table {0}. Likely due to existence of unused columns. It will cause data integrity issue if you are not using sourcedefs in downstream Replicat or the target table doesn’t have the same unused columns due to ASSUMETARGETDEFS or DDL replication. Please use ‘DBOPTIONS ALLOWUNUSEDCOLUMN’ parameter to override this.

Cause: The specified table contains unused columns. Oracle Supports tables with unused columns, but the support is disabled by default. Extract abends on these columns unless you use the DBOPTIONS parameter with the ALLOWUNUSEDCOLUMN option to force Extract to generate a warning and continue processing.

Action: Specify DBOPTIONS with ALLOWUNUSEDCOLUMN. When using this parameter, either the same unused column must exist in the target table, or a source definitions file must be created for Replicat with the DEFGEN utility. For more information about the source definitions file, see the Oracle GoldenGate administration documentation.

 

OGG-00752: Failed to validate table {0}. Likely due to existence of unused column. Please make sure you use sourcedefs in downstream Replicat, or the target table has exactly the same unused columns when using ASSUMETARGETDEFS or DDL replication.

Cause: The specified table contains unused columns. Oracle Supports tables with unused columns, but the support is disabled by default. Extract abends on these columns unless you use the DBOPTIONS parameter with the ALLOWUNUSEDCOLUMN option to force Extract to generate a warning and continue processing.

Action: Specify DBOPTIONS with ALLOWUNUSEDCOLUMN. When using this parameter, either the same unused column must exist in the target table,

 

 

or a source definitions file must be created for Replicat with the DEFGEN utility. For more information about the source definitions file, see the Oracle GoldenGate administration documentation.

 

OGG-00753: Error ({2,number,0}, {3}) retrieving partition count for table

{0}.{1}

Cause: The process could not find the number of partitions in the specified table.

Action:  Contact Oracle Support.

 

OGG-00754: Error ({2,number,0}, {3}) retrieving subpartition count for table {0}.{1}

Cause: The process could not find the number of sub-partitions in the specified table.

Action:  Contact Oracle Support.

 

OGG-00755: Failed to lookup user ID for table {0}

Cause:  The process could not find the owner of the specified table.

Action: Ensure that the table is qualified with the correct owner in the parameter file and that the table exists in the schema to which the process is connected.

 

OGG-00756: Failed to lookup user ID for sequence {0}

Cause:  The process could not find the owner of the specified sequence.

Action: Ensure that the sequence is qualified with the correct owner in the parameter file and that the sequence exists in the schema to which the process is connected.

 

OGG-00757: Error ({2,number,0}, {3}) fetching alternate object IDs for table {0}.{1}

Cause:  The process could not get the sub-partition IDs of the specified table.

Action:  Contact Oracle Support.

 

OGG-00758: Error ({0,number,0}, {1}) retrieving user name in {2}() Cause:  This is an internal error.

Action:  Contact Oracle Support.

 

OGG-00759: Error ({1,number,0}, {2}) retrieving user_id for username {0} Cause:  The process could not find the specified user name.

Action:  Ensure that the user exists in the database.

 

OGG-00760: Error ({3,number,0}, {4}) select data segcol# in {5}() for {0}.{1} column# {2,number,0}

Cause:  This is an internal error.

Action:  Contact Oracle Support.

 

OGG-00761: Error ({3,number,0}, {4}) retrieving col# & seqcl# for col {2}, table {0}.{1}

Cause:  The process could not find the specified column name in the table.

Action: Add the column to the table, or remove it from any parameters that use it as the basis for filtering or other processing.

 

 

OGG-00762: Error ({2,number,0}, {3}) fetching table name {0}.{1}

Cause:  The process could not find the specified table name in the database.

Action: Add the table to the database, or remove it from the Oracle GoldenGate configuration.

 

OGG-00763: Error ({0,number,0}, {1}) retrieving database block size Cause:  This is an internal error.

Action:  Contact Oracle Support.

 

OGG-00764: Error ({3,number,0}, {4}) checking log group on log {2} for table {0}.{1}

Cause:  Supplemental logging is not enabled for the specified table.

Action:  Enable supplemental logging for the table.

 

OGG-00765: Error ({3,number,0}, {4}) checking log group on log {2} for table {0}.{1}

Cause:  Supplemental logging is not enabled for the specified table.

Action:  Enable supplemental logging for the table.

 

OGG-00766: Error ({2,number,0}, {3}) retrieving total columns for user {0}, table {1}

Cause:  This is an internal error.

Action:  Contact Oracle Support.

 

OGG-00768: {0}. SQL error ({1,number,0}). {2}

Cause: This is a generic error message and there can be multiple reasons for it. One reason could be that a query to set the session timeout failed. Ignoring this message results in the session being disconnected after a default time period if the connection has been idle. This error message also is used when an operation against the database fails, such as a query.

Action: To resolve this error, verify in the database why the query or other operation would fail. For example, verify that the user that executed the operation has the correct privileges to do so.

 

OGG-00769: {0}. SQL error ({1,number,0}). {2}

Cause: This is a generic error message and there can be multiple reasons for it. One reason could be that a query to set the session timeout failed. Ignoring this message results in the session being disconnected after a default time period if the connection has been idle. This error message also is used when an operation against the database fails, such as a query.

Action: To resolve this error, verify in the database why the query or other operation would fail. For example, verify that the user that executed the operation has the correct privileges to do so.

 

OGG-00770: Failed to connect to MySQL database engine for HOST {0}, DATABASE {1}, USER {2}, PORT {3,number,0}

Cause: One of the Oracle GoldenGate parameters that specifies connection information is incorrect.

Action: Verify the login credentials of the Oracle GoldenGate process (as a database user), the connection port, the database name, and the host name that are specified in the parameter file. In the case of the host name, the name might be incorrectly specified, or the MySQL server could not resolve it. It also

 

 

is possible that the host name was not specified when the MySQL user was created, so the MySQL system table does not contain an entry for the user.

 

OGG-00771: Cannot initialize MySQL connection handler

Cause: The MySQL API failed to allocate, initialize, and return a new object that is used throughout the session to connect to the object. This error only occurs when there is not sufficient memory.

Action:  Add memory.

 

OGG-00772: Setting session isolation level to REPEATABLE READ Cause: The query to set the session’s default isolation level to “REPEATABLE READ” in the MySQL database failed.

Action: Make certain the user has the appropriate privilege to set the default isolation level.

 

OGG-00773: Disabling autocommit mode

Cause:  The query to set the auto-commit variable (autocommit=0) failed.

Action: Make certain the user has the appropriate privilege to perform this operation, and make certain that the MySQL server is running.

 

OGG-00774: Unrecognized field type ({1,number,0}) for column {0} Cause: The specified column contains a data type that is not supported by Oracle GoldenGate.

Action: Remove tables or columns that contain unsupported data types from the Oracle GoldenGate configuration. For supported data types, see the Oracle GoldenGate installation and setup guide for the MySQL database.

 

OGG-00775: Unable to determine database case sensitivity, setting to insensitive

Cause: Oracle Supports case sensitivity but cannot determine the case of the database.

Action: Oracle GoldenGate checks the database collation to determine whether the database object names should be compared in case sensitive or case insensitive mode. View the collation of the database to make certain it is set correctly. Certain collation-dependent objects and duplicate names, for example, can cause a COLLATE definition to fail. For more information, see the Microsoft SQL Server documentation.

 

OGG-00776: ‘SELECT INTO/BULKCOPY’ option is enabled for database:

{0}. SELECT INTO operations on permanent tables are not written to logs. These operations will therefore not get replicated.

Cause:  Bulk copy is not supported.

Action: To avoid this error, issue the following SQL Server command: exec sp_dboption ‘<owner/schema>’, ‘select into/bulkcopy’, false.

 

OGG-00778: Logging of supplemental log data is disabled for table {0} Cause: Supplemental (extended) logging is not enabled for the specified table.

Action: Issue the DBLOGIN command in GGSCI, and then issue the ADD TRANDATA command to enable the supplemental logging. For more information, see the Oracle GoldenGate for SQL Server documentation.

 

OGG-00781: Error in changing transaction logging for table: ‘{0}’ ({1})

 

 

Cause: Oracle GoldenGate failed to enable or disable supplemental logging for the specified table.

Action: Look for other warnings or error messages, because there are many possible causes for this error, such as insufficient privileges for the Oracle GoldenGate user and connectivity failures.

 

OGG-00782: Error in changing transaction logging for table: ‘{0}’

Cause: Oracle GoldenGate failed to enable or disable supplemental logging for the specified table.

Action: Look for other warnings or error messages, because there are many possible causes for this error, such as insufficient privileges for the Oracle GoldenGate user and connectivity failures.

 

OGG-00783: Unable to enable replication on ‘{0}’ ({1})

Cause: Oracle GoldenGate failed to enable or disable supplemental logging for the specified table.

Action: Look for other warnings or error messages, because there are many possible causes for this error, such as insufficient privileges for the Oracle GoldenGate user and connectivity failures.

 

OGG-00784: Unable to determine if {0}.{1} is of computed column: {2} Cause: Oracle GoldenGate failed to determine if the specified column is a computer column.

Action: Look for other warnings or error messages, because there are many possible causes for this error, such as insufficient privileges for the Oracle GoldenGate user and connectivity failures.

 

OGG-00785: Row image does not match table definition for {0} at

{1}.{2,number,0}. REORG followed by initial data load is required before capture can resume.

Cause: The table was altered so that the current definition does not match the log record.

Action: Reorganize the table and then do an initial load to resynchronize the source and target data. Then, restart Extract.

 

OGG-00786: DATA CORRUPTION may result from use of the NOMERGEMEMBERS option in a data sharing environment.

Cause: The undocumented option _NOMERGEMEMBERS is specified in the TRANLOGOPTIONS statement for Extract in a data sharing environment.

Action:  Contact Oracle Support.

 

OGG-00787: unexpected status {0} at {1}.{2,number,0}

Cause: This is a warning that the process is at the end of the log and waiting for more data.

Action: None

 

OGG-00788: check DB2 maintenance for the presence of PQ78544 and the absence of PQ96356 – contact Oracle Support if PQ96356 has been applied.

Cause:  Log record types 10, 11, 12, and 13 are either the result of a

short-lived APAR PQ78544 (reversed by PQ96356) or changes subsequent to PQ96356.

 

 

Action: Contact Oracle Support if any of these types appear without PQ78544.

 

OGG-00789: Table Space {0}.{1} is LOG NO – Table {2} Column #

{3,number,0} will be captured via fetch

Cause: The specified LOB tablespace was created as LOG NO; therefore, the specified LOB column cannot be captured from the log and must be captured by means of a fetch.

Action: None

 

OGG-00790: A resource was unavailable while attempting to read the log at {0}. Retry in {1,number,0} seconds.

Cause:  The process is retrying a log read.

Action: None

 

OGG-00791: Invalid log record Cause:  A processing check failed.

Action: Save this message and other preceding messages that provide the context for it, and contact Oracle Support.

 

OGG-00794: A resource was unavailable while attempting to read the log at {0}. check SYSLOG for details.

Cause: The process is trying to read a log file that is no longer available.

Action: Make certain that the BSDS name was specified correctly, and that the ADD EXTRACT or ALTER EXTRACT command was issued correctly. If a start time was used, instead of the NOW option, it is possible to specify a start point for which logs are no longer available. If Extract is configured properly, contact Oracle Support.

 

OGG-00795: DB2 Monitor Trace Class 1 must be active

Cause: DB2 Monitor Trace Class 1 is required to allow Extract to read the active log, but Monitor Trace Class 1 is not active.

Action: See the Oracle GoldenGate installation and setup documentation for instructions on activating Monitor Trace Class 1.

 

OGG-00796: unexpected IFI error {0} Cause:  A processing check failed.

Action: Save this message and other messages that provide context for it, and contact Oracle Support.

 

OGG-00797: DB2 IFI abend – check logrec {0} Cause:  A processing check failed.

Action: Save this message and other preceding messages that provide context for it, and contact Oracle Support.

 

OGG-00798: BUFSIZE too small for log record

Cause: The internal buffer that holds the results of each read of the transaction log is too small to hold the data returned.

Action: Use the TRANLOGOPTIONS parameter with the BUFSIZE option to increase the buffer size.

 

OGG-00799: Error {4} diagnostic {5} retrieving log record for table {0} (dbid x'{1}’ psid x'{2}’ obid x'{3}’)

 

 

Cause: The process could not retrieve the next log record for the specified table.

Action: Save this message and other preceding messages that provide context for it, and contact Oracle Support.

 

OGG-00800: Unable to decompress log record for table {0} Error {4} diagnostic {5} (dbid x'{1}’ psid x'{2}’ obid x'{3}’). The compression dictionary changed since the log record was written

Cause: DB2 z/OS was not able to decompress the log record. It is likely that a compression dictionary matching the record is not available.

Action: Save this message and other preceding messages that provide context for it, and contact Oracle Support.

 

OGG-00801: Unable to retrieve log record for table {0}. Error {4} diagnostic {5} (dbid x'{1}’ psid x'{2}’ obid x'{3}’). The buffer is too small to hold the log record.

Cause: The internal buffer that holds the results of each read of the transaction log is too small to hold the data returned.

Action: Use the TRANLOGOPTIONS parameter with the BUFSIZE option to increase the buffer size.

 

OGG-00803: Unable to find {0}

Cause:  The initialization of the IFI interface failed.

Action: Save this message and other preceding messages that provide context for it, and contact Oracle Support.

 

OGG-00804: Unable to initialize IFI

Cause:  The initialization of the IFI interface failed.

Action: Save this message and other preceding messages that provide context for it, and contact Oracle Support.

 

OGG-00805: LOBCol {0} expected {1,number,0} bytes copied {2,number,0} bytes

Cause: The number of bytes that were moved from LOB storage to the base row did not match what the process expected.

Action: Save this message and other preceding messages that provide context for it, and contact Oracle Support.

 

OGG-00806: moving {1,number,0} bytes to base row for LOBcol {0} Cause:  The process failed to move data from LOB storage to the base row.

Action: Save this message and other preceding messages that provide context for it, and contact Oracle Support.

 

OGG-00808: Invalid sequence at line {1,number,0} – type {0,number,0} cannot be first

Cause:  An out-of-sequence log record was encountered.

Action: Save this message and other preceding messages that provide context for it, and contact Oracle Support.

 

OGG-00809: Variant mismatch at line {0,number,0} Cause:  An unknown type of log record was encountered.

 

 

Action: Save this message and other preceding messages that provide context for it, and contact Oracle Support.

 

OGG-00810: Validation error at line {0,number,0} Cause:  An out-of-sequence log record was encountered.

Action: Save this message and other preceding messages that provide context for it, and contact Oracle Support.

 

OGG-00811: Invalid sequence at line {0,number,0} Cause:  An out-of-sequence log record was encountered.

Action: Save this message and other preceding messages that provide context for it, and contact Oracle Support.

 

OGG-00813: Unexpected (non-URCTL) record type Cause: An unexpected log error was encountered. Action:  Contact Oracle Support.

OGG-00814: SQL_NO_DATA_FOUND from SQLGetData for col {1} table {0} PTF UK34243 is required

Cause: A bug in DB2 z/OS occasionally causes no data to be found when Extract tries to fetch LOB data. Extract checks to see if the specified IBM fix was applied and, if not, generates this message.

Action:  Apply the required IBM fix shown in the message.

 

OGG-00815: db2ReadLog error [RC={0,number,0}:SQLCA structure may be corrupted]

Cause: The DB2ReadLog API has encountered an error reading the transaction log.

Action:  Contact Oracle Support.

 

OGG-00816: db2ReadLog error [{0}] [{1}]

Cause: An invalid parameter has been supplied to the DB2ReadLog API. This is an internal error.

Action:  Contact Oracle Support.

 

OGG-00817: db2ReadLog error [{0}]

Cause: The DB2ReadLog API encountered an error while trying to obtain the current LSN in the transaction log. This is an internal error.

Action:  Contact Oracle Support.

 

OGG-00818: Unknown Log Manager log record component ID encountered:{0,number,0}

Cause: An unrecognized component ID was encountered during the processing of a log record. This is an internal error.

Action:  Contact Oracle Support.

 

OGG-00820: Reposition to key {0,number,0} failed

Cause: Extract was not able to reposition to the specified timestamp. This is an internal error.

Action:  Contact Oracle Support.

 

 

OGG-00821: LSN requested ({0,number,0}) is no longer valid, positioning to the next LSN in the log files

Cause: Extract was positioned to start at the specified LSN, but it does not exist in the log files. Extract is positioned to the closest next LSN that exists in the log files.

Action: None

 

OGG-00822: LSN requested ({0,number,0}) was not found in the the DB2 log files, using next available LSN at {1,number,0}

Cause: Extract was positioned to start at the specified LSN, but it does not exist in the log files. Extract is positioned to the closest next LSN that exists in the log files.

Action: None

 

OGG-00823: A key column on the after image was not present in the before image on table {0} column index {1,number,0} This is because column(s) were added to the table after it was originally created. This is a known issue with DB2 LUW that can only be addressed by IBM.

Cause: Columns were added to the specified table, so the after image contains a column that was not present in the before image that is used by Oracle GoldenGate for comparison purposes.

Action: Exclude this table from the Oracle GoldenGate configuration, stop user activity on it, and then resynchronize it with the target table. Add it back to the Oracle GoldenGate configuration, and then restart the processes.

 

OGG-00824: Column index {1,number,0} in table {0} cannot be used as a key field

Cause: The table has a unique index that includes a column type that is not supported by Oracle GoldenGate as a key.

Action: Use the KEYCOLS clause to specify unique columns that can be used as a key. You can use the existing index columns minus the nonsupported column in the KEYCOLS clause, if the remaining columns ensure uniqueness.

 

OGG-00825: Table {0} column {1,number,0} : Invalid LOB column value Cause: The Extract process encountered an internal error while processing a log record containing a LOB column.

Action:  Contact Oracle Support.

 

OGG-00826: Table {0} column {1,number,0} : Invalid packed decimal column value

Cause: The Extract process encountered an internal error while processing a log record containing a PACKED DECIMAL column.

Action:  Contact Oracle Support.

 

OGG-00827: Insert of new hash item for tablespace:table:transID

{0,number,0}:{1,number,0} failed

Cause:  The Extract process encountered an internal storage allocation error.

Action:  Contact Oracle Support.

 

OGG-00828: Retrieval of hash item for tablespace:table:transID

{0,number,0}:{1,number,0} failed

Cause:  The Extract process encountered an internal storage access error.

 

 

Action:  Contact Oracle Support.

 

OGG-00829: Retrieval of hash item for tablespace:table:transID

{0,number,0}:{1,number,0} succeeded unexpectedly

Cause:  The Extract process encountered an internal storage access error.

Action:  Contact Oracle Support.

 

OGG-00830: Delete of hash item failed

Cause:  The Extract process encountered an internal storage access error.

Action:  Contact Oracle Support.

 

OGG-00831: Neither a valid checkpoint start LSN nor a timestamp was passed to REDO_position

Cause: An internal error was encountered by Extract where the process could not determine the positioning mode at startup.

Action:  Contact Oracle Support.

 

OGG-00832: ASCII formatting not implemented

Cause: The FORMATASCII parameter is not supported for this database implementation.

Action:  Remove FORMATASCII from the Extract parameter file.

 

OGG-00833: Invalid component ID encountered {0,number,0}

Cause: The Extract process did not recognize the component identifier from the specified record.

Action:  Contact Oracle Support.

 

OGG-00834: Invalid row type {0,number,0} was received while creating a LOB row for an LOB record type: {1,number,0}

Cause: The Extract process did not recognize the row type from the specified LOB record.

Action:  Contact Oracle Support.

 

OGG-00835: Invalid row type {0,number,0} was received while creating a LFM row for an LFM record type: {1,number,0}

Cause: The Extract process did not recognize the LFM type from the specified LOB record.

Action:  Contact Oracle Support.

 

OGG-00836: No items were found in the transaction for tablespace:table:trans ID {0,number,0}:{1,number,0}:{2}

Cause: The Extract process unexpectedly encountered an empty transaction while trying to output the transation.

Action:  Contact Oracle Support.

 

OGG-00837: db2CfgGet error [{0}]

Cause:  An error occured while processing a table truncate.

Action:  Contact Oracle Support.

 

OGG-00838: db2CfgGet error [RC={0,number,0}:SQLCA structure may be corrupted]

Cause:  An error occured while processing a table truncate.

 

 

Action:  Contact Oracle Support.

 

OGG-00839: Table {0} does not have DATA CAPTURE CHANGES turned on : Table will be ignored

Cause: The specified table does not have DATA CAPTURE CHANGES turned on, and Extract is ignoring it because TRANLOGOPTIONS includes IGNOREDATACAPTURECHANGES.

Action: None

 

OGG-00840: Table {0} does not have DATA CAPTURE CHANGES turned on : Use the TRANLOGOPTIONS IGNOREDATACAPTURECHANGES

parameter to override

Cause: The specified table does not have DATA CAPTURE CHANGES turned on. This is required by Extract.

Action: Use the TRANLOGOPTIONS parameter with the IGNOREDATACAPTURECHANGES option to cause Extract to ignore tables for which DATA CAPTURE CHANGES is not set. This option enables you to use a wildcarded table specification for tables that have change capture enabled, while skipping tables with matching names that do not have it enabled.

 

OGG-00841: An update after image converted to an insert was not followed by its corresponding row ID update. An internal dms type of

{0,number,0} was encountered in the following record

Cause: The after image of an update that was converted to an insert was not followed by its corresponding row ID update. This is an internal logic error.

Action:  Contact Oracle Support.

 

OGG-00842: No records left in transaction:An update after image converted to an insert with LSN {0,number,0} was not followed by its corresponding update

Cause: Extract encountered an internal logic error while processing an update record at the specified LSN.

Action:  Contact Oracle Support.

 

OGG-00843: No tables were defined for extraction in the EXTRACT param file

Cause: Extract was started but the parameter file contains no table specifications.

Action:  Specify tables for capture with the TABLE parameter.

 

OGG-00844: Source table entry not found in file array

Cause: A table that is specified for capture in the Extract parameter file does not exist in the specified database.

Action: Add the table to the database or remove it from the TABLE parameter file.

 

OGG-00845: Rollback ID {1,number,0} does not match last record ID of

{0,number,0} in FM transaction manager

Cause: An internal inconsistency was detected in the Extract process while processing a transaction rollback.

Action:  Contact Oracle Support.

 

 

OGG-00846: Row row: Expecting an update/delete/undo record after receiving an update converted to an insert in migrated row sequence: Received record type {0,number,0} instead

Cause: Extract encountered an unexpected sequence of records in the transaction log. This is an internal logic error.

Action:  Contact Oracle Support.

 

OGG-00847: Multi-dimensional clustered tables using formatted user data records with value compression are not supported in this release Cause:  The TABLE parameter includes a table that is defined with an

unsupported database feature.

Action: Remove the table that is not supported from the TABLE specification. If the table name is one of many that satisfy a wildcard, you can use TABLEEXCLUDE to exclude it.

 

OGG-00848: A log record with the previous LSN:{0,number,0} was not found in the DB2 log files: lookup failed

Cause: Extract failed to process backward in the LSN chain to find the first record of the transaction. This is an internal logic error.

Action:  Contact Oracle Support.

 

OGG-00849: Database name must be 8 characters or less

Cause: The database name that is specified in the parameter file is too long. The database name can be up to eight characters.

Action:  Check the parameter file for a typographical error.

 

OGG-00850: Database instance {0} has both USEREXIT and LOGRETAIN set to off

Cause:  The database is not configured to retain the transaction logs.

Action: Turn on the USEREXIT parameter, which automatically sets LOGRETAIN to RECOVERY and forces a user exit program to archive and retrieve the log files. Alternatively, you can set the LOGRETAIN parameter to RECOVERY, which retains the logs and enables them to be used for forward recovery.

 

OGG-00851: Invalid {1} record: row type {0,number,0} was received with an associated {1} record type: {2,number,0}

Cause:  Extract failed an internal sanity check of the log record.

Action:  Contact Oracle Support.

 

OGG-00852: Invalid DMS record type received: {0,number,0} Cause: Extract failed an internal sanity check of the log record. Action:  Contact Oracle Support.

OGG-00853: Table {0} column {1,number,0} : invalid decimal digit in packed decimal field

Cause:  The specified table contains invalid data in a packed decimal column.

Action:  Contact Oracle Support.

 

OGG-00854: Table {0} column {1,number,0} : maximum decimal precision exceeded

 

 

Cause: The specified table contains a decimal value that is larger than the maximum permitted value.

Action:  Contact Oracle Support.

 

OGG-00855: Table {0} column {1,number,0} : error {2,number,0} occurred Cause: Extract encountered an error while converting the data in the specified column.

Action:  Contact Oracle Support.

 

OGG-00856: Table {0} does not have DATA CAPTURE CHANGES enabled for LONG columns. Use the TRANLOGOPTIONS NOREQUIRELONGDATACAPTURECHANGES parameter to override

Cause: DB2 LUW Data Capture Changes is not enabled for LONG columns on this table. The TRANLOGOPTIONS parameter is set to its default of REQUIRELONGDATACAPTURECHANGES, which forces Extract to abend when LONGs are not captured. When NOREQUIRELONGDATACAPTURECHANGES is used, Extract issues a warning and continues processing the record.

Action: Change TRANLOGOPTIONS to NOREQUIRELONGDATACAPTURECHANGES to avoid an abend, or enable capture of LONG columns.

 

OGG-00857: Table {0} does not have DATA CAPTURE CHANGES enabled for LONG columns. Use the TRANLOGOPTIONS NOREQUIRELONGDATACAPTURECHANGES parameter to override

Cause: DB2 LUW Data Capture Changes is not enabled for LONG columns on this table. The TRANLOGOPTIONS parameter is set to its default of REQUIRELONGDATACAPTURECHANGES, which forces Extract to abend when LONGs are not captured. When NOREQUIRELONGDATACAPTURECHANGES is used, Extract issues a warning and continues processing the record.

Action: Change TRANLOGOPTIONS to NOREQUIRELONGDATACAPTURECHANGES to avoid an abend, or enable capture of LONG columns.

 

OGG-00858: LONG columns are not supported for the NOCOMPRESSDELETES option for DB2 LUW. LONG columns from table {0} will not be included for delete operations

Cause: NOCOMPRESSDELETES writes all of the table columns to the trail, but LOBs are not supported for this feature. Because this is a DELETE, replication will not be affected by this limitation.

Action: None

 

OGG-00862: Number of log records read: {0,number,0}. Number of log records dumped to file: {1,number,0}.

Cause: This message is reported when Extract is running in a diagnostic mode under the direction of Oracle Support.

Action: None

 

OGG-00863: DB2 Extract log dump stopped

Cause: This message is reported when Extract is running in a diagnostic mode under the direction of Oracle Support.

Action: None

 

 

OGG-00864: DB2 Extract log dump has reached the maximum number of log records it can process in a single run: {0,number,0}

Cause: This message is reported when Extract is running in a diagnostic mode under the direction of Oracle Support.

Action: None

 

OGG-00865: Reached RECORDCOUNT value requested of {0,number,0} Cause: This message is reported when Extract is running in a diagnostic mode under the direction of Oracle Support.

Action: None

 

OGG-00866: Reached STOPATLSN value requested of {0,number,0} Cause: This message is reported when Extract is running in a diagnostic mode under the direction of Oracle Support.

Action: None

 

OGG-00867: Only dumping propagated log records

Cause: This message is reported when Extract is running in a diagnostic mode under the direction of Oracle Support.

Action: None

 

OGG-00868: {0}

Cause:  The specified database error occurred.

Action: Follow the directions in the error message to resolve the problem, or contact Oracle Support.

 

OGG-00869: {0}

Cause:  The specified database error occurred, but can be ignored.

Action:  Contact Oracle Support only if a problem persists.

 

OGG-00870: Database error {0,number,0} ({1}) Cause:  The specified database error occurred.

Action:  Resolve the error. If the problem persists, contact Oracle Support.

 

OGG-00871: Could not find column {1} in table {0}

Cause: The XML input to the Veridata Agent (VERIAGT) refers to a column that does not exist in the specified table. This usually is caused by an internal error in Veridata Server, which is responsible for validating column references before putting them into the XML messages.

Action:  Contact Oracle Support.

 

OGG-00873: Could not find primary key column {1} in table {0}

Cause: The process encountered an internal error while retrieving primary key information from the database.

Action:  Contact Oracle Support.

 

OGG-00874: Expected number of output params (sqlexec id {0}) greater than actual ({1,number,0})

Cause: The SQLEXEC query or stored procedure contains fewer column parameters than the result of the fetch from the database.

Action: Correct the SQLEXEC parameter specification. If the problem persists, contact Oracle Support.

 

 

OGG-00875: Unexpected error looking for col {0,number,0} in lobmem Cause: The LOB column is missing from the database. Oracle GoldenGate fetches LOB values in certain cases. The table might have been updated to

delete the LOB column between the time the transaction record was generated

and the time that Extract processed it.

Action:  Contact Oracle Support.

 

OGG-00876: LOB data exceeds max size ({0,number,0}) for column

{2,number,0} ({1})

Cause:  The LOB exceeds the size that is supported by Oracle GoldenGate.

Action: You can restart Replicat to skip this record with START options, or you can use a REPERROR rule to handle this type of record. Another option is to alter the target table definition to accept null values. For MySQL and Sybase, you can use TRANLOGOPTIONS with ALLOWLOBDATATRUNCATE to truncate LOBs that are too large for a target column.

 

OGG-00877: Could not map zero length BLOB from source column {0} into non-nullable target column {1}

Cause:  The target column does not support null column values.

Action: You can restart Replicat to skip this record with START options, or you can use a REPERROR rule to handle this type of record. Another option is to alter the target table definition to accept null values. You can use TRANLOGOPTIONS with EMPTYLOBSTRING to substitute a string value for empty (zero-length) LOB columns that are replicated to the target. By default, Oracle GoldenGate sets empty columns to NULL on the target and will abend if the target database does not permit LOB columns to be NULL. EMPTYLOBSTRING prevents Replicat from abending.

 

OGG-00878: Could not execute SQL, not logged onto database

Cause: The process could not execute the SQL operation because it did not log onto the database.

Action: Check the parameter file for the USERID parameter and, if applicable, the SOURCEDB or TARGETDB parameter. These parameters provide the necessary login information. For more information, see the Oracle GoldenGate reference documentation.

 

OGG-00879: Owner is not specified in table ‘{0}’.

Cause: An owner is not included for this table in the TABLE and/or MAP specification.

Action:  Qualify all table names with an owner.

 

OGG-00880: Owner is not specified in table ‘{0}’.

Cause: The specified table is not qualified with an owner name in the parameter file.

Action:  Add the owner to the table specification, as in hq.sales.

 

OGG-00881: NODYNSQL cannot be used for columns > 4K

Cause: The NODYNSQL parameter is specified for Replicat, but a LOB column greater than 4K in size was encountered during replication.

Action: Remove NODYNSQL or ensure that there are no LOB values greater than 4K.

 

 

OGG-00882: NODYNSQL option is not supported for the wide character types (SQL_WCHAR, SQL_WLONGVARCHAR and SQL_WVARCHAR)

Cause: NODYNSQL is being used in the Replicat parameter file, but a wide character type was encountered. In NODYNSQL mode, the process cannot expand the data into a static SQL statement.

Action:  Remove NODYNSQL, and then restart the process.

 

OGG-00883: failed to update entry in trace table ‘{0}’, group {1}. Number of rows updated is {2,number,0}

Cause:  An internal error occurred.

Action:  Contact Oracle Support.

 

OGG-00884: Fetched fields ({1,number,0}) does not equal total columns ({0,number,0})

Cause: The number of fetched columns for the specified table does not match the number of columns for this table as shown in the metadata.

Action: Find out whether this table was changed since the time that this transaction record was generated. Try restarting the process to see if the problem resolves. If the problem persists, contact Oracle Support.

 

OGG-00885: error encountered converting fetched column ({0}) from ascii val {1} ({2})

Cause: An error occurred when the process tried to convert a fetched column value to an internal format. More information can be obtained from the error message that is provided in the message.

Action: If you cannot fix the problem based on the error message, contact Oracle Support.

 

OGG-00886: Unsuccessful execution on interval: {0}

Cause: An error occurred when the process tried to execute a SQL statement in a given interval.

Action: Resolve the problem based on the error text, and then restart the process. If the problem persists, contact Oracle Support.

 

OGG-00887: Unsuccessful SQL execution on interval: {0}

Cause: An non-fatal error occurred when the process tried to execute a SQL statement in a given interval.

Action: Resolve the problem based on the error text, and then restart the process. If the problem persists, contact Oracle Support.

 

OGG-00888: SQL statement executed successfully on interval.

Cause:  The process successfully executed the SQL statement.

Action: None

 

OGG-00889: Error performing SQL statement at end of tranaction Cause: A fatal error occurred when the process tried to execute a SQL statement at the end of a transaction.

Action: Resolve the problem based on the SQL error. If the problem persists, contact Oracle Support.

 

OGG-00890: Error performing SQL statement at end of tranaction

 

 

Cause: A non-fatal error occurred when the process tried to execute a SQL statement at the end of a transaction.

Action: Resolve the problem based on the SQL error. If the problem persists, contact Oracle Support.

 

OGG-00891: Unsuccessful execution: {0}

Cause: A fatal error occurred when the process tried to execute a SQL statement.

Action: Resolve the problem based on the SQL error. If the problem persists, contact Oracle Support.

 

OGG-00892: Unsuccessful SQL execution: {0}

Cause: The process was not able to execute the SQL statement because of a database error that is stated in the error text.

Action:  Correct the cause of the error, and then restart the process.

 

OGG-00893: SQL statement executed successfully.

Cause:  The process successfully executed a SQL statement.

Action: None

 

OGG-00894: SQL error {1,number,0} occurred when updating duplicate row in table {0}

Cause: The specified error occurred when the process issued an update on a duplicate row. There may be a constraint error.

Action: Remove the duplicate row or change the constraint, and then restart the process.

 

OGG-00895: Unexpected error: could not add HASH for table {0}

Cause: An internal error occurred when the process tried to add a hash for the specified table.

Action: Save this message and any related messages, and contact Oracle Support.

 

OGG-00896: Unexpected error: Delete of item known to be in hash table failed

Cause:  An internal error occurred.

Action: Save this message and any related messages, and contact Oracle Support.

 

OGG-00897: Unexpected error: could not find newly added table ({0}) by name

Cause: The specified table was resolved by the Extract producer thread but cannot be resolved by the Extract consumer thread.

Action:  Check to see if this table still exists. If not, restart Extract.

 

OGG-00898: Unexpected error: could not find newly added table ({0}) by Object ID ({1})

Cause:  Extract could not find the specified table by its object ID.

Action:  Contact Oracle Support.

 

OGG-00899: Table {0} does not exist

 

 

Cause: The specified table does not exist in the database, but is specified in the Oracle GoldenGate configuration.

Action:  Remove the table from the TABLE and MAP statements.

 

OGG-00900: Table {0} object id {1} not found Cause:  An internal error occurred.

Action:  Contact Oracle Support.

 

OGG-00901: Failed to lookup object ID for table {0} Cause:  The DB2 catalog query for the specified table failed.

Action: The table might have been dropped. If the table still exists, start the process again. If the error persists, contact Oracle Support.

 

OGG-00902: Total byte length of table {0} is too long (at column {1}, offset

= {2,number,0})

Cause: The specified column is longer than the maximum length supported by Oracle GoldenGate for the Sybase database.

Action:  Decrease the length of the column.

 

OGG-00903: Error retrieving row count for last executed statement Cause:  The SQLRowCount() call returned an error.

Action: Check the SQLRowCount() API page to see the possible issues associated with this call and correct the problem. If the problem persists, contact Oracle Support.

 

OGG-00904: Calling {0} when there is no active transaction (seqno:

{1,number,0}, rba: {2,number,0}). Request ignored.

Cause: An internal error occurred because a ROLLBACK or COMMIT was called when there was no open transaction.

Action:  Save the trail files, and contact Oracle Support.

 

OGG-00905: Calling BEGIN when there is still an active transaction (seqno: {0,number,0}, rba: {1,number,0}). Request ignored.

Cause: An internal error occurred because a BEGIN TRANSACTION was issued for an open transaction.

Action:  Save the trail files, and contact Oracle Support.

 

OGG-00906: Unrecognized data type: {0,number,0} Cause: An unexpected data type was encountered. Action:  Contact Oracle Support.

OGG-00908: Table {0} column {1,number,0} : value truncated to

{2,number,0}

Cause: The value of the specified column was truncated because the target database does not support the full length. The target data may not be an accurate reflection of the source.

Action: Extend the target column length, or you can treat these cases as exceptions and apply the DML manually if you want to retain the full data length. For more information, see the error handling documentation in the Oracle GoldenGate Administration documentation.

 

OGG-00909: Table {0}, column {1}, unrecognized data type: {2,number,0}

 

 

Cause:  The specified column contains an unsupported data type.

Action: For supported data types, see the Oracle GoldenGate documentation for this database.

 

OGG-00910: Table {0}, column {1}, unrecognized data type: {2}

Cause: The specified column contains an unrecognized or unsupported data type.

Action: For supported data types, see the Oracle GoldenGate documentation for this database.

 

OGG-00911: Table {0}, column {1}, unrecognized or unsupported data type:

{2}

Cause: The specified column contains an unrecognized or unsupported data type.

Action: For supported data types, see the Oracle GoldenGate documentation for this database.

 

OGG-00912: Could not find key column {1} within definition for table {0} Cause: The key definition probably was changed. Oracle GoldenGate needs to know of the new definition.

Action: Stop and then immediately start the process, so a new object cache can be built.

 

OGG-00913: Invalid datatype ({2,number,0}) processing column {0} ({1,number,0})

Cause: The specified column contains an unrecognized or unsupported data type.

Action: For supported data types, see the Oracle GoldenGate documentation for this database.

 

OGG-00914: Table {0} contains too many columns. Max columns allowed is

{1,number,0}

Cause: The number of columns in the table exceeds that which is supported by Oracle GoldenGate.

Action: You can exclude columns, if permissible, by using the COLSEXCEPT clause of TABLE and MAP, or you can remove the table from the Oracle GoldenGate configuration.

 

OGG-00915: Column ‘{1}’ in table ‘{0}’ cannot be used as a key column.

Cause: The specified column is of a type that is not supported for use as a key by Oracle GoldenGate.

Action: If the key cannot be altered to remove the column, you can specify a unique index or you can define a key with the KEYCOLS clause of TABLE and MAP. The index or KEYCOLS must match on the source and target tables.

 

OGG-00916: Column ‘{1}’ cannot be used as a key column. Define a unique index for table ‘{0}’ without this column or use the KEYCOLS parameter to correct this issue

Cause: The specified column in the table key is of a type that is not supported for use as a key by Oracle GoldenGate.

Action: If the key cannot be altered to remove the column, you can specify a unique index or you can define a key with the KEYCOLS clause of TABLE and MAP. The index or KEYCOLS must match on the source and target tables.

 

 

OGG-00917: KEYCOLS parameter references column ‘{1}’ which cannot be used as a key column. Remove this column from the KEYCOLS parameter for table ‘{0}’ to correct this issue

Cause: The specified column is of a type that is not supported for use as a key by Oracle GoldenGate.

Action:  Remove the column from the KEYCOLS clause.

 

OGG-00918: Key column {0} is missing from map

Cause: Some, but not all, key columns are mapped in a COLMAP clause. If mapping key columns, all key columns must be mapped.

Action:  Add all key column(s) to the COLMAP clause.

 

OGG-00919: Error in {0} clause

Cause:  There is a syntax error in the specified clause in the parameter file.

Action: Fix the error. For help, see the Oracle GoldenGate reference documentation.

 

OGG-00920: Error ({1,number,0}) executing command {0} Cause: The execution of an immediate SQL statement failed. Action:  Contact Oracle Support.

OGG-00921: Unable to determine the database name

Cause: The process could not determine the name of the database in order to establish a connection.

Action: Make certain that the Oracle GoldenGate user has privileges to query the database name. Also, make certain that the SOURCEDB or TARGETDB parameter is specified, if required for this database type.

 

OGG-00922: Parameter string for {0} is too large to process Cause:  The specified parameter is too long.

Action: Verify that the syntax is correct, that all options are the correct length, and that the statement is terminated if required (so that the next message is not interpreted as part of this one). For additional help, see the Oracle GoldenGate reference documentation.

 

OGG-00923: Table specification {0} matches too many tables. Maximum is

{1,number,0}

Cause:  The wildcard specification matches too many tables.

Action: Reduce the number of tables that this wildcard matches to the number specified in the message by modifying the wildcard or using the TABLEEXCLUDE or MAPEXCLUDE parameter to exclude some tables if possible. The excluded tables can be specified in a different TABLE statement.

 

OGG-00924: The wildcard specification length has a length of

{1,number,0}. The maximum allowed in the return buffer is

{0,number,0}

Cause:  The wildcard specification has too many characters.

Action: Reduce the length of the wildcard specification to the size specified in the message.

 

OGG-00927: Error in status file: missing {0} attribute

MSG_ERR_VERIDATA_STATUS_FILE_ATTRIBUTE_MISSING

 

 

Cause: The specified attribute is missing from the XML message for the Oracle GoldenGate server or agent process. This indicates an internal error.

Action:  Contact Oracle Support.

 

OGG-00928: exceeded max_tables ({0,number,0})

Cause: Oracle GoldenGate Veridata Agent was asked to list all tables or views in a remote database or schema, and the number of tables exceeds the amount that can fit in the message.

Action: File an enhancement request with Oracle Support to increase the maximum number of tables supported.

 

OGG-00929: exceeded max_schemas ({0,number,0})

Cause: Oracle GoldenGate Veridata Agent was asked to list all tables or views in a remote database or schema, and the number of tables exceeds the number of schemas that can fit in the message.

Action: File an enhancement request with Oracle Support to increase the maximum number of schemas supported.

 

OGG-00932: FILENAME_RESOLVE_ error {0,number,0} on {1}

Cause: This error occurs on a NonStop system when the agent cannot determine the Guardian file name for an Oracle GoldenGate sub-directory. The Guardian error code is displayed with the message.

Action:  Take the appropriate action based on the Guardian error code.

 

OGG-00933: could not find name for table entry {0,number,0} Cause: The attribute for the table name is missing from the XML file. Action:  Contact Oracle Support.

OGG-00934: could not find table-info node for {0}

Cause:  The “table-info” element is missing from the XML file.

Action:  Contact Oracle Support.

 

OGG-00935: No keycols specified for table {0} that does not have a primary key

Cause: No defined primary key or user-defined key columns are defined for the specified comparison table.

Action:  Contact Oracle Support.

 

OGG-00936: Access denied (request from {0}, rule #{1,number,0})

Cause: Access to Manager was denied to the specified address based on rules set in the ACCESSRULE parameter.

Action: Determine why the connection attempt was made. If it is legitimate, you can adjust the rules of ACCESSRULE.

 

OGG-00937: Error ({0,number,0}) decrypting password: {1}

Cause: Manager on the target cannot decrypt the password that was specified with the ENCRYPT PASSWORD command on the source.

Action: If you defined your own key, make certain the ENCKEYS files on the source and target exist, and that they contain the same key. If you used an Oracle GoldenGate-generated default key, make certain it was copied correctly into the USERID or TRANLOGOPTIONS ASMUSER parameters. You might need to retry the default encryption again.

 

 

OGG-00938: Manager is stopping at user request Cause:  The Manager process was stopped by a user.

Action: None, if intentional. Note that when Manager is stopped, Oracle GoldenGate processes cannot continue to replicate data.

 

OGG-00939: Service Control Manager requested PAUSE

Cause: The Windows Service Control Manager issued a PAUSE command for the Manager service.

Action: None, if intentional. Note that when Manager is paused, Oracle GoldenGate processes cannot continue to replicate data.

 

OGG-00940: Service Control Manager requested STOP

Cause: The Windows Service Control Manager issued a STOP command for the Manager service.

Action: None, if intentional. Note that when Manager is stopped, Oracle GoldenGate processes cannot continue to replicate data.

 

OGG-00941: Service Control Manager requested CONTINUE Cause: The Windows Service Control Manager issued a CONTINUE (Resume) command for the Manager service.

Action: None

 

OGG-00942: Service Control Manager requested SHUTDOWN Cause: The Windows Service Control Manager issued a SHUTDOWN command for the Manager service.

Action: None, if intentional. Note that when Manager is stopped, Oracle GoldenGate processes cannot continue to replicate data.

 

OGG-00943: Error in service processing: Creating thread for batch tasks (error {0,number,0})

Cause:  The process could not create a thread for batch tasks.

Action: Verify that the system has the capacity for creating more threads. If you cannot resolve the problem, contact Oracle Support.

 

OGG-00944: Error in service processing: Calling {0} (error {1,number,0}) Cause: A call to the Windows SetServiceStatus or RegisterServiceCtrlHandler failed.

Action: Check the Windows system error log and correct the problem. If you cannot resolve the problem, contact Oracle Support.

 

OGG-00945: Startup of {0} {1} failed ({2}) Cause:  The specified process cannot start.

Action: Look for additional error messages that indicate why the process cannot start, and then correct the problem.

 

OGG-00946: {0} {1} abended

Cause:  The specified process abended.

Action: Look for additional error messages that indicate why the process abended, and then correct the problem.

 

OGG-00947: Lag for {0} {1} is {2} (checkpoint updated {3} ago)

 

 

Cause: The setting of the LAGINFO parameter prompted Manager to report lag information to the error log. This message is considered a warning message because the lag is greater than the value specified with the LAGCRITICAL parameter.

Action: Correct the problem that is causing the lag. For help with configuring Oracle GoldenGate to reduce lag, see the Oracle GoldenGate troubleshooting and performance documentation.

 

OGG-00948: Lag for {0} {1} is {2} (checkpoint updated {3} ago)

Cause: The setting of the LAGINFO parameter prompted Manager to report lag information to the error log. This message is considered an informational message because the lag is not greater than the value specified with the LAGCRITICAL parameter.

Action: None

 

OGG-00949: Invalid checkpoint type ({2,number,0}), cannot determine lag threshold for {0} {1}

Cause:  The checkpoint is invalid.

Action:  Contact Oracle GoldenGate Support.

 

OGG-00950: Purge of old extract file {0} failed because the prev seqno exists. Purge rule was {1}

Cause: There is a MINKEEP rule in the PURGEOLDEXTRACTS parameter that requires a minimum number of files to be retained.

Action: None

 

OGG-00951: Purging task {0} {1}: could not delete file {2} ({3,number,0} {4}) Cause: Manager could not purge the named remote task because it could not delete the specified file due to an operating system error.

Action:  Fix the operating system error.

 

OGG-00952: Purging log history from {0} older than {1}: {2}

Cause:  Manager successfully purged rows in the log table that were older than the date shown. Informational only. This message appears in older Oracle GoldenGate versions that support trigger-based capture.

Action: None

 

OGG-00953: Purging log history from {0} older than {1}: {2}

Cause: Manager is purging history from the log table. Informational only. This message appears in older Oracle GoldenGate versions that support trigger-based capture.

Action: None

 

OGG-00954: Purging rows from {0} older than {1}: {2}

Cause: Manager failed to purge rows in the log table that are older than the date shown. Informational only. This message appears in older Oracle GoldenGate versions that support trigger-based capture.

Action:  Delete the rows manually.

 

OGG-00955: Purging rows from {0} older than {1}: {2}

Cause:  Manager successfully purged rows in the log table that were older than the date shown. Informational only. This message appears in older Oracle GoldenGate versions that support trigger-based capture.

 

 

Action: None

 

OGG-00956: hours_since_modified calculated as {1,number,0}, modtime is

{2,number,0} for {0}

Cause: Manager determined that the specified file remained unmodified for the number of hours shown in this message, with the last modification being performed at the time shown.

Action: None

 

OGG-00957: Purged old extract file {0}, {1}

Cause: The specified file was purged under the rules shown in the message text.

Action: None

 

OGG-00958: {0} (MINKEEPFILES option not used; last MINKEEP time option entered will be used)

Cause: The PURGEOLDEXTRACTS parameter contains the option MINKEEPHOURS or MINKEEPDAYS with the option MINKEEPFILES.

These are mutually exclusive. If either MINKEEPHOURS or MINKEEPDAYS is used with MINKEEPFILES, then MINKEEPHOURS or MINKEEPDAYS is accepted, and MINKEEPFILES is ignored.

Action: Remove MINKEEPFILES (or MINKEEP{HOURS|DAYS} depending on your requirements.

 

OGG-00959: {0} (MINKEEPFILES option not used.)

Cause: The PURGEOLDEXTRACTS parameter contains the option MINKEEPHOURS or MINKEEPDAYS with the option MINKEEPFILES.

These are mutually exclusive. If either MINKEEPHOURS or MINKEEPDAYS is used with MINKEEPFILES, then MINKEEPHOURS or MINKEEPDAYS is accepted, and MINKEEPFILES is ignored.

Action: Remove MINKEEPFILES (or MINKEEP{HOURS|DAYS} depending on your requirements.

 

OGG-00960: Access granted (rule #{0,number,0})

Cause:  Access to Oracle GoldenGate was granted based on the specified rule.

Action: None

 

OGG-00961: DEBUG {0}: {1}

Cause:  This is an informational message for debugging purposes.

Action: None

 

OGG-00962: {1} did not recognize command {0} Cause:  Manager received an unrecognized command.

Action: Check the syntax of the command for typographical errors or invalid options. For help, see the Oracle GoldenGate reference documentation or the online GGSCI help (GGSCI > HELP).

 

OGG-00963: Command received from {0} on host {1} ({2})

Cause:  Manager received the specified command from the specified host.

Action: None

 

OGG-00964: {0} {1} started automatically

 

 

Cause: The specified process was restarted automatically based on the AUTOSTART parameter.

Action: None

 

OGG-00965: {0} {1} restarted automatically

Cause: The specified process was restarted automatically based on rules in the AUTORESTART parameter.

Action: None

 

OGG-00966: {0} {1} is already running

Cause:  A START command was issued for a process that is already running.

Action: None

 

OGG-00967: Manager performing AUTOSTART of ER processes

Cause: Manager is automatically starting Extract and/or Replicat processes according to the AUTOSTART parameter in the Manager parameter file.

Action: None

 

OGG-00968: ERROR: can not send command to Manager Cause:  The last command could not be sent to Manager.

Action: Make certain that Manager is running and that the network connections to it are working properly.

 

OGG-00969: ERROR: Manager responded with {0} Cause:  Manager could not start the passive Extract.

Action: Check the process report and the error log for additional messages that provide context for this problem. If you cannot resolve the problem based on other messages, contact Oracle Support.

 

OGG-00970: ERROR: Bad reply message from Manager Cause:  The Manager reply is not valid.

Action: Contact Oracle Support. Save the process report and the error log for the support case.

 

OGG-00971: ERROR: {0}

Cause:  An Oracle GoldenGate component failed to start.

Action: Check the report file that is issued by the process, and check the error log for other messages adjacent to this one that might help you resolve the problem. Make certain Manager is running for other processes to start. The database also must be running. Trail files must be properly created.

Parameter files must be in the expected location. For additional help, see the Oracle GoldenGate troubleshooting documentation. If you cannot resolve the problem, contact Oracle Support.

 

OGG-00972: {0} {1} -> {2}@{3} started on port {4}

Cause:  The specified program started on the specified port number.

Action: None

 

OGG-00973: Manager started replicat task process (Port {0,number,0}) Cause:  Manager started a Replicat task on the specified port number.

Action: None

 

 

OGG-00974: Manager started collector process (Port {0,number,0}) Cause: Manager started a Collector process on the specified port number. Action: None

OGG-00975: {0}

Cause: This is a generic informational message and does not indicate any problem.

Action: None

 

OGG-00976: Manager started ‘{0}’ process on port {1,number,0}

Cause:  Manager started the specified process on the specified port number.

Action: None

 

OGG-00978: {0} {1} is running

Cause:  The specified process is running.

Action: None

 

OGG-00979: {0} {1} is down (gracefully)

Cause:  The specified process stopped gracefully.

Action: None

 

OGG-00980: Purged task {0} {1}

Cause: The specified task was purged according to the rules in the PURGEOLDTASKS parameter.

Action: None

 

OGG-00981: Task {0} {1} is running, cannot purge Cause:  The specified task is still running.

Action:  Stop the task to enable purging.

 

OGG-00982: Rule {0,number,0}: {1}, seqno: {2,number,0}, hours_since_ modified: {3,number,0}, modtime: {4,number,0}, oldest chkpt:

{5,number,0}

Cause: Manager is purging old trail files based on the rules specified in PURGEOLDEXTRACTS.

Action: None

 

OGG-00983: Manager started (port {0,number,0})

Cause:  The Manager process started on the specified port number.

Action: None

 

OGG-00984: Delaying {0,number,0} minutes, {1,number,0} seconds before further processing

Cause: The BOOTDELAYMINUTES parameter is being used for Manager, and Manager is waiting for the specified amount of time before performing its startup activities.

Action: None

 

OGG-00985: Purged old veriagt report {0}

Cause:  The Veridata Agent report was purged successfully.

Action: None

 

 

OGG-00986: Error {1,number,0} Purging old veriagt report {0}

Cause: The Veridata Agent report could not be purged due to the specified error from the operating system.

Action:  Correct the operating system error.

 

OGG-00987: GGSCI command ({0}): {1}

Cause:  The specified command from GGSCI was received.

Action: None

 

OGG-00988: WARNING: Unsupported operation. This might cause transactional inconsistency. Modifying input checkpoint

#{3,number,0}, Oracle thread #{4,number,0} of {2}: ioseq = {0,number,0} iorba = {1,number,0}

Cause: An ALTER EXTRACT command was issued to alter the read position of an Extract thread that reads one of the logs in a RAC configuration.

Action: None. This is a warning but assumes the action is intentional. For help, contact Oracle Support.

 

OGG-00989: WARNING: Unsupported operation. This might cause transactional inconsistency. Modifying iocheckpoint: ioseq =

{0,number,0} iorba = {1,number,0}

Cause:  An unsupported ALTER operation was received.

Action: None. This is a warning but assumes the action is intentional. For help, contact Oracle Support.

 

OGG-00990: {0} stop forced by user

Cause: The specified Extract or Replicat process was stopped forcefully by a user.

Action: None

 

OGG-00991: {0} stopped normally

Cause:  The specified Extract process stopped gracefully.

Action: None

 

OGG-00992: {0} starting

Cause:  The specified Extract process is performing its startup.

Action: None

 

OGG-00993: {0} started

Cause:  The specified Extract process started successfully.

Action: None

 

OGG-00994: {0} stopped normally

Cause:  The specified Replicat process stopped gracefully.

Action: None

 

OGG-00995: {0} starting

Cause:  The specified Replicat process is performing its startup.

Action: None

 

OGG-00996: {0} started

Cause:  The specified Replicat process started successfully.

 

 

Action: None

 

OGG-00997: Purge of old extract file {0} failed (error {1,number,0}, {2}) Cause: The process tried to purge old trail files based on the rules in the PURGEOLDEXTRACTS parameter, but it encountered the specified

operating-system error.

Action:  Correct the cause of the error or contact the system administrator.

 

OGG-00998: Purging old extract file {0}

Cause: The process is purging old trail files based on the rules in the PURGEOLDEXTRACTS parameter.

Action: None

 

OGG-00999: Missing transaction begin, {0,number,0} records bypassed Cause: The process skipped the specified number of records because the begin-transaction record is missing.

Action: None

 

OGG-01000: Reperror {0} rule for error {1,number,0} found, Action {2}, Maxretries {3,number,0} exceeded

Cause: Replicat parsed a REPERROR rule statement with the specified error number and action, and retried the operation up to the maximum number of times that is specified with the MAXRETRIES option.

Action:  Correct the problem that caused the error, and then restart Replicat.

 

OGG-01001: Reperror {0} rule for error {1,number,0} found, Action {2} Cause: Replicat parsed a REPERROR rule statement and will take the specified action for the operation that returned the specified error number.

Action: None

 

OGG-01002: Reperror {0} rule for error {1,number,0} found, Action {2}, retries {3,number,0}

Cause: Replicat parsed a REPERROR rule statement that includes the RETRYOP option, and will retry the operation that returned the specified error number.

Action: None

 

OGG-01003: Repositioning to rba {1,number,0}{0,choice,-1#|0# in seqno

{0,number,0}}

Cause: The process is repositioning its read point to the specified location in the trail.

Action: None

 

OGG-01004: Aborted grouped transaction on ‘{0}’, Database error

{1,number,0} ({2})

Cause: Replicat is not able to apply the GROUPTRANSOPS-controlled grouped transaction on the specified table, due to the SQL error that is reported in the message text.

Action: Correct the problem that is reported in the error message. For more information on GROUPTRANSOPS, see the Oracle GoldenGate reference documentation.

 

 

OGG-01005: A value of zero for GROUPTRANSOPS is invalid. Using a value of one instead.

Cause: A value of zero is specified for the GROUPTRANSOPS parameter. A value of 1 executes the operations within the same transaction boundaries as the source transaction. Any value above 1 sets the minimum number of operations within a Replicat transaction.

Action: Increase the value of GROUPTRANSOPS. See the Oracle GoldenGate reference documentation to determine an appropriate value.

 

OGG-01006: Maximum records exceeded in discard file ({0,number,0}) Cause: The maximum number of records allowed in the file specified with the DISCARDFILE parameter has been reached.

Action: Increase the file size up to maximum permitted by the MAXBYTES or MEGABYTES option of DISCARDFILE.

 

OGG-01007: Maximum records exceeded in discard file ({0,number,0}) Cause: The maximum number of records allowed in the file specified with the DISCARDFILE parameter has been reached.

Action: Increase the file size up to maximum permitted by the MAXBYTES or MEGABYTES option of DISCARDFILE.

 

OGG-01008: Discarding bad record (discard recs = {0,number,0}) Cause: The process is discarding a record that it cannot process, and it is reporting the current number of discarded records that are in the

DISCARDFILE file.

Action: None

 

OGG-01009: Error executing stored proc {0}: {1}

Cause: The process attempted to execute the specified stored procedure, but the specified database error was returned.

Action:  Fix the cause of the error that is shown in the message text.

 

OGG-01010: Error executing stored proc {0}: {1}

Cause: The process attempted to execute the specified stored procedure, but the specified database error was returned.

Action:  Fix the cause of the error that is shown in the message text.

 

OGG-01011: Skipped {0}.

Action: The SEND EXTRACT command was issued with SKIPTRANS, and Extract skipped the specified long-running transaction.

 

Action: None

 

OGG-01012: Failed to skip {0} due to error ({1}).

Cause: The SEND EXTRACT command was issued with SKIPTRANS, but Extract cannot skip the specified long-running transaction. Some possible causes are: the specified transaction is not the oldest one in the list of transactions shown with SHOWTRANS, or the THREAD option was not used if the database is Oracle RAC.

Action:  Fix the cause of the error that is shown in the message text.

 

OGG-01013: Cannot replace missing not-null column ‘{1}’ of table ‘{0}’

 

 

Cause: The process encountered a not-null column for which no data existed, and it attempted to fetch a value from the database, but failed.

Action: None

 

OGG-01014: Positioning with begin time: {0,date} {0,time}, starting record time: {1,date} {1,time} at {2,choice,-1#|0#extseqno {2,number,0}, }extrba

{3,number,0}

Cause: The process is configured to start processing at the specified time, and it is starting with the specified record as the first one to be processed.

Action: None

 

OGG-01015: Positioning with begin time: {0,date} {0,time}, waiting for data: at extseqno {1,number,0}, extrba {2,number,0}

Cause: The process is configured to start processing at the specified time. It is currently waiting for data at the specified position in the data source.

Action: None

 

OGG-01016: Positioning with begin time: {0,date} {0,time}, skipping incomplete record – starting record time: {1,date} {1,time} at extseqno

{2,number,0}, extrba {3,number,0}

Cause: The process is configured to start processing at the specified time. The first record with that timestamp is incomplete, so it is being skipped.

Action: None

 

OGG-01017: Wildcard resolution set to IMMEDIATE because SOURCEISTABLE is used

Cause: The WILDCARDRESOLVE parameter is set to its default of DYNAMIC, but the process overrode the setting because SOURCEISTABLE is also used in the parameter file. IMMEDIATE is the forced default for SOURCEISTABLE. Source objects that satisfy a wildcard definition are processed at startup.

Action: None

 

OGG-01018: Recovered from error at rba {1,number,0} in seqno

{0,number,0}, replicat continuing

Cause:  The recovery from the failed operation succeeded.

Action: None

 

OGG-01019: Marker processed by {0}, group {1}, lag {2}

Cause:  The Oracle GoldenGate marker record was processed successfully.

Action: None

 

OGG-01020: Processed extract process {0} record at seq {2,number,0}, rba

{3,number,0} (aborted {1,number,0} records)

Cause:  Extract processed the specified record. Informational only.

Action: None

 

OGG-01021: Command received from {0}: {1}

Cause: A command was received from the specified process. This is informational only.

Action: None

 

 

OGG-01022: Unknown {1,number,0} bytes message received from

{2}:{3,number,0} – {0}

Cause: An incomplete command was received from the specified process and cannot be executed.

Action:  If this message continues to appear, contact Oracle Support.

 

OGG-01023: Recovered from retryable error on table {0}

Cause: Replicat successfully applied a SQL operation that caused an error in a previous attempt. Informational only.

Action: None

 

OGG-01024: Retrying SQL error {3,number,0} at rba {2,number,0} in seqno

{1,number,0}, updating {0} in {4,number,0} seconds

Cause: Replicat is retrying a SQL operation that caused an error, based on REPERROR with the RETRYOP option. Informational only.

Action: None

 

OGG-01025: REPLICAT task started by manager (port {0,number,0})

MSG_INF_ER_REPLICAT_TASK_STARTED

Cause: The Manager on the target started a remote-task Replicat. Informational only.

Action: None

 

OGG-01026: Rolling over remote file {0}

MSG_INF_ER_REMOTE_FILE_ROLLED_OVER

Cause: Extract is closing the current remote file and starting a new one. Informational only.

Action: None

 

OGG-01027: {0}

Cause:  A non-recoverable error occurred in Extract or Replicat.

Action:  Contact Oracle Support and provide the details of this message.

 

OGG-01028: {0}

Cause:  A non-recoverable error occurred in Extract or Replicat.

Action:  Contact Oracle Support and provide the details of this message.

 

OGG-01029: Extract reposition err – {0}

Cause: The process encountered an error while attempting to position to a specific point in the trail file.

Action: Verify that the specified sequence number and RBA exist, and specify valid ones if necessary. Restart the process. Contact Oracle Support if this problem persists.

 

OGG-01030: Could not find checkpoint for output file {0}

Cause: During recovery, Extract encountered a trail file that is no longer assigned to it.

Action: Specify the correct trail for this process, and delete the incorrect trail file with the DELETE EXTTRAIL or DELETE RMTTRAIL command.

 

 

OGG-01031: 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. (Reply received is {0})

Cause:  Extract was not able to send data to the target.

Action: Examine the network for an outage between the source and target system. Make certain that MGRPORT in RMTHOST matches the one in the parameter file of the remote Manager. Check for errors on the target system that indicate the Manager or Collector process is not running, or that Collector does not have privileges to write to the remote trail. Check for encryption errors if the ENCRYPT option is specified with the RMTHOST or RMTHOSTOPTIONS parameter: This might indicate that the encryption key that was sent from the source does not match the one in the ENCKEYS file on the target, or that the key or ENCKEYS file on the target is missing.

 

OGG-01032: 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. Length is {1,number,0} – {0}

Cause:  Extract was not able to send data to the target.

Action: Examine the network for an outage between the source and target system. Make certain that MGRPORT in RMTHOST matches the one in the parameter file of the remote Manager. Check for errors on the target system that indicate the Manager or Collector process is not running, or that Collector does not have privileges to write to the remote trail. Check for encryption errors if the ENCRYPT option is specified with the RMTHOST or RMTHOSTOPTIONS parameter: This might indicate that the encryption key that was sent from the source does not match the one in the ENCKEYS file on the target, or that the key or ENCKEYS file on the target is missing.

 

OGG-01033: 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 {0}, reply received is {1})

Cause:  Extract was not able to send data to the target.

Action: Examine the network for an outage between the source and target system. Make certain that MGRPORT in RMTHOST matches the one in the parameter file of the remote Manager. Check for errors on the target system that indicate the Manager or Collector process is not running, or that Collector does not have privileges to write to the remote trail. Check for encryption errors if the ENCRYPT option is specified with the RMTHOST or RMTHOSTOPTIONS parameter: This might indicate that the encryption key that was sent from the source does not match the one in the ENCKEYS file on the target, or that the key or ENCKEYS file on the target is missing.

 

OGG-01034: 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 {0})

Cause:  Extract was not able to send data to the target.

Action: Examine the network for an outage between the source and target system. Make certain that MGRPORT in RMTHOST matches the one in the parameter file of the remote Manager. Check for errors on the target system that indicate the Manager or Collector process is not running, or that Collector does not have privileges to write to the remote trail. Check for encryption errors if the ENCRYPT option is specified with the RMTHOST or RMTHOSTOPTIONS parameter: This might indicate that the encryption key

 

 

that was sent from the source does not match the one in the ENCKEYS file on the target, or that the key or ENCKEYS file on the target is missing.

 

OGG-01035: File {0} already exists and purge not specfied

Cause: The process will not write to an existing file unless the PURGE option is used with the RMTFILE parameter.

Action:  Add the PURGE option, and then restart the process.

 

OGG-01037: Unexpected error fetching from the table – {0,number,0} Cause:  This is an internal error.

Action:  Contact Oracle Support.

 

OGG-01038: Cannot fetch required data from table {0} due to missing key columns

Cause: Row data could not be fetched from the table because no key is defined on the table.

Action: Define a key or specify unique columns with the KEYCOLS clause of the TABLE statement.

 

OGG-01039: mergeFetchedCols() failed to merge result fetched from table Cause: Extract was not able to merge the fetched data with the row data that was obtained from the transaction log.

Action:  Contact Oracle Support.

 

OGG-01040: Failed to prepare fetch on table {0}.

 

Cause:  This is an internal error.

Action:  Contact Oracle Support.

 

OGG-01041: Failed to prepare fetch on table {0} due to lack of defined key columns. Use KEYCOLS.

Cause: Row data could not be fetched from the table because no key is defined on the table.

Action: Define a key or specify unique columns with the KEYCOLS clause of the TABLE statement.

 

OGG-01042: Invalid token length, expected: {0,number,0}, got:

{1,number,0}

Cause:  This is an internal error.

Action:  Contact Oracle Support.

 

OGG-01043: Terminate on fetch result = {1} ({2,number,0}) (table: ‘{0}’) Cause: The process failed to fetch column data, and the ABEND action is specified by the REPFETCHEDCOLOPTIONS parameter.

Action:  None. This is the expected result for ABEND.

 

OGG-01044: The trail ‘{0}’ is not assigned to extract ‘{1}’. Assign the trail to the extract with the command “ADD EXTTRAIL/RMTTRAIL {0}, EXTRACT {2}

Cause: The trail is specified in the Extract parameter file with an EXTTRAIL or RMTTRAIL parameter, but the required command to link the trail to the Extract process was not issued.

 

 

Action:  In GGSCI, issue the ADD EXTTRAIL or ADD RMTTRAIL command.

 

OGG-01045: Unrecognized response from server recovering target file {0}, at RBA {1,number,0}

Cause: Extract encountered a parsing error while reading values from a reply sent by the Server (Collector) process.

Action:  Contact Oracle Support.

 

OGG-01046: Target does not support append recovery mode. Reverting to overwrite recovery mode in file {0}, at RBA {1,number,0}

Cause: The version of the Server (Collector) is older than the version of Extract, and it does not support APPEND mode for trails or files. It is just a warning. Extract handles this situation automatically.

Action: None

 

OGG-01048: Server error while recovering target file {0}, at RBA

{1,number,0}

Cause:  An internal error occurred.

Action:  Contact Oracle Support.

 

OGG-01049: Invalid server return code ({0,number,0}) for target file {1}, at RBA {2,number,0}

Cause:  An internal error occurred.

Action:  Contact Oracle Support.

 

OGG-01051: Reverting to overwrite recovery mode at user’s request…

Cause: The recovery method (controlled by the RECOVERYOPTIONS parameter) was changed to overwrite mode, from the default of append mode. Informational only.

Action: None

 

OGG-01052: No recovery is required for target file {0}, at RBA

{1,number,0} (file not opened) Cause: No trail exists to recover. Action: None

OGG-01053: Recovery completed for target file {0}, at RBA {1,number,0} Cause:  Extract completed its recovery.

Action: None

 

OGG-01054: Recovery completed for target file {0}, at RBA {1,number,0}, CSN {2}

Cause:  Extract completed its recovery.

Action: None

 

OGG-01055: Recovery initialization completed for target file {0}, at RBA

{1,number,0}

Cause: The initialization phase of recovery completed. No transaction was found in the portion of the trail that was scanned, probably because Extract is inactive.

Action: None

 

 

OGG-01056: Recovery initialization completed for target file {0}, at RBA

{1,number,0}, CSN {2}

Cause: The initialization phase of recovery completed, and transaction were found in the portion of the trail that was scanned. This is informational only.

Action: None

 

OGG-01057: Recovery completed for all targets

Cause:  Extract recovered successfully for all of its targets.

Action: None

 

OGG-01058: Empty commit sequence number (CSN) detected in target file

{0}, at RBA {1,number,0}

Cause: An inconsistency occurred in the communication between Extract and Server (Collector).

Action:  Contact Oracle Support.

 

OGG-01059: Invalid commit sequence number (CSN) detected in target file {0}, at RBA {1,number,0}

Cause: An inconsistency occurred in the communication between Extract and Server (Collector).

Action:  Contact Oracle Support.

 

OGG-01060: Failed to retrieve CSN from data source during recovery Cause: The current CSN read point from the transaction log could not be found during Extract recovery.

Action:  Contact Oracle Support.

 

OGG-01061: Invalid CSN value length({0,number,0}) from data source during recovery

Cause:  The current CSN in the transaction record has an invalid length.

Action:  Contact Oracle Support.

 

OGG-01062: Invalid last CSN value length({1,number,0}) for trail {0} during recovery

Cause:  The length of the CSN of the last completed transaction is invalid.

Action:  Contact Oracle Support.

 

OGG-01063: Current CSN value length({1,number,0}) differs from last CSN value length({2,number,0}), trail {0} during recovery

Cause: The length of the current CSN does not match the length of the CSN of the last completed transaction.

Action:  Contact Oracle Support.

 

OGG-01064: {5}: Buffer overflow, needed: {1,number,0}, allocated:

{0,number,0} in trail {2}, Seqno {3,number,0}, RBA {4,number,0} Cause: While updating the CSN, transaction ID, or transaction ID list in memory, the process determined that there is not enough space for this

information in the buffer.

Action:  Contact Oracle Support.

 

OGG-01065: no CSN token found in record in trail {0}, Seqno {1,number,0}, RBA {2,number,0}

 

 

Cause:  The CSN is missing from the trail record.

Action:  Contact Oracle Support.

 

OGG-01066: Input record from trail file {0}, Seqno {1,number,0}, RBA

{2,number,0}, has CSN {3} but no Transaction ID

Cause:  The transaction identifier is missing from the trail record.

Action:  Contact Oracle Support.

 

OGG-01067: Empty transaction ID detected in target file {0}, at RBA

{1,number,0}

Cause:  The transaction identifier in the trail record is empty.

Action:  Contact Oracle Support.

 

OGG-01068: Invalid transaction ID detected in target file {0}, at RBA

{1,number,0}

Cause:  The transaction identifier in the trail record is invalid.

Action:  Contact Oracle Support.

 

OGG-01069: Exceeded tran ID list size recovering target file {0}, at RBA

{1,number,0}

Cause: While adding a transaction ID to the transaction ID list that is maintained for the current CSN, the process detected that there is no space left to add more transaction IDs.

Action:  Contact Oracle Support.

 

OGG-01070: Cannot translate threshold status word for target file {0}, at RBA {1,number,0}

Cause:  An internal error occurred.

Action:  Contact Oracle Support.

 

OGG-01071: {0} cannot be used with stored data Cause:  An internal error occurred.

Action:  Contact Oracle Support.

 

OGG-01072: {2}: Buffer overflow, needed: {1,number,0}, allocated:

{0,number,0}

Cause: A variable value did not fit into the internal buffer that was assigned to it at runtime. This is an internal error.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-01073: {1}: Array overflow, {0,number,0} maximum entries Cause: An array element in an XML message exceeded the defined limit. Action:  Contact Oracle Support.

OGG-01075: The table object ID cannot be used to look up the table entry if the tables were added via a SOURCEDEFS file

Cause: The definitions file prevents correct table name resolution. DB2 LUW only gives the tablespace ID and the table object ID in the log records. To be able to resolve the actual owner and table name as they are given in the TABLE parameter, Extract looks up the tablespace and object IDs in the database catalog. The IDs are used in an ODBC query against the system

 

 

catalog tables to retrieve the table name. This process is not possible if a SOURCEDEFS or TARGETDEFS file is used as input.

Action:  Remove the SOURCEDEFS or TARGETDEFS parameter.

 

OGG-01077: Error closing file, handle: 0x{0}, err: {1,number,0} – {2} Cause: An operating system error was returned when attempting to close a file.

Action:  Check the local file systems for errors.

 

OGG-01078: fcntl failure closing files after fork() {0,number,0} –

{1,number,0}: {2}

Cause: Manager started a new Extract or Replicat process, but failed to close unused open file handles to reduce the number of open file handles.

Action: Check the host system for a possible file handle shortage. Consider restarting Manager and all Extract and Replicat processes if this warning persists.

 

OGG-01079: Data for column {0,number,0} is {2,number,0} bytes which exceeds the maximum of {1,number,0} bytes. Column data truncated for user exit.

Cause: The data for the specified column exceeds the size allowed by the user exit. Informational only.

Action: None

 

OGG-01080: SP {0} column {1} nearing buffer maximum of {2,number,0} bytes

Cause: The process is approaching the maximum buffer size that is set with the PARAMBUFSIZE of the SQLEXEC parameter. This buffer stores input and output parameters.

Action: Stop the process, increase the buffer size, and then restart the process.

 

OGG-01081: SP {0} column {1} exceeded buffer maximum of {2,number,0} bytes

Cause: The SQLEXEC input/output parameters exceeded the maximum buffer size that is set with the PARAMBUFSIZE of the SQLEXEC parameter.

Action: Stop the process, increase the buffer size, and then restart the process.

 

OGG-01082: The call to the {0} function from {2} failed with return code

{1,number,0}

Cause:  An API error occurred.

Action:  Contact Oracle Support.

 

OGG-01083: The call to the {0} function from {1} failed with return code

{2,number,0} ({3})

Cause:  A call to an operating system-provided API failed.

Action: Check the operating system for related problems, and resolve them or contact your system administrator. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01084: WIN32 API CALL {0} failed {1,number,0} ({2})

Cause:  A call to an operating system-provided API failed.

 

 

Action: Check the operating system for related problems, and resolve them or contact your system administrator. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01085: {0} received window closed event

Cause: A user terminated an interactive process by closing the console window instead of issuing a STOP command from GGSCI. This is informational only.

Action: None

 

OGG-01086: {0} received system shutdown event

Cause: An interactive process was terminated due to a system shutdown instead of a STOP command from GGSCI. This message is informational only.

Action: None

 

OGG-01087: {0} received user logoff event

Cause: A logged-on user terminated the Windows desktop session. This message only occurs when Oracle GoldenGate is configured to run as a Windows service, and it is informational only.

Action: None

 

OGG-01088: Out of memory condition encountered. {2} attempting to allocate {1,number} bytes with {0}.{3,choice,0#|1# Process using

{3,number} KB physical memory.}{4,choice,0#|1# Process using

{4,number} KB virtual memory.}

Cause:  An attempt to allocate memory from the host system failed.

Action: Check the system for a possible memory shortage. On some operating systems, this message is accompanied by a detailed memory-usage report that might assist with troubleshooting efforts.

 

OGG-01089: Directory {0} does not exist

Cause:  The directory that is specified with TRANSMEMORY does not exist.

Action: Specify a different directory, or check the file system for possible damage.

 

OGG-01090: Unable to create directory “{0}” (error {1,number,0}, {2}) Cause: The specified directory could not be created. The path does not exist or the disk is full.

Action:  Specify a valid directory name if the disk is not full.

 

OGG-01091: Unable to open file “{0}” (error {1,number,0}, {2}) Cause:  The process could not open the specified file.

Action: Verify that the Oracle GoldenGate user has the privilege to open and write to files.

 

OGG-01092: Unable to lock file “{0}” (error {1,number,0}, {2}) Cause:  The process could not lock the specified file.

Action: Determine whether this file is locked by another process and, if so, determine whether the other process is supposed to access this file or not.

Check the Oracle GoldenGate configuration and fix any errors in the file specifications. If the problem persists, contact Oracle Support.

 

OGG-01093: Unable to delete file “{0}” (error {1,number,0}, {2})

 

 

Cause:  The process could not remove the specified file.

Action:  Verify that the process has privileges to remove the file.

 

OGG-01094: Unable to delete file “{0}” (error {1,number,0}, {2}) Cause:  The process could not remove the specified file.

Action:  Verify that the process has privileges to remove the file.

 

OGG-01095: Unable to redirect file “{0}” (error {1,number,0}, {2}) Cause:  The process could not redirect to the output file.

Action:  Verify that the process had privilege to redirect.

 

OGG-01096: Unable to write to file “{0}” (error {1,number,0}, {2}) Cause:  An error occurred while the process was writing to an open file.

Action: Check for related errors in the error log of the operating system. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01097: Could not sync “{0}” (error {1,number,0}, {2}) Cause:  The process could not sync the specified file to disk.

Action: Check for related errors in the error log of the operating system. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01098: Could not flush “{0}” (error {1,number,0}, {2})

Cause: The specified operating system error occurred when the process tried to flush the file.

Action:  Contact Oracle Support.

 

OGG-01099: Function {1}, argument {0} cannot be NULL Cause:  An internal error occurred.

Action:  Contact Oracle Support.

 

OGG-01100: Unrecoverable XML configuration error

Cause:  A library error occurred while parsing the XML document.

Action: Check for a message that was issued by the library. If you cannot resolve the problem based on other errors, contact Oracle Support.

 

OGG-01101: unable build IPC message from XML node

Cause:  A library error occurred while building an XML message.

Action: Check for a message that was issued by the XML processor. If you cannot resolve the problem based on other errors, contact Oracle Support.

 

OGG-01104: Unknown error starting remote program {0}

Cause: An internal error occurred when Oracle GoldenGate Veridata Server tried to start an agent process.

Action:  Contact Oracle Support.

 

OGG-01105: Error starting remote program {0} ({1} {2})

Cause:  Oracle GoldenGate Veridata Server cannot start a remote agent.

Action: Follow the directions provided in the message text. Look for additional troubleshooting information in the error log of the remote Oracle GoldenGate installation. If you cannot resolve the problem, contact Oracle Support.

 

 

OGG-01106: IPC_client_writeread failed starting program {0} ({1,number,0}, {2})

Cause:  Oracle GoldenGate Veridata Server cannot start a remote agent.

Action: Follow the directions provided in the message text. Look for additional troubleshooting information in the error log of the remote Oracle GoldenGate installation. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01107: IPC_client_open failed opening port to Manager ({0,number,0}, {1})

Cause:  Veridata server cannot connect to the remote Manager.

Action: Make certain that the remote Manager is running, and that the remote Manager port and host are specified correctly in the Oracle GoldenGate Veridata configuration. Follow any directions provided in the message text to resolve the problem. Look for additional troubleshooting information in the error log of the remote Oracle GoldenGate installation. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01108: error decompressing IPC message ({1}, complen={0,number,0})

Cause:  The IPC message could not be decompressed.

Action:  Contact Oracle Support.

 

OGG-01109: error compressing IPC message ({1}, inlen={0,number,0}) Cause:  The IPC message could not be compressed.

Action:  Contact Oracle Support.

 

OGG-01110: Definition mismatch: column {1,number,0} {0} defined length

{2,number,0}, actual length {3,number,0}

Cause: The actual length of the data from the specified column is different from the length that is specified in the table definition.

Action: None

 

OGG-01111: Column-level ASCII/EBCDIC conversion is not currently supported

Cause:  This is an internal error.

Action:  Contact Oracle Support.

 

OGG-01112: Unexpected condition in {0} at line {1,number,0} Cause:  An internal error occurred.

Action:  Contact Oracle Support.

 

OGG-01113: Unexpected condition in {0} at line {1,number,0} Cause:  An internal error occurred.

Action:  Contact Oracle Support.

 

OGG-01114: invalid reply ({0}) Cause: An internal error occurred. Action:  Contact Oracle Support.

OGG-01115: Function {0} not implemented.

Cause:  An internal error occurred.

 

 

Action:  Contact Oracle Support.

 

OGG-01117: Received signal: {1} ({0,number,0})

Cause: Oracle GoldenGate received a signal from the operating system indicating that processing cannot continue. The signal can be raised internally by an application error or externally by other means.

Action:  Contact Oracle Support.

 

OGG-01118: Unhandled exception 0x{0} at 0x{1}

Cause: Oracle GoldenGate encountered a non-recoverable processing exception.

Action:  Contact Oracle Support.

 

OGG-01119: XML error: {0}

Cause: An error occurred in the Oracle GoldenGate Veridata XML processor. The cause is reported in the message.

Action: If you cannot resolve the problem based on the message, contact Oracle Support.

 

OGG-01120: XML parse error on line ({0,number,0}) ({1}), Reason: {2} Cause: An error was returned by the Oracle GoldenGate Veridata XML processor.

Action: If you cannot determine the cause and resolution from the message, contact Oracle Support.

 

OGG-01121: XML parse error

Cause: An error was returned by the Oracle GoldenGate Veridata XML processor.

Action: If you cannot determine the cause and resolution from the message, contact Oracle Support.

 

OGG-01122: Error opening module {0} – {1}]

Cause: An error occurred when Extract tried to open a dynamically linked library module.

Action: Make certain that the library exists and that its location is specified correctly. If the problem persists, contact Oracle Support.

 

OGG-01123: Error loading function {1} from {0} – {2}]

Cause: An error occurred when Extract tried to link to an exported function in a dynamically linked library module.

Action:  Contact Oracle Support.

 

OGG-01124: Unauthorized access to {0} (CMDSEC)

Cause: The program is not authorized to read the CMDSEC (command security) file.

Action: You can grant read access as needed, but Oracle GoldenGate recommends denying write and delete access to everyone but Oracle GoldenGate Administrators.

 

OGG-01125: *ERROR* in CMDSEC: {0}

Cause:  The CMDSEC (command security) file contains the specified error.

Action:  Fix the error, and then restart the process.

 

 

OGG-01126: Abending at user-exit request

Cause: The instructions in a user exit caused the process to abend. Informational only.

Action: None

 

OGG-01127: cuserexit param PASSTHRU can not be used with {0}

Cause: The CUSEREXIT parameter contains the PASSTHRU option, which cannot be used with the specified parameter.

Action: Either remove the PASSTHRU option, or do not use the specified parameter (depending on your replication requirements).

 

OGG-01128: cuserexit param PASSTHRU may only be used with an Extract pump

Cause: The parameter file for a primary Extract process or a Replicat process contains the CUSEREXIT parameter with the PASSTHRU option.

PASSTHRU is only valid for a data-pump Extract.

Action:  Remove the PASSTHRU option, and then restart the process.

 

OGG-01129: NSort error {0,number,0} – {1}

Cause:  The Nsort sorting function failed with the specified error.

Action:  Fix the problem according to the Nsort error message.

 

OGG-01130: NSort function {0} failed with {1,number,0} – {2} Cause: The Nsort sorting function failed with the specified error. Action:  Fix the problem according to the Nsort error message.

OGG-01131: error {2,number,0} reading queue file {0} at rba {1,number,0} ({3})

Cause: An operating system error occurred when the process tried to read the specified file.

Action:  Resolve the operating system error, and then restart the process.

 

OGG-01132: error {2,number,0} positioning queue file {0} to rba

{1,number,0} ({3})

Cause:  The process cannot position in the trail file.

Action:  Contact Oracle Support.

 

OGG-01134: Cannot find executable file ‘{0}’

Cause: An Oracle GoldenGate executable file is missing from the installation directory.

Action: Make certain that no files were removed from the Oracle GoldenGate installation directory. Repair or reinstall the Oracle GoldenGate software. If this problem persists, contact Oracle Support.

 

OGG-01135: fork() failed creating new process

Cause:  An Oracle GoldenGate process could not be started.

Action:  Check the operating system logs for a resource shortage.

 

OGG-01136: Child process is no longer alive

Cause: An Oracle GoldenGate process terminated immediately after starting successfully.

Action:  Check the operating system logs for a resource shortage.

 

 

OGG-01137: BATCHSQL suspended, continuing in normal mode

Cause: Replicat suspended batch mode and is trying to apply the exceptions in normal mode within the GROUPTRANSOPS transaction boundary.

Informational only.

Action: None

 

OGG-01138: Aborting BATCHSQL transaction, Database error

{0,number,0} ({1})

Cause: Replicat encountered the specified error during batch mode. The transaction is being rolled back.

Action:  None. Replicat will attempt the operations in normal mode.

 

OGG-01139: BATCHSQL resumed, recovered from error

Cause: The Replicat parameter file contains the BATCHSQL parameter with the BATCHERRORMODE option. Replicat recovered from the error without leaving batch mode. Informational only.

Action: None

 

OGG-01142: Invalid format type 0x{0} Cause: An internal error occurred. Action:  Contact Oracle Support.

OGG-01143: before image missing from key update for table {0}

Cause: A primary key was updated, but the before image is not in the Oracle redo log record. Supplemental logging for this table was not enabled before starting capture of its data.

Action: First, make certain that database-level supplemental logging is enabled. Next, do the following, without delay between steps, so that Extract lag is kept to a minimum:

 

  1. In GGSCI, stop Extract with STOP EXTRACT <group>.
  2. Immediately after stopping Extract, edit the parameter file to remove the table from the TABLE statement, or add the TABLEEXCLUDE <table name> parameter if you are using
  3. Immediately restart Extract with START EXTRACT <group> to continue capturing data for other tables. Extract will skip data for the table that was removed, to prevent further
  4. Issue the ADD TRANDATA <table> command for the table that you removed.
  5. Stop user and application activity on the table that you
  6. Resynchronize the source and target data for that
  7. Stop Extract with STOP EXTRACT <group>.
  8. Edit the Extract parameter file to add the table back to the TABLE statement (or remove TABLEEXCLUDE).
  9. Immediately restart Extract again with START EXTRACT <group> to activate the new parameter
  10. Allow user access to the table

OGG-01144: Error mapping source hex-string data into a native floating-point format, col: [{0}], input: [{1}]

 

 

Cause: An error occurred while converting the specified column from a hex string to a native floating-point number.

Action:  Contact Oracle Support.

 

OGG-01145: {0}

Cause: An internal error occurred during column mapping. The text of this message is generated by a lower-level function and is variable.

Action:  Contact Oracle Support.

 

OGG-01146: {0}

Cause: An internal error occurred during column mapping. The text of this message is generated by a lower-level function and is variable.

Action:  Contact Oracle Support.

 

OGG-01147: {0}

Cause: An internal error occurred during column mapping. The text of this message is generated by a lower-level function and is variable.

Action:  Contact Oracle Support.

 

OGG-01148: {0}

Cause: An internal error occurred during column mapping. The text of this message is generated by a lower-level function and is variable.

Action:  Contact Oracle Support.

 

OGG-01149: Invalid time format {0}

Cause:  The mapping specification contains an invalid time format.

Action: To determine the correct format, see the Oracle GoldenGate reference documentation for the parameter or function that contains the incorrect format.

 

OGG-01150: Invalid timestamp/datetime format {0}

Cause: The mapping specification contains an invalid timestamp or datetime format.

Action: To determine the correct format, see the Oracle GoldenGate reference documentation for the parameter or function that contains the incorrect format.

 

OGG-01151: Error mapping from {0} to {1}

Cause:  The mapping of the specified source and target tables failed.

Action: Look for other, related messages that provide details on the failure and can help you resolve the problem on your own. If the problem persists, contact Oracle Support.

 

OGG-01152: {0} ({1}) not mapped

Cause:  The mapping of the specified source and target tables failed.

Action: Look for other, related messages that provide details on the failure and can help you resolve the problem on your own. If the problem persists, contact Oracle Support.

 

OGG-01153: Problem mapping record from {0} to {1}

Cause: There was a problem mapping the specified source table to the specified target table.

 

 

Action: Depending on other parameter options that are specified in the Replicat parameter file, Replicat may attempt, and succeed, to handle the error and then continue processing. If the error cannot be handled, expect the process to fail with an error message.

 

OGG-01154: SQL error {2,number,0} mapping {0} to {1} {3}

Cause: The specified SQL error occurred when mapping the specified source table to the specified target table.

Action: Depending on other parameter options that are specified in the Replicat parameter file, Replicat may attempt, and succeed, to handle the error and then continue processing. If the error cannot be handled, expect the process to fail with an error message.

 

OGG-01155: Filter not passed: user error {2,number,0} mapping {0} to {1} Cause: The specified error occurred on the syntax of the FILTER clause for the specified source-target table mapping.

Action: Correct the syntax based on the error code, and then restart the process. For FILTER rules, see the TABLE and MAP parameters in the Oracle GoldenGate reference documentation.

 

OGG-01157: Error in WHERE clause for {0}

Cause: There was a syntax error in the WHERE clause of a TABLE or MAP statement.

Action: Correct the syntax error. For help, see TABLE and MAP in the Oracle GoldenGate reference documentation.

 

OGG-01158: Timestamp out of range: {0,number,0}

Cause:  There was an internal error converting a timestamp value.

Action:  Contact Oracle Support.

 

OGG-01159: Value ({0}) exceeds minimum value of column.

Cause: A numeric conversion failed because the resulting negative value cannot be represented in the space provided.

Action:  Correct the specified value.

 

OGG-01160: Value ({0}) exceeds maximum value of column.

Cause: A numeric conversion failed because the resulting positive value cannot be represented in the space provided.

Action:  Correct the specified value.

 

OGG-01161: Bad column index ({2,number,0}) specified for table {0}, max columns = {1,number,0}.

Cause: Oracle GoldenGate encountered a reference to a column ordinal that is not within an expected range.

Action: Verify that the definitions for the specified table are correct, and verify the correctness of the MAP statement for the specified table.

 

OGG-01162: Total data length ({2,number,0}) specified for table {0} exceeds record length ({1,number,0}).

Cause: There was an internal error converting trail file data. A buffer overflow was detected.

Action:  Contact Oracle Support.

 

 

OGG-01163: Bad column length ({3,number,0}) specified for column {1} in table {0}, maximum allowable length is {2,number,0}.

Cause: There was an internal error converting trail file data. A buffer overflow was detected.

Action:  Contact Oracle Support.

 

OGG-01164: Column index ({1,number,0}) out of sequence for table {0}, last column index = {2,number,0}.

Cause: There was an internal error converting trail file data. The columns are out of sequence.

Action:  Contact Oracle Support.

 

OGG-01165: Record length exceeds maximum record length permitted Cause: An internal error occurred while constructing a trail record. The constructed record exceeds the maximum allowable record length.

Action:  Contact Oracle Support.

 

OGG-01166: Records larger than 32KB are not supported when using ETOLDFORMAT. Current record is {0,number,0} bytes.

Cause: The Extract parameter file contains the ETOLDFORMAT parameter. When this parameter is used, the trail file does not support records that are larger than 32KB.

Action:  To continue using the ETOLDFORMAT parameter, which should only be used if the target Replicat is older than Oracle GoldenGate version 6.0, remove tables that generate the larger record size. Otherwise, you can upgrade Replicat so that ETOLDFORMAT is not needed.

 

OGG-01167: Old format record headers are not supported in PASSTHRU mode

Cause: The primary Extract parameter file contains the ETOLDFORMAT parameter, but older trail header formats cannot be read by a pump Extract that is configured in PASSTHRU mode.

Action: If possible, remove PASSTHRU from the data pump. As an alternative, you can use ETOLDFORMAT in the data pump parameter file instead of the primary Extract parameter file. This will write the trail to the old format to support the Replicat version for which this conversion is necessary.

 

OGG-01168: Encountered an update for target table {0}, which has no unique key defined. KEYCOLS can be used to define a key. Use ALLOWNOOPUPDATES to process the update without applying it to the target database. Use APPLYNOOPUPDATES to force the update to be applied using all columns in both the SET and WHERE clause.

Cause: Replicat tried to apply a record by using a unique key for row selection, but a matching key does not exist in the target table.

Action: If the source and target tables do not have identical key columns, use an identical KEYCOLS clause in the source TABLE parameter and the target MAP parameter. For more information about KEYCOLS, see the Oracle GoldenGate reference documentation. To learn about ALLOWNOOPUPDATES and APPLYNOOPUPDATES, contact Oracle Support.

 

 

OGG-01169: Encountered an update where all key columns for target table {0} are not present

Cause: Replicat tried to apply a record by using a specific key from the source table, but some or all of the matching key columns do not exist in the target table.

Action: If the source and target tables do not have identical key columns, use an identical KEYCOLS clause in the source TABLE parameter and the target MAP parameter. For more information about KEYCOLS, see the Oracle GoldenGate reference documentation. To learn about options that cause Replicat to skip such operations, or turn them into inserts by using whatever data is available in the trail record, contact Oracle Support.

 

OGG-01170: Exceeded maximum discard records, abending

Cause: The maximum number of discard records that is specified with the MAXDISCARDRECS parameter was exceeded.

Action: You can use the PURGE option of the DISCARDFILE parameter to purge content when new content is written. As an alternative, you can specify a different discard file with the DISCARDFILE parameter, and then restart the process. This maintains the old discard file intact.

 

OGG-01171: Failed to process MBU record.

Cause:  Extract could not link multi-block undo records.

Action: Make certain that supplemental logging is enabled. If the problem persists, remove the table from the Oracle GoldenGate configuration.

 

OGG-01172: Discard file ({0}) exceeded max bytes ({1,number,0})

Cause: The size of the discard file that is specified with the DISCARDFILE parameter exceeded the size that is allowed with the MAXBYTES option.

Action: See the Oracle GoldenGate reference documentation for DISCARDFILE for default, minimum, and maximum size values, and for purge options.

 

OGG-01173: Error mapping a number for column {0}, (input value [{1}]) Cause:  The specified value could not be converted for a numeric column.

Action: Verify the MAP statement to make certain that the columns in the mapping are supported for conversion. For help, see the Oracle GoldenGate administration documentation.

 

OGG-01174: Unexpected non-numeric encountered for column {0} Cause:  The specified numeric column contains non-numeric data.

Action: Verify that the source and target tables that are specified for the comparison have the same schema.

 

OGG-01175: Cannot Column map from an Enscribe auditcomp record Cause: Enscribe auditcomp records are not supported by Oracle GoldenGate for Windows and UNIX.

Action: Remove these record types from the Extract configuration on the NonStop system.

 

OGG-01176: Error converting data to ascii format Cause:  The data could not be converted to ASCII format.

 

 

Action: Exclude the table or column from the Oracle GoldenGate configuration.

 

OGG-01179: Mismatched record version/bad data in {0} at {1}

MSG_ERR_RECORD_MISMATCHED

Cause: The trail contains an incomplete record. A previously active Extract group probably was dropped and recreated to link to the same trail name as before. The new Extract started to write to the beginning of the first file in the trail, which caused it to overlay new data over the data that was written by the old group. Because record lengths vary, the new data overwrote record headers, causing one or more incomplete records. Replicat expects a record to start with a header; otherwise it abends.

Action: Examine the parameter files to determine if the parameter file for one Extract group was copied as the basis for the second group, but trail names (and possibly other names) were not changed for the second group. If this is the case, the best solution is to start over, because data was probably lost or corrupted.

 

  1. Move the old trail files out to a temporary location, in case you need them later, or in case an Oracle support engineer needs to see
  2. Drop and re-create the Extract
  3. Create a new trail for each Extract group, and give each a unique
  4. Create new Replicat
  5. Resynchronize the data. If the source data must remain active while you are resynchronizing the data, refer to the instructions for performing an initial load in the Oracle GoldenGate administration

When a trail is corrupted this way, a debug509.txt file might be created in the Oracle GoldenGate installation directory. Save this file. You will need to send the file to a support analyst if you need to open a support case.

For Oracle GoldenGate versions 10.0 and later, there is a RECOVERYOPTIONS parameter that also might be influencing the way that a recovering Extract writes to the trail. See the Oracle GoldenGate reference documentatin for more information.

OGG-01180: LOB chunk too short ({0,number,0} bytes), minimum length:

{1,number,0} bytes

Cause: The size of the LOB chunk in the trail file is too small. The trail file may be corrupted.

Action:  Contact Oracle Support.

 

OGG-01181: LOB chunk header size must be {0,number,0} bytes

Cause: The size of the LOB chunk in the trail file is invalid. The trail file may be corrupted.

Action:  Contact Oracle Support.

 

OGG-01182: Cannot retrieve io_type property from the record header in extract file {0}, rba {1,number,0}

Cause: The trail record header does not contain the I/O type. The trail file may be corrupted.

Action:  Contact Oracle Support.

 

 

OGG-01183: Total length of record is {1,number,0}, maximum length allowed is {0,number,0}

Cause: The length of the trail record is too long. The trail file may be corrupted.

Action:  Contact Oracle Support.

 

OGG-01184: Expected {3,number,0} bytes, but got {4,number,0} bytes, in trail {0}, seqno {1,number,0}, reading record trailer token at RBA

{2,number,0}

Cause:  The actual length of the trail record is different from the length field.

Action:  Contact Oracle Support. The trail file may be corrupted.

 

OGG-01185: Bad trailer token in trail {0}, seqno {1,number,0}, at RBA

{2,number,0}

Cause:  A bad trail token was found. The trail file may be corrupted.

Action:  Contact Oracle Support.

 

OGG-01186: Indicated beginning of record occurs before beginning of file after reading record trailer token at RBA {2,number,0} in trail {0}, seqno {1,number,0}

Cause: The trail file contains an invalid record position. The trail file may be corrupted.

Action:  Contact Oracle Support.

 

OGG-01187: Duplicate entry encountered for {0}, Reloading definition…

Cause:  A duplicate entry was found in the definitions file.

Action:  Edit the definitions file to remove the duplicate entry.

 

OGG-01188: Short redefine encountered in {0}, Continuing…

Cause: An Enscribe short redefine was found in the definitions file.

Action:  Edit the definitions file to remove the short redefine entry.

 

OGG-01189: Sequence number ({0,number,0}) received : Expecting ({1,number,0})

Cause: The initial load Replicat encountered an unexpected sequence number. The trail file might be corrupted.

Action:  Contact Oracle Support.

 

OGG-01190: Non-numeric data sequence number [{0}]

Cause: The initial load Replicat encountered a non-numeric sequence number field. The trail file might be corrupted.

Action:  Contact Oracle Support.

 

OGG-01191: Bad/unrecognized block format converting timestamps Cause: The initial load Replicat cannot convert commit timestamp data. The trial file might be corrupted.

Action:  Contact Oracle Support.

 

OGG-01192: Trying to use RMTTASK on data types which may be written as LOB chunks (Table: ‘{0}’).

Cause:  The Oracle GoldenGate direct load method (performed as a

remote-task) does not support tables that have columns that contain LOBs,

 

 

LONGs, user-defined types (UDT), or any other large data type that is greater than 4k in size.

Action:  Exclude these tables from the load.

 

OGG-01193: Remote tasks cannot be used when other targets files or trails are specified

Cause: The Extract parameter file specifies RMTTASK to configure a remote task for an Oracle GoldenGate direct load, but it is possible that an ADD {EXT

| RMT}FILE or ADD {EXT | RMT}TRAIL command was issued to link a trail or file with the remote-task Extract, or that a local or remote trail or file was specified with {EXT | RMT}FILE or {EXT | RMT}TRAIL in the remote-task Extract parameter file. Disk storage is not used for a remote task, and there can be only one target Replicat for the task. A remote task cannot be run from the same Extract that also writes to a trail.

Action: Remove the trail or file specification from the parameter file of the remote-task Extract, and/or delete the trail that is linked with that Extract. Also make certain that the remote-task Replicat was added as a SPECIALRUN, and that its parameter file does not contain any trail or file specifications. To configure an Oracle GoldenGate direct load, see the Oracle GoldenGate administration documentation.

 

OGG-01194: EXTRACT task {0} abended : {1}

Cause:  The initial load Extract task abended due to the specified error.

Action:  Refer to the associated error message for the cause and action to take.

 

OGG-01195: Invalid response code received <0x{0} {1}>

Cause:  The initial load Extract received an invalid TCP/IP response code.

Action: Make certain that the network connections are open and working. If this problem persists, contact Oracle Support.

 

OGG-01196: Did not recognize command <0x{0}>

Cause:  The initial load Extract received an unrecognized TCP/IP command.

Action: Make certain that the network connections are open and working. If this problem persists, contact Oracle Support.

 

OGG-01197: Did not recognize command <0x{0} {1}>

Cause:  The initial load Extract received an unrecognized TCP/IP command.

Action: Make certain that the network connections are open and working. If this problem persists, contact Oracle Support.

 

OGG-01198: Unknown data type received <0x{0} {1}>

Cause:  The initial load Extract received an unrecognized data type.

Action: Make certain that the network connections are open and working. If this problem persists, contact Oracle Support.

 

OGG-01199: REPLICAT (initial data load task) stopped by EXTRACT Cause: Extract stopped the initial-load Replicat after the load completed successfully. Informational only.

Action: None

 

OGG-01200: There is no trail to reposition to when doing direct load task.

Cause: An ALTER REPLICAT may have been issued with a positioning option. A direct load task does not use a trail.

 

 

Action: Check whether the ALTER REPLICAT was meant for a change-synchronization Replicat instead of the task Replicat.

 

OGG-01201: Error reported by MGR : {0}

Cause:  The specified error was returned by Manager.

Action:  Resolve the problem based on the reported error message.

 

OGG-01202: TCP/IP link with manager was unexpectedly terminated Cause: The connection that Extract had with the remote Manager terminated.

Action: Verify that the remote host and Manager are still running. Use network diagnostic tools to resolve the error if it is network related, or consult the network administrator.

 

OGG-01203: EXTRACT abending Cause:  The initial load Replicat failed.

Action: Check the process report file for related errors, and take action based on that error.

 

OGG-01204: Command sent was not recognised by receiving process Cause: The initial load Replicat did not recognize a command that was sent to it. There could be a TCP/IP network problem.

Action: Check the Replicat report file for related error messages, and take action based on them.

 

OGG-01205: The transaction to be deleted is not the current transaction on the list. Current: 0x{0}, Given: 0x{1}

Cause:  The transaction to be deleted is not the current one.

Action:  Contact Oracle Support.

 

OGG-01207: The length given for the unique row identifier required for LOBROW is zero

Cause:  The length of the LOB that is being processed is zero.

Action:  Contact Oracle Support.

 

OGG-01208: The {0} function failed with return code {1,number,0}: {2} Cause:  This is a generic message about file memory.

Action: Check for lower-level error messages, and then try to resolve the problem based on those messages. For example, they may report a disk problem. If you cannot determine or resolve the problem, contact Oracle Support.

 

OGG-01209: Error [A block with a length of zero has been added for column index ({0,number,0}) without indicating that this is the last block in the LOB being added]

Cause: The block that was being added to column data has a zero length, and this is not the last block to be added.

Action:  Contact Oracle Support.

 

OGG-01210: Error [Column index ({0,number,0}) does not have an entry in the column mapping for the LOB map entry]

Cause: While trying to add a block to column data, the process determined that the specified column is not mapped.

 

 

Action:  Contact Oracle Support.

 

OGG-01211: Invalid LOB row to put chunk into

Cause:  An internal error occurred while processing a LOB row.

Action:  Contact Oracle Support.

 

OGG-01212: Programming error – LOB chunk size ({0,number,0}) exceeds maximum allowed ({1,number,0})

Cause:  The size of the LOB chunk exceeds the maximum allowed limit.

Action:  Contact Oracle Support.

 

OGG-01213: Unexpected error allocating LOB column memory structure Cause: While storing a LOB chunk in memory, the process detected that the transaction information is missing.

Action:  Contact Oracle Support.

 

OGG-01214: oldest uncommmitted transaction has no tran_hdr data Cause:  The transaction does not contain a header.

Action:  Contact Oracle Support.

 

OGG-01216: Cannot allocate more memory for a new transaction without violating memory settings (INITTRANSRAM = {0,number,0} bytes) Cause:  An internal memory allocation error occurred while initializing the

Cache Object Manager.

Action:  Contact Oracle Support.

 

OGG-01218: Error in {2}: {0,number,0} ({1}) Cause:  A TCP/IP system call failed.

Action: Check for a duplicate process that is running, such as another Manager. Make certain that the remote process is still running. Check for any firewalls that forbid the connection, such as blocking certain ports or processes.

 

OGG-01220: Could not establish host TCP/IP address

Cause: The RMTHOST parameter specifies a host name, and Oracle GoldenGate was unable to resolve that host name to an IP address.

Action: Consult your network administrator to make certain that the remote host is listed correctly in the domain name server.

 

OGG-01221: Connect failed to {0}:{1,number,0}, error {2,number,0}:{3} Cause: The process attempted to connect to the specified IP address and port number, but failed with the TCP error that is shown. Typical connection

problems are that the target Manager or Collector process is not running, or

that Extract is pointing to the wrong IP address or Manager port number.

Action: Verify that the Manager port in the target Manager parameter file is the same as that in the RMTHOST parameter in the source Extract parameter file, and verify the IP address in RMTHOST. Connection errors also can indicate Collector security violations, a full file system, or errors relating to the system or to the Oracle GoldenGate configuration. If the error condition does not resolve itself in a reasonable amount of time (depending on the error type) consult the network administrator.

 

 

OGG-01222: Connect failed to {0}:{1,number,0}, error {2,number,0}:{3} – retries exceeded

Cause: The process failed to establish a TCP/IP link and retried the link for the maximum number of times allowed by the system or the tcperrs file.

Action: Make certain that the remote process is still running. Check for any firewalls that forbid the connection, such as blocking certain ports or processes.

 

OGG-01223: {0}

Cause: A TCP/IP error occurred. The process will retry based on the tcperrs file setting for retries.

Action: Make certain that the remote process is still running. Check for any firewalls that forbid the connection, such as blocking certain ports or processes. Make certain that the RMTHOST parameter is configured correctly. Consult your network administrator if you cannot resolve the problem, before contacting Oracle Support, to rule out any other network issues.

 

OGG-01224: {0}

Cause: A TCP/IP error occurred. The process will retry based on the tcperrs file setting for retries.

Action: Make certain that the remote process is still running. Check for any firewalls that forbid the connection, such as blocking certain ports or processes. Make certain that the RMTHOST parameter is configured correctly. Consult your network administrator if you cannot resolve the problem, before contacting Oracle Support, to rule out any other network issues.

 

OGG-01225: Increased socket buffer size from {0,number,0} to

{1,number,0}

Cause: The TCP socket buffer size was increased to the specified size with the TCPBUFSIZE <bytes> setting in the RMTHOST or RMTHOSTOPTIONS parameter. Informational only.

Action: None

 

OGG-01226: Socket buffer size set to {0,number,0} (flush size {1,number,0}) Cause: The TCP socket buffer size is set to the specified size, which is either the default size or the size specified with the TCPBUFSIZE <bytes> setting in

the RMTHOST or RMTHOSTOPTIONS parameter. The buffer that collects

data that is ready to be sent across the network is set to the specified size, which is either the default size or the size specified with the TCPFLUSHBYTES option. Informational only.

Action: None

 

OGG-01227: Waiting for connection on port {0,number,0} …

Cause: The process is waiting to connect to the specified listening port. Informational only.

Action: None

 

OGG-01228: Timeout in {0,number,0} seconds

Cause:  The process connection will timeout in the specified time frame.

Action: None

 

OGG-01229: Connected to {0}:{1,number,0}

 

 

Cause: Informational message showing the host name and port number that the process is connected to.

Action: None

 

OGG-01230: Recovered from TCP error, host {0}, port {1,number,0} Cause: Oracle GoldenGate recovered from a TCP error. Informational only. Action: None

OGG-01231: Remote host TCP params error: {0}

Cause: A TCP/IP error occurred. The process will retry based on the tcperrs file setting for retries.

Action: Make certain that the remote process is still running. Check for any firewalls that forbid the connection, such as blocking certain ports or processes. Make certain that the RMTHOST parameter is configured correctly. Consult your network administrator if you cannot resolve the problem, before contacting Oracle Support, to rule out any other network issues.

 

OGG-01232: Receive TCP params error: {0}

Cause: An error in the TCP/IP layer prevented the process from receiving a full message, probably because of a network error. This message is generated when all retries that are permitted by the tcperrs file fail.

Action: Make certain that the sending process is still running, and that the network is still available. If you or the network administrator cannot resolve the problem, contact Oracle Support.

 

OGG-01233: Send TCP params error: {0}

Cause: An error in the TCP/IP layer prevented the process from sending a full message, probably because of a network error. This message is generated when all retries that are permitted by the tcperrs file fail.

Action: Make certain that the receiving process is still running, and that the network is still available. If you or the network administrator cannot resolve the problem, contact Oracle Support.

 

OGG-01234: Command sent was not recognised by receiving process Cause: The command received from the TCP/IP packet is not recognizable. The TCP packet itself is correct, but the enclosed message is unrecognizable.

Action: Make certain that the Oracle GoldenGate versions on the source and target are the same. If the problem persists, contact Oracle Support.

 

OGG-01235: Command not allowed by receiving manager process

Cause:  A TCP command was not permitted by the receiving Manager process.

Action:  Contact Oracle Support.

 

OGG-01236: Trace file {0} opened

Cause: The specified trace file was opened by the process. Informational only.

Action: None

 

OGG-01237: Trace file {0} closed

Cause:  The specified trace file was closed by the process. Informational only.

Action: None

 

OGG-01239: {0}

 

 

Cause:  There was an internal error parsing the binary Activity Logging file.

Action: Verify that the target file was generated by the Activity Logging subsystem and contact Product Development for additional assistance.

 

OGG-01242: Invalid key field: {0}

Cause: The column that is specified in KEYCOLS is not specified in the COBOLDEFSFILE.

Action:  Correct the KEYCOLS specification to be a valid column.

 

OGG-01244: {0}

Cause: This is a generic message for an error that occurred while parsing the COBOLDEFSFILE.

Action: Attempt to correct the problem based on the error that is returned. If it persists, contact Oracle Support.

 

OGG-01245: Missing source file DEFINITION for target {0} Cause: The DEF parameter is missing the record name detail. Action:  Add the record name to be used in the DEF file output.

OGG-01246: DEFINITION {0} was not defined

Cause:  The FILE input record was not found in the COBOLDEFSFILE.

Action:  Correct the FILE entry to match the source DDL record name.

 

OGG-01247: Error processing {0} params: {1}

Cause:  An invaild EXPANDDDL option was used in the parameter file.

Action: For valid EXPANDDDL options, see the Oracle GoldenGate reference documentation.

 

OGG-01248: Could not retrieve definition for table {0} Cause:  The table was not found in the database.

Action: Add the table to the database or remove it from the DDLGEN configuration.

 

OGG-01249: Invalid template file, missing one or more required sections Cause:  The template file is missing an expected section.

Action:  Get or create a valid copy of the template (TMPL) file.

 

OGG-01250: Invalid line (no section yet designated): {0} Cause: The template file is missing an expected section. Action:  Get or create a valid copy of the template (TMPL) file.

OGG-01251: Invalid param in template: {0}

Cause:  There is an invalid parameter in the template file.

Action:  Get or create a valid copy of the template (TMPL) file.

 

OGG-01252: Invalid column name mapping line: {0}

Cause: The template file is missing the precision or scale for the data type.

Action:  Add the precision and scale to the template (TMPL) file.

 

OGG-01253: Invalid column type mapping line: {0}

Cause: The template file is missing the precision or scale for the data type.

 

 

Action:  Add the precision and scale to the template (TMPL) file.

 

OGG-01255: Missing entry for data type {0}

Cause: The template file does not contain the source column type to map to a target column type.

Action:  Add the missing type to the template (TMPL) file.

 

OGG-01256: {1}: FM_cache_pool_init: {0}

Cause: The process failed to create a memory pool to store the captured transactional data.

Action: Make certain the system allocated enough resources to create the memory pool.

 

OGG-01257: File cache directory: {0}, does not exist or is write protected. Cause: The paging directory that is specified with the CACHEDIRECTORY option of the CACHEMGR parameter, or the default dirtmp directory in the

Oracle GoldenGate installation directory, is write protected or cannot be found.

Action: If the directory exists, assign Oracle GoldenGate full control of that directory. If the directory does not exist, create it or specify an existing directory for CACHEDIRECTORY.

 

OGG-01258: ERROR: INVALID CACHE MEMORY VALUES

Cause:  The CACHESIZE, CACHEBUFFERSIZE, or CACHEPAGEOUTSIZE

specifications of the CACHEMGR parameter contain invalid value specifications. See the Oracle GoldenGate reference documentation for correct value ranges and syntax.

Action: None

 

OGG-01259: Duplicate directory: {1}, for VM parameter: {0}.

Cause: A CACHEDIRECTORY option of the CACHEMGR parameter contains duplicate directory entries, or there are duplicate CACHEDIRECTORY entries that specify the same directory.

Action: Correct the syntax and then restart the process. Only one directory can be specified per CACHEDIRECTORY entry. For syntax and usage of CACHEMGR, see the Oracle GoldenGate reference documentation.

 

OGG-01262: The call to the {0}() function from line {2,number,0} in {3}() failed with reason ‘{1}’

Cause: An internal error occurred. Usually this message is logged along with other messages that provide more specific information. In some cases, the message text will indicate a cause and possible action.

Action: If you cannot resolve the problem based on the related messages, contact Oracle Support.

 

OGG-01263: The call to the {0}() function from line {1,number,0} in {2}() returned an unexpected value

Cause: There is a problem with the function that was called. Usually this message is preceded by other messages that provide more specific information.

Action: If the related messages do not help you resolve the problem, contact Oracle Support.

 

OGG-01264: The call to the {0}() function from line {1,number,0} in {2}() returned an unexpected value

 

 

Cause: There is a problem with the function that was called. Usually this message is preceded by other messages that provide more specific information.

Action: If the related messages do not help you resolve the problem, contact Oracle Support.

 

OGG-01266: {0}

Cause: The cache object manager (COM) returned an internal error. Usually this message is preceded by other messages that provide more specific information.

Action: If the related messages do not help you resolve the problem, contact Oracle Support.

 

OGG-01268: {2}: exceeded maximum allocation attempts ({0,number,0}): {1} Cause: The Oracle GoldenGate cache manager failed to allocate virtual memory for transaction data after the maximum permissible number of

retries. There is not sufficient free virtual memory, based on the implicit or

explicit CACHESIZE setting of the CACHEMGR parameter, to satisfy new memory requests. Data will be paged to disk, if eligible. For more information, see the CACHEMGR parameter in the Oracle GoldenGate reference documentation.

Action: None

 

OGG-01269: The call to the {0}() function for address 0x{1}, size 0x{2} from line {3,number,0} in {4}() returned an unexpected value

Cause:  An attempt to unmap virtual memory failed.

Action: Examine any preceding error messages for a possible cause and resolution; otherwise, contact Oracle Support.

 

OGG-01270: {1}: Bad Parameter: {0}

Cause: The CACHEMGR parameter contains invalid syntax, or is not supported for the database type.

Action: Check the CACHEMGR reference documentation to verify that the database is supported. If true, then correct the syntax and then restart the process.

 

OGG-01271: {1}: Bad Parameter Argument: {0}

Cause:  The CACHEMGR parameter contains invalid syntax.

Action: Correct the syntax and then restart the process. For syntax and usage of CACHEMGR, see the Oracle GoldenGate reference documentation.

 

OGG-01273: {1}: INVALID ARGUMENT SYNTAX: {0}

Cause:  The CACHEMGR parameter contains invalid syntax.

Action: Correct the syntax and then restart the process. For syntax and usage of CACHEMGR, see the Oracle GoldenGate reference documentation.

 

OGG-01274: {1}: Duplicate Argument: {0}

Cause:  The CACHEMGR parameter contains duplicate syntax.

Action: Correct the syntax and then restart the process. For syntax and usage of CACHEMGR, see the Oracle GoldenGate reference documentation.

 

OGG-01275: EXCEEDED ARGUMENT COUNT FOR: {0} max allowed:

{1,number,0}

 

 

Cause: There are too many arguments in the CACHEMGR parameter, such as: CACHESIZE 16G 64G, when only one size should be specified.

Action:  Fix the parameter, and then restart the process.

 

OGG-01276: {1}: BAD DIRECTORY PARAMETER: {0}

Cause: The CACHEMGR parameter contains a CACHEDIRECTORY option that has invalid syntax.

Action: Specify a directory path and a maximum directory size for each CACHEDIRECTORY entry, and separate each CACHEDIRECTORY entry with a comma, as in: CACHEDIRECTORY /ogg1/temp 2GB, CACHEDIRECTORY /ogg2/temp 2GB

 

OGG-01277: {2}: INVALID DIRECTORY SIZE SPEFICICATION: {1} ({0})

Cause: The directory size for the CACHEDIRECTORY option of the CACHEMGR parameter is incorrect.

Action: Specify a value that is between the maximum size imposed by the file system and the minimum size of 2 GB.

 

OGG-01278: {2}: cm_memdir_add: {0} size: {1}

Cause: The disk space that is allocated to the CACHEMGR paging directories and specified with the CACHEDIRECTORY option was exceeded.

Action: Add disk space if needed, and change the CACHEDIRECTORY option to allocate more space to the cache directories.

 

OGG-01279: {1}: max # of directories allocated: {0,number,0}

Cause: The maximum number of paging directories that are specified for the CACHEDIRECTORY option of the CACHEMGR parameter was exceeded.

Action:  Reduce the number of directories.

 

OGG-01280: {1}: Duplicate CACHEDIRECTORY: {0}

MSG_WRN_CACHEOBJ_DIR_ARRAY_DUPLICATE

Cause: The CACHEDIRECTORY option of the CACHEMGR parameter contains one or more duplicate entries.

Action:  Remove the duplicate entries.

 

OGG-01281: {0}

Cause: This is a generic Event Marker Infrastructure informational message. It may be useful for operational, performance, or diagnostic purposes.

Action: None

 

OGG-01282: {0}

Cause: This is a generic Event Marker Infrastructure warning message that may indicate a potential problem. The data provided may be useful for operational, performance, or diagnostic purposes.

Action: Take action based on the message that is returned. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01283: Stopping process due to {0} event {1}{2} {3}

Cause: The parameter file contains the EVENTACTIONS parameter with the STOP option. The process stopped gracefully after completing open transactions and any grouped transactions. Informational only.

Action: None

 

 

OGG-01284: Stopping process due to {0} event {1}{2}. STOP request will be executed immediately (current transaction aborted)

Cause: The parameter file contains the EVENTACTIONS parameter with the STOP option. The process stopped immediately and aborted the current transaction, because it was still open when the event record was processed.

Informational only.

Action: None

 

OGG-01285: Processed {0} event {1}{2}

Cause: The parameter file contains the EVENTACTIONS parameter with the specified option, and the action was performed successfully. Informational only.

Action: None

 

OGG-01286: Executing shell command ‘{0}’ due to SHELL event {1}{2} Cause: The parameter file contains EVENTACTIONS with the SHELL option, and the shell command is being executed because the event was

triggered. Informational only.

Action: None

 

OGG-01287: Successfully executed shell command ‘{0}’

Cause:  The parameter file contains EVENTACTIONS with the SHELL option, and the shell command succeeded when the event was triggered. In the UNIX shell language, a zero exit status equals success. Informational only.

Action: None

 

OGG-01288: Failed to execute shell command ‘{0}’, exit status =

{1,number,0}

Cause: The parameter file contains EVENTACTIONS with the SHELL option, but the shell command failed when the event was triggered. In the UNIX shell language, a non-zero exit status equals failure.

Action: Check the syntax of the command that is specified in the EVENTACTIONS parameter, and fix it if it is wrong. If the syntax is correct, find out if there is a problem with the file system or operating system that prevents the command from succeeding.

 

OGG-01289: Aborting process due to {0} event {1}{2}

Cause: EVENTACTIONS with the ABORT option is specified in the parameter file, and the event record triggered the ABORT. If DISCARD was also specified, the event record is in the discard file. This is informational to alert you that the event occurred.

Action: None, unless manual procedures are required outside Oracle GoldenGate as a result of the event. The process will undergo recovery on startup.

 

OGG-01290: Event action ABORT cannot be combined with any of the following actions: STOP, FORCESTOP, IGNORE, LOG, ROLLOVER, TRACE, CHECKPOINT AFTER, CHECKPOINT BOTH or SYNC

Cause: The EVENTACTIONS parameter includes an ABORT option and at least one of the other specified options. These options are mutually exclusive.

Action: Remove mutually exclusive options. For more information, see TABLE and MAP in the Oracle GoldenGate reference documentation.

 

 

OGG-01291: Event action FORCESTOP cannot be combined with STOP, CHECKPOINT AFTER, CHECKPOINT BOTH, or SYNC

Cause: The EVENTACTIONS parameter includes a FORCESTOP option and at least one of the other specified options. These options are mutually exclusive.

Action: Remove mutually exclusive options. For more information, see TABLE and MAP in the Oracle GoldenGate reference documentation.

 

OGG-01292: Event action IGNORE cannot be combined with DISCARD Cause: The EVENTACTIONS parameter includes an IGNORE option and a DISCARD option. These options are mutually exclusive.

Action: Remove one of the options. For more information, see TABLE and MAP in the Oracle GoldenGate reference documentation.

 

OGG-01293: TABLE specification without TARGET must include either IGNORE or DISCARD event action

Cause: A TABLE specification does not declare a TARGET. Without a TARGET clause, the EVENTACTIONS specification requires the action to be either IGNORE or DISCARD.

Action: Add a TARGET clause to the TABLE statement or use IGNORE or DISCARD for the EVENTACTIONS clause.

 

OGG-01294: Cannot process {0} event {1}{2} because the event record is not the first record in the transaction

Cause: EVENTACTIONS is being used in the parameter file. Certain EVENTACTIONS options require the event record to be the first record in a transaction. The event record is a record in the TABLE or MAP statement, typically specified with filtering criteria, that triggers the specified EVENTACTIONS action.

Action: Specify an event record that is the beginning of a transaction. For more information, see TABLE and MAP in the Oracle GoldenGate reference documentation.

 

OGG-01296: Error mapping from {0} to {1}

Cause:  The mapping of the specified source and target tables failed.

Action: Examine the accompanying messages that provide details about the mapping failure, and resolve the problem based on those messages. If the problem persists, contact Oracle Support.

 

OGG-01297: Column function diagnostic message: could not find resource

{0}

Cause: The GETVAL column-conversion function contains an invalid specification.

Action: Correct the syntax. Make certain the procedure or query name is correct and that the parameter portion contains a valid parameter name or return value. For help, see the Oracle GoldenGate reference documentation.

 

OGG-01298: Column function diagnostic message: could not find column

{0}

Cause: The specified column could not be found when the column-conversion function executed.

Action:  Specify the correct column name.

 

 

OGG-01299: Column function diagnostic message: DAT_{0} Bad value for century {1,number,0}

Cause: Column conversion failed. Century data from the source database or trail file may be corrupted, or a century value was specified for non-century data.

Action: Make certain that the source column contains valid century data. If it does not contain century data, remove the century specification from the column-conversion function and specify an appropriate data type.

 

OGG-01300: Column function diagnostic message: DAT_{0} Bad value for year {1,number,0}

Cause: Column conversion failed. Year data from the source database or trail file may be corrupted, or a year value was specified for non-year data.

Action: Make certain that the source column contains valid year data. If it does not contain year data, remove the year specification from the

column-conversion function and specify an appropriate data type.

 

OGG-01301: Column function diagnostic message: DAT_{0} Bad value for month {1,number,0}

Cause:  Column conversion failed. Month data from the source database or trail file may be corrupted, or a month value was specified for non-month data.

Action: Make certain that the source column contains valid month data. If it does not contain month data, remove the month specification from the column-conversion function and specify an appropriate data type.

 

OGG-01302: Column function diagnostic message: DAT_{0} Bad value for day {1,number,0}

Cause: Column conversion failed. Day data from the source database or trail file may be corrupted, or a day value was specified for non-day data.

Action: Make certain that the source column contains valid day data. If it does not contain day data, remove the day specification from the

column-conversion function and specify an appropriate data type.

 

OGG-01303: Column function diagnostic message: DAT_{0} Bad value for day of year {1,number,0}

Cause: Column conversion failed. Day-of-year data from the source database or trail file may be corrupted, or a day-of-year value was specified for data that is not day-of-year.

Action: Make certain that the source column contains valid day-of-year data. If it does not contain day-of-year data, remove the day-of-year specification from the column-conversion function and specify an appropriate data type.

 

OGG-01304: Column function diagnostic message: DAT_{0} Bad value for day of week {1,number,0}

Cause: Column conversion failed. Day-of-week data from the source database or trail file may be corrupted, or a day-of-week value was specified for data that is not day-of-week.

Action: Make certain that the source column contains valid day-of-week data. If it does not contain day-of-week data, remove the day-of-week specification from the column-conversion function and specify an appropriate data type.

 

OGG-01305: Column function diagnostic message: DAT_{0} Bad value for day of paramType, week

 

 

Cause:  Column conversion failed on a bad value for a “day-of-” data type (such as day-of-year). The data in the source column or trail file may be corrupted, or a “day-of-” value was specified for data that is not “day-of-” data.

Action: Make certain that the source column is supposed to contain this kind of data. If not, remove the “day-of-” specification from the column-conversion function and specify an appropriate data type.

 

OGG-01306: Column function diagnostic message: DAT_{0} Bad value for hour {1,number,0}

Cause: Column conversion failed. Hour data from the source database or trail file may be corrupted, or an hour value was specified for non-hour data.

Action: Make certain that the source column contains valid hour data. If it does not contain hour data, remove the hour specification from the

column-conversion function and specify an appropriate data type.

 

OGG-01307: Column function diagnostic message: DAT_{0} Bad value for minute {1,number,0}

Cause: Column conversion failed. Minute data from the source database or trail file may be corrupted, or a minute value was specified for non-minute data.

Action: Make certain that the source column contains valid minute data. If it does not contain minute data, remove the minute specification from the column-conversion function and specify an appropriate data type.

 

OGG-01308: Column function diagnostic message: DAT_{0} Bad value for second {1,number,0}

Cause: Column conversion failed. Second data from the source database or trail file may be corrupted, or a second value was specified for non-second data.

Action: Make certain that the source column contains valid second data. If it does not contain second data, remove the second specification from the column-conversion function and specify an appropriate data type.

 

OGG-01309: Column function diagnostic message: DAT_{0} Bad value for julian day

Cause: Column conversion failed on a bad value for a Julian day data type. The data in the source column or trail file may be corrupted, or a Julian day value was specified for data that is not Julian day.

Action: Make certain that the source column is supposed to contain Julian day data. If not, remove the Julian day specification from the

column-conversion function and specify an appropriate data type.

 

OGG-01310: Column function diagnostic message: DAT_{0} Bad value for julian time

Cause: Column conversion failed on a bad value for a Julian time data type. The data in the source column or trail file may be corrupted, or a Julian time value was specified for data that is not Julian time data.

Action: Make certain that the source column is supposed to contain Julian time data. If not, remove the Julian time specification from the

column-conversion function and specify an appropriate data type.

 

OGG-01311: Column function diagnostic message: DAT_{0} Bad value for C date

 

 

Cause: Column conversion failed on a bad value for a C date. The data in the source column or trail file may be corrupted, or a C date value was specified for data that is not a C date.

Action: Make certain that the source column is supposed to contain C date data. If not, remove the C date specification from the column-conversion function and specify an appropriate data type.

 

OGG-01312: Column function diagnostic message: DAT_{0} Bad value for TTS date

Cause: Column conversion failed on a bad value for a TTS date. The data in the source column or trail file may be corrupted, or a TTS date value was specified for data that is not a TTS date.

Action: Make certain that the source column is supposed to contain TTS date data. If not, remove the TTS date specification from the column-conversion function and specify an appropriate data type.

 

OGG-01313: Column function diagnostic message: DAT_{0} Bad value for stratus date

Cause:  Column conversion failed on a bad value for a Stratus date. The data in the source column or trail file may be corrupted, or a Stratus date value was specified for data that is not a Stratus date.

Action: Make certain that the source column is supposed to contain a Stratus date. If not, remove the Stratus date specification from the column-conversion function and specify an appropriate data type.

 

OGG-01314: Column function diagnostic message: Output needs full year Cause: The timestamp data in the column does not contain the full year, but a full year (“CC” and “YY”) is specified by the output date and time descriptor

of the @DATE column-conversion function.

Action: Remove one or both of the “CC” and “YY” specifications, depending on what the column contains.

 

OGG-01315: Column function diagnostic message: Output needs year Cause: The timestamp data in the column does not contain a year, but a year (“YY”) is specified by the output date and time descriptor of the @DATE

column-conversion function.

Action:  Remove the “YY” specification.

 

OGG-01316: Column function diagnostic message: Output needs month Cause: The timestamp data in the column does not contain a month, but a month (“MMM” or “MM”) is specified by the output date and time descriptor of

the @DATE column-conversion function.

Action:  Remove the month specification.

 

OGG-01317: Column function diagnostic message: Output needs day Cause: The timestamp data in the column does not contain a day, but a day (“DD”) is specified by the output date and time descriptor of the @DATE

column-conversion function.

Action:  Remove the day specification.

 

OGG-01318: Column function diagnostic message: Output needs day or DOY

 

 

Cause: The timestamp data in the column does not contain a day-of-year, but a day-of-year ( “DOY”) is specified by the output date and time descriptor of the @DATE column-conversion function.

Action:  Remove the day-of-year specification.

 

OGG-01319: Column function diagnostic message: Output needs day or DOW

Cause: The timestamp data in the column does not contain a day-of-week, but a day-of-week ( “DOW”) is specified by the output date and time descriptor of the @DATE column-conversion function.

Action:  Remove the day-of-week specification.

 

OGG-01320: Column function diagnostic message: Output needs hour Cause: The timestamp data in the column does not contain an hour, but an hour ( “HH”) is specified by the output date and time descriptor of the @DATE

column-conversion function.

Action:  Remove the hour specification.

 

OGG-01321: Column function diagnostic message: Output needs minute Cause: The timestamp data in the column does not contain a minute, but a minute ( “MI”) is specified by the output date and time descriptor of the

@DATE column-conversion function.

Action:  Remove the minute specification.

 

OGG-01322: Column function diagnostic message: Output needs second Cause: The timestamp data in the column does not contain a second, but a second ( “SS”) is specified by the output date and time descriptor of the @DATE

column-conversion function.

Action:  Remove the second specification.

 

OGG-01323: Column function diagnostic message: Output needs timestamp

Cause: The timestamp data in the column does not contain a year, month, or day, but these timestamp components are specified by the output date and time descriptor of the @DATE column-conversion function.

Action: Remove the erroneous specification, which can be one of the following: “JTSGMT”, “JTSLCT”, “JTS”, “PHAMIS”, “STRATUS”, “CDATE”, “TTS”.

 

OGG-01324: Column function diagnostic message: Output needs timestamp fraction

Cause: The timestamp data in the column does not contain a fraction, but a fraction ( “FFFFFF”) is specified by the output date and time descriptor of the

@DATE column-conversion function.

Action:  Remove the fraction specification.

 

OGG-01325: Column function diagnostic message: Unknown output requirement

Cause: An invalid date and time format descriptor is specified by the @DATE column-conversion function.

Action: Specify a valid date and time format descriptor. For help with syntax and supported values, see the Oracle GoldenGate reference documentation.

 

 

OGG-01326: Column function diagnostic message: Start offset is greater than end offset

Cause: The begin position in the @STREXT function syntax is later in the string than the end position that is specified.

Action:  Correct the begin and end positions in the syntax.

 

OGG-01327: Column function diagnostic message: Invalid range arguments, must be @RANGE(<this range>, <tot ranges> [,

<column>…])

Cause:  The syntax for @RANGE is incorrect.

Action: The syntax should be in the format shown in the error message, where “this range” is the number of the range partition, “tot ranges” is the total number of ranges, and “column” is the name of the column on which to base the range. See the Oracle GoldenGate reference documentation for more information.

 

OGG-01328: Column function diagnostic message: Could not find expected key column ({0})

Cause: The @RANGE function cannot create the ranges because a column on which to base the range is not defined.

Action: Add a primary key to the table definition, or specify a column on which to base the range allocation to the third position of the syntax as follows:

@RANGE (range_number, total_number_of_ranges, base_column). See the Oracle GoldenGate reference documentation for more information.

 

OGG-01329: Column function diagnostic message: No key columns for

@RANGE clause

Cause: The @RANGE function cannot create the ranges because a column on which to base the range is not defined.

Action:  Add a primary key to the table definition, or specify a column on which to base the range allocation to the third position of the syntax as follows:

@RANGE (range_number, total_number_of_ranges, base_column). See the Oracle GoldenGate reference documentation for more information.

 

OGG-01331: File {0} does not have a valid Oracle GoldenGate signature.

Cause:  The specified trail is not a valid Oracle GoldenGate trail.

Action:  Contact Oracle Support.

 

OGG-01332: File {0}, with compatibility level {1,number,0}, is not compatible with the current software version’s compatibility level of

{2,number,0}. Modify the file writer’s parameter file to generate the appropriate format using the FORMAT LEVEL {2,number,0} option.

Cause: The version of the trail file and the version of the process that reads it (Extract or Replicat) are not the same. The trail version must be the same as, or older than, that of the reader process. LEVEL is an internal option that specifies a compatibility level that is independent of the Oracle GoldenGate software version and only changes if new functionality was added to a version that affects the trail format. A value of 1 or greater specifies a format that is supported by Oracle GoldenGate versions 10.0 and later. A value of 0 specifies a format that is supported by Oracle GoldenGate versions prior to 10.0.

Action: Edit the parameter file to set the EXTFILE, EXTTRAIL, RMTFILE, or RMTTRAIL parameter to 0 to write a trail that is backward compatibile with the reader process. Next, issue the issue the ALTER EXTRACT comand

 

 

with the ETROLLOVER option in GGSCI. The rollover creates a new trail file in the specified format. Start Extract to begin writing to the new trail file. For more information, see the Oracle GoldenGate reference documentation for the trail or file parameters.

 

OGG-01334: Error mapping data from {0} to {1}.{2} in function {3}

Cause: The specified source table could not be mapped to the specified target table in the specified column-conversion function.

Action: Make certain that the mapping syntax is correct and that names are spelled correctly. For help, seee the Oracle GoldenGate reference documentation.

 

OGG-01335: Error mapping data from {0} to {1}.{2} in function {3}

Cause: The specified source table could not be mapped to the specified target table in the specified column-conversion function.

Action: Make certain that the mapping syntax is correct and that names are spelled correctly. For help, seee the Oracle GoldenGate reference documentation.

 

OGG-01336: Switching to next trail file {0} at {1}{3} with current RBA

{2,number,0}

Cause: The process is rolling over the trail to the next file in the sequence. Informational only.

Action: None

 

OGG-01337: Trail file {0}, IO error {1,number,0} ({2})

Cause: The process cannot open the trail file because there was an operating system error.

Action: Resolve the operating system error. Consult the system documentation or the system administrator if you cannot determine the cause of the problem.

 

OGG-01338: {1}: The {0} service was started successfully.

Cause:  The specified service started successfully. Informational only.

Action: None

 

OGG-01339: {1}: Failed to start the {0} service, error code {2,number,0} ({3}).

Cause:  Manager could not start the specified service.

Action: Make certain that Oracle GoldenGate is installed properly and that Manager has permission on the system to start the process. Make certain that the parameter file is in the right place and that database is running. Check the related message that is specified in this text for additional troubleshooting details.

 

OGG-01342: DDL found, operation [{0}], start {1} [{2}], DDL seqno [{3}] Cause: A DDL operation with the specified identifier is being processed. Informational only.

Action: None

 

OGG-01343: Restart Timer failed. status = {0} waitState: {1,number,0} Cause:  A restart failed.

Action:  Contact Oracle Support.

 

 

OGG-01344: Restart notification failure. status = {0}.

Cause:  A restart notification failed.

Action:  Contact Oracle Support.

 

OGG-01347: {0} failed. status = {1}

Cause: A non-critical failure occurred. This message provides lower-level detail about the root cause of a broader functional failure. Check for other, related messages that might help you perform troubleshooting and resolution.

Action: Depends on the reported failure. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01348: Invalid CHARSET and A2E character set configuration Cause: The value specified for the CHARSET global option does not match the CHARSET value specified in the A2E parameter.

Action: Correct the A2E parameter or GLOBALS file so that the character sets match.

 

OGG-01349: Could not convert ASCII data to EBCDIC

Cause:  A conversion of character data from ASCII to EBCDIC failed.

Action:  Verify that the column definitions are correct.

 

OGG-01350: Could not convert EBCDIC data to ASCII

Cause:  A conversion of character data from EBCDIC to ASCII failed.

Action:  Verify that the column definitions are correct.

 

OGG-01351: Could not convert CHAR/VARCHAR to NCHAR/NVARCHAR Cause: Invalid character data was found during mapping from a CHAR/VARCHAR column to a target NCHAR/NVARCHAR column.

Action: Fix the source column data, or use the REPLACEBADCHAR parameter in the Extract and Replicat parameter files.

 

OGG-01352: Could not convert NCHAR/NVARCHAR to CHAR/VARCHAR Cause: Invalid character data was found during mapping from a NCHAR/NVARCHAR column to a target CHAR/VARCHAR column.

Action: Fix the source column data, or use the REPLACEBADCHAR parameter in the Extract and Replicat parameter files.

 

OGG-01353: Could not convert CLOB/TEXT to NCLOB/NTEXT Cause: An error occurred while converting single-byte character data to multi-byte character data.

Action: Check the column mapping for incorrect specifications, especially if it contains textual LOB data, and determine whether the character sets involved are compatible.

 

OGG-01354: Could not convert NCLOB/NTEXT to CLOB/TEXT Cause: An error occurred while converting multi-byte character data to single-byte character data.

Action: Check the column mapping for incorrect specifications, especially if it contains textual LOB data, and determine whether the character sets involved are compatible.

 

OGG-01355: Following CHAR/NCHAR conversion is being used

 

 

Cause: Oracle GoldenGate is converting character data. Informational only.

Action: None

 

OGG-01356: CHAR/VARCHAR: {0}

Cause: Character data is in the format of the specified character set. Informational only.

Action: None

 

OGG-01357: CHAR/VARCHAR: Default

Cause: Character data is in the format of the default character set. Informational only.

Action: None

 

OGG-01358: NCHAR/NVARCHAR: UTF-16/UTF-8

Cause: The multibyte data is in the format of UTF-16/UTF-8. Informational only.

Action: None

 

OGG-01359: Following EBCDIC/ASCII conversion is being used

Cause: Oracle GoldenGate is converting data between EBCDIC and ASCII. Informational only.

Action: None

 

OGG-01360: ASCII: {0}

Cause:  The data is in the format of the specified ASCII character set.

Action: None

 

OGG-01361: ASCII: Default

Cause: The data is in the format of the default ASCII character set. Informational only.

Action: None

 

OGG-01362: EBCDIC: {0}

Cause: The data is in the format of the specified EBCDIC character set. Informational only.

Action: None

 

OGG-01363: EBCDIC: Default

Cause: The data is in the format of the default EBCDIC character. Informational only.

Action: None

 

OGG-01364: No opening parenthesis was found for the {0} {1} parameter. Cause: An opening parenthesis is missing from the beginning of the specified parameter option.

Action: Add the parenthesis. See the Oracle GoldenGate reference documentation for correct syntax. To test for correct syntax in a parameter file, add the CHECKPARAMS parameter to the first line of the parameter file, save the file, and then start the process. The process stops automatically after the test is finished. To determine if there were syntax errors, view the process report file. Correct the syntax errors in the parameter file. To test again,

 

 

repeat these steps. Remove CHECKPARAMS when you are finished testing syntax.

 

OGG-01365: No closing parenthesis was found for the {0} {1} parameter.

Cause: A closing parenthesis is missing from the end of the specified parameter option.

Action: Add the parenthesis. See the Oracle GoldenGate reference documentation for correct syntax. To test for correct syntax in a parameter file, add the CHECKPARAMS parameter to the first line of the parameter file, save the file, and then start the process. The process stops automatically after the test is finished. To determine if there were syntax errors, view the process report file. Correct the syntax errors in the parameter file. To test again, repeat these steps. Remove CHECKPARAMS when you are finished testing syntax.

 

OGG-01366: Text was found before the opening parenthesis for the {0} {1} parameter.

Cause:  There is a syntax error for the specified parameter option.

Action: Look for characters that precede the opening parenthesis without a space between them, and make certain that the characters that precedure the opening parenthesis are also valid syntax. See the Oracle GoldenGate reference documentation for correct syntax. To test for correct syntax in a parameter file, add the CHECKPARAMS parameter to the first line of the parameter file, save the file, and then start the process. The process stops automatically after the test is finished. To determine if there were syntax errors, view the process report file. Correct the syntax errors in the parameter file. To test again, repeat these steps. Remove CHECKPARAMS when you are finished testing syntax.

 

OGG-01367: Length of CSN {0}, {1,number,0}, from input data source not equal to that of previous CSN, {2,number,0}

Cause:  There is a possible memory corruption or invalid data in the trail.

Action:  Contact Oracle Support.

 

OGG-01368: Could not truncate file “{0}” at RBA {1,number,0} (error

{2,number,0}, {3})

Cause:  The process could not truncate the trail during recovery.

Action: Check for a full disk, disk failure, network failure, or other system-related problem.

 

OGG-01369: DDL operation mapped to target database [{0}], new DDL operation [{1}]

Cause: Replicat successfully applied the DDL operation to the specified target. Informational only.

Action: None

 

OGG-01370: User requested START SKIPTRANSACTION. The current transaction will be skipped. Transaction ID {0}, position Seqno

{1,number,0}, RBA {2,number,0}.

Cause: The START REPLICAT command was issued with the SKIPTRANSACTION option. Replicat will skip the specified transaction in the trail, which is the first one after its expected startup point. All operations from the first transaction are excluded. If the MAXTRANSOPS parameter is also being used for this Replicat, it is possible that the process will start to read the

 

 

trail file from somewhere in the middle of a transaction. In that case, the remainder of the partial transaction is skipped, and Replicat resumes normal processing from the next begin-transaction record in the file.

Action: None

 

OGG-01371: No discard file specified. Records discarded due to SKIPTRANSACTION will not be logged.

Cause: The START REPLICAT command was issued with the SKIPTRANSACTION option, but because a discard file is not specified in the parameter file, the skipped operations cannot be persisted to a file.

Action: None, unless you want future SKIPTRANSACTION transactions to be logged. In that case, stop Replicat and specify a discard file with DISCARDFILE, then restart the process.

 

OGG-01372: User requested start at CSN {0}

Cause: A START REPLICAT command was issued with the ATCSN option to start processing beginning with the transaction that has the specified CSN (Commit Sequence Number). All transactions before this one are skipped.

Action: None

 

OGG-01373: User requested start after CSN {0}

Cause: A START REPLICAT command was issued with the AFTERCSN option to start processing at the transaction immediately after the one that has the specified SCN (Commit Sequence Number). All transactions in the trail up to, and including the one with the specified SCN, are skipped.

Action: None

 

OGG-01374: Transaction delivery commencing at position Seqno

{0,number,0}, RBA {1,number,0}, Transaction ID {2}, CSN {3},

{4,number,0} transaction(s) skipped.

Cause: A START REPLICAT command was issued with the ATCSN or AFTERCSN option. Replicat is starting processing at the specified transaction in the trail. The number of transactions that were skipped is stated in the message.

Action: None

 

OGG-01375: Trail format does not support starting at a specific CSN. File header not found.

Cause: A START REPLICAT command was issued with the ATCSN or AFTERCSN option, but the format of the trail does not support these options. A trail file must have a version that is equal to, or lower than, that of the process that reads it, in this case Replicat. This indicates that the Oracle GoldenGate version of Replicat is older than the version of Extract.

Action:  Upgrade the Replicat version to use these options.

 

OGG-01376: Trail format does not support starting at a specific CSN. CSN token not found at position Seqno {0,number,0}, RBA {1,number,0}.

Cause: A START REPLICAT command was issued with the ATCSN or AFTERCSN option, but the format of the trail does not support these options. A trail file must have a version that is equal to, or lower than, that of the process that reads it, in this case Replicat. This indicates that the Oracle GoldenGate version of Replicat is older than the version of Extract.

Action:  Upgrade the Replicat version to use these options.

 

 

OGG-01377: CSN format supplied does not match the CSN format in the trail. CSN supplied {0}. Expecting {1} format CSN.

Cause: A START EXTRACT command was issued with the ATCSN or AFTERCSN option, but an invalid format was supplied for the CSN value. The CSN format that you supply must match the CSN format of the trail records, which is based on the CSN format of the source database.

Action: See the Oracle GoldenGate administration documentation for a list of CSN formats per database, and then re-issue the command with the correct CSN format.

 

OGG-01378: Unrecoverable DDL execution error encountered [{0}] Cause:  The process could not execute a DDL statement.

Action: If you cannot resolve the problem based on the error that is returned in the message, contact Oracle Support.

 

OGG-01379: Error {0,number,0} creating CSN instance. CSN {1}, DBID

{2,number,0}.

Cause: The CSN could not be resolved from the trail record. The trail file may be corrupted because of a disk or network failure.

Action:  Contact Oracle Support.

 

OGG-01380: Start parameters SKIPTRANSACTION, ATCSN, AFTERCSN

and FORCECURRENTPOSITION are mutually exclusive. Only one may be specified.

Cause: Only one of the specified parameters can be used in the START REPLICAT command. Note that FORCECURRENTPOSITION is not currently a valid parameter and should not be used.

Action:  Re-issue the command with only one of the options.

 

OGG-01381: The VAM compatibility level must be set via the TRANLOGOPTIONS VAMCOMPATIBILITY <level> parameter, where

<level> is a number starting at 1

Cause: A new Oracle GoldenGate Extract has been paired with an older TAM module, but TRANLOGOPTIONS VAMCOMPATIBILITY is not set in the Extract parameter file to support backward compatibility.

Action: Add the TRANLOGOPTIONS parameter with the VAMCOMPATIBILITY option set to 1. As an alternative, you can set the VAM compatibility to 1 with VAMInitialize, and then you can omit TRANLOGOPTIONS with VAMCOMPATIBILITY. To avoid the need to set the VAM compatibility, upgrade the TAM module to that of the Extract version.

 

OGG-01382: The number of alternate online logs being retrieved exceeds the number returned by the GG_ATTR_SESS_NUM_ALT_ONLINE_ LOGS session object attribute of {0,number,0}.

Cause:  Too many alternate online logs are specified.

Action: Edit the Extract parameter file and remove some of the log specifications so that the value is within the specified range, and then restart Extract.

 

OGG-01383: The number of alternate log files must be retrieved via the GG_ATTR_SESS_NUM_ALT_ONLINE_LOGS session object attribute before attempting to retrieve the individual log files.

 

 

Cause: The VAM module tried to retrieve the alternate online log file names directly without initiating the required VAM API protocol. This is an internal programming error.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-01384: The maximum number of alternate online log file values allowed for the TRANLOGOPTIONS ALTONLINELOGS parameter is

{0,number,0}.

Cause:  Too many alternate online logs are specified.

Action: Edit the Extract parameter file and remove some of the log specifications so that the value is within the specified range, and then restart Extract.

 

OGG-01385: This command is not supported for VAM DDL implementation

Cause: The DDLDUMP command is not supported for the current database type.

Action: None

 

OGG-01386: Value for {0} must be between {1} and {2}.

Cause: The specified value is not within the range of valid values for the specified parameter.

Action: Edit the parameter file to specify a valid value, and then restart the process. See the Oracle GoldenGate reference documentation for usage guidelines, if needed.

 

OGG-01387: Table {0} has no valid key columns, added unconditional supplemental log group for all table columns.

Cause: Informational only. The table does not have a primary key or a unique key, and no KEYCOLS clause is defined for it. Oracle GoldenGate is using all of the columns as a key to ensure uniqueness, except for columns that cannot be used as part of a key. For column types that are excluded, see the Oracle GoldenGate installation documentation for your database type.

Action: None

 

OGG-01388: File header failed to construct tokens. File {0}, last offset

{1,number,0}, data: {2}

Cause:  The trail file header is corrupted.

Action: First, restart the process. If the problem still exists, contact Oracle Support.

 

OGG-01389: File header failed to parse tokens. File {0}, last offset

{1,number,0}, data: {2}

Cause:  There was an error while parsing the trail header.

Action:  Contact Oracle Support.

 

OGG-01391: Trail file {0} has been previously recovered in overwrite mode, and the current checkpoint is not quiescent. To change to append-mode recovery, perform a quiet checkpoint and restart

Cause: Extract is configured to write to the trail in overwrite mode, and the last commit position was not found. The process will continue to try to recover.

 

 

Action: None, if overwrite mode is to be retained; however, further errors may occur. Switch to append mode, if possible, which provides a more reliable recovery history. To change to append mode, see the RECOVERYOPTIONS parameter in the Oracle GoldenGate reference documentation.

 

OGG-01392: No position tokens found in trail {0}, RBA {1,number,0} Cause: The process could not find the last commit position in the trail. Action:  Contact Oracle Support.

OGG-01394: Using _ALLOWPKMISSINGROWCOLLISIONS may cause data corruption under certain conditions.

Cause: This parameter is being used with HANDLECOLLISIONS to skip key UPDATEs if the corresponding target row does not exist. This can compromise target data integrity and should not be done without guidance from an Oracle support analyst. _ALLOWPKMISSINGROWCOLLISIONS is an unpublished parameter and typically is only used with the guidance of Oracle

technical-support personnel.

Action: None

 

OGG-01395: Using _ALLOWPKMISSINGROWCOLLISIONS may cause data corruption under certain conditions while mapping from {0} to {1}.

Cause: This parameter is being used with HANDLECOLLISIONS to skip key UPDATEs if the corresponding target row does not exist. This can compromise target data integrity and should not be done without guidance from an Oracle support analyst. _ALLOWPKMISSINGROWCOLLISIONS is an unpublished parameter and typically is only used with the guidance of Oracle

technical-support personnel.

Action: None

 

OGG-01396: A complete after image is not available in {0} at rba

{1,number,0} in file {2}, while inserting a row into {3} due to missing target row for a key update operation. NOCOMPRESSUPDATES or FETCHOPTIONS FETCHPKUPDATECOLS may be specified in the EXTRACT parameter file to include a complete image for key update operations.

Cause: HANDLECOLLISIONS is enabled for Replicat. (For details, see the HANDLECOLLISIONS reference documentation.) This error indicates that a primary key was updated, but the record cannot be found on the target.

Replicat attempted to populate the missing row, instead of performing the update, but it failed to do so because not all of the column values were available in the trail.

Action: Manually apply the row values to the target, and then skip the record that errored by restarting Replicat with the ATCSN, AFTERCSN, or SKIPTRANSACTION option. If primary keys will continue to be updated, you can stop Extract, then add one of the following parameters to the Extract parameter file, and then start the process.

 

  • Use the NOCOMPRESSUPDATES parameter so that Extract writes all column values of all records to the trail (not just the changed values and key) so they can be used to populate rows for update-to-insert This adds more data to the trail than normal.
  • Use FETCHOPTIONS with the FETCHPKUPDATECOLS option. When Extract processes a primary key update, it fetches all of the column values so that they are available in the trail to turn the update into an insert. Note that if

 

 

there is Extract lag, the fetched values might not be correct for the snapshot that is represented by the trail record: Between the time when the original record gets logged (the one being processed from the trail) and when the fetch occurs, an update operation could change the value, and those are the values that will be fetched.

OGG-01397: {1}: The Token Buffer has exceeded the maximum size of

{0,number,0} bytes.

Cause: The TOKENS clause is too large. TOKENS supports a maximum character string of up to 2000 bytes. The data can be either a constant that is enclosed within double quotes or the result of an Oracle GoldenGate

column-conversion function.

Action: Edit the TOKENS clause to reduce the character string, if possible. If using the result of a column-conversion function, you might need to select alternate input criteria that does not produce output that is too long.

 

OGG-01398: Failed to open target trail file {0}, at RBA {1,number,0}; ALTER EXTRACT assumed. Trail file will be created

Cause:  The process could not find a remote trail.

Action:  Contact Oracle Support.

 

OGG-01399: DDL of size {0,number,0} cannot be used with this trail format, please use newer trail format

Cause: The version of the trail is older than the version of Extract, and the current trail version does not support the maximum DDL size that Extract does.

Action: To upgrade the trail to the correct format, issue the ALTER EXTRACT command with the ETROLLOVER option to start a new trail file that is of the correct format, and then restart Extract. Note that the version of the process that reads this trail must be at least the same version as the trail, so you might need to upgrade that process and any downstream processes.

 

OGG-01400: Database operation failed: {0}. ODBC error: SQLCODE

{2,number,0}. ODBC error detail is not available – please check that the ODBC configuration is complete, including the DB2 BIND for ODBC plans & packages. {1}

Cause: This indicates a possible invalid or incomplete DB2 ODBC configuration. This situation is seen as error -805 and there is no additional detail available.

Action: Check the DB2 ODBC configuration, plans, and packages to ensure they are valid and complete.  Restart the process after fixing these issues.

 

OGG-01401: Database operation failed: {0}. ODBC error: SQLCODE

{2,number,0}. ODBC error detail is not available – please check that the ODBC configuration is complete, including the DB2 BIND for ODBC plans & packages. {1}

Cause: This indicates a possible invalid or incomplete DB2 ODBC configuration. This situation is seen as error -805 and there is no additional detail available.

Action: Check the DB2 ODBC configuration, plans, and packages to ensure they are valid and complete.  Restart the process after fixing these issues.

 

OGG-01402: CACHEMGR: item allocation too large: {0,number,0} >

{1,number,0} (max single allocation)

 

 

Cause:  The size of the row data or LOB exceeded the allowed maximum.

Action: Double the value specified with the CACHESIZE option of the CACHEMGR parameter. If the problem persists, contact Oracle Support.

 

OGG-01403: Error constructing IPC message {0}. Last offset is

{1,number,0}

Cause: There was an error getting the last CSN from the currently active remote trail.

Action:  Contact Oracle Support

 

OGG-01404: Error parsing IPC message {0}. Message length is

{1,number,0}, last offset {2,number,0}

Cause: There was an error getting the CSN and other information about the last transaction from the currently active remote trail.

Action:  Contact Oracle Support

 

OGG-01405: Empty commit sequence number (CSN) timestamp detected in target file {0}, at RBA {1,number,0}

Cause: The process could not find the timestamp of the CSN for the last transaction.

Action:  Contact Oracle Support

 

OGG-01406: Invalid commit sequence number (CSN) timestamp detected in target file {0}, at RBA {1,number,0}

Cause: The process could not convert the timestamp (in string form) of the CSN of the last transaction to a numeric value.

Action:  Contact Oracle Support

 

OGG-01407: Setting current schema for DDL operation to [{0}]

Cause: The process is setting the schema for the DDL operation. This is an informational message.

Action: None

 

OGG-01408: Restoring current schema for DDL operation to [{0}] Cause: Replicat is setting the schema for DDL operations to the one that is specified. This is informational only.

Action: None

 

OGG-01409: Unable to detect missing target row for update for table {0} because there are no modifiable columns, at RBA {1,number,0}, in file

{2}. NOCOMPRESSUPDATES may be specified in the EXTRACT parameter file to include a complete image for update operations. Cause:  Replicat could not perform the update, probably because the source

and target tables do not have a primary or unique key (or a KEYCOLS clause)

and, therefore, Replicat could not locate the target row. By default, Extract only writes the primary key, unique key, or KEYCOLS columns to the trail (plus the changed columns), which provides enough information for the Replicat SQL operation for updates. However, without a key, Replicat only has the change data, which is not enough.

Action: You can do one of the following: Use the Extract NOCOMPRESSUPDATES parameter to send all of the columns to the trail, so that when a table definition does not include a primary key or unique index, Replicat can use all of the columns as a key. Alternatively, you can define a

 

 

substitute key for the table by using a KEYCOLS clause in the TABLE parameter.

 

OGG-01410: Unable to apply NOOP update for table {0} because there are no modifiable columns, at RBA {1,number,0}, in file {2}.

NOCOMPRESSUPDATES may be specified in the EXTRACT parameter file to include a complete image for update operations.

Cause: Replicat could not perform the update, probably because the source and target tables do not have a primary or unique key (or a KEYCOLS clause) and, therefore, Replicat could not locate the target row. By default, Extract only writes the primary key, unique key, or KEYCOLS columns to the trail (plus the changed columns), which provides enough information for the Replicat SQL operation for updates. However, without a key, Replicat only has the change data, which is not enough.

Action: You can do one of the following: Use the Extract NOCOMPRESSUPDATES parameter to send all of the columns to the trail, so that when a table definition does not include a primary key or unique index, Replicat can use all of the columns as a key. Alternatively, you can define a substitute key for the table by using a KEYCOLS clause in the TABLE parameter.

 

OGG-01411: Cannot convert input file {0} with format {1} to output file {2} with format {3}

Cause:  The output trail of the data pump has a different format (version) than the input trail of the data pump. The input and output trail formats must be identical for a data pump.

Action: The FORMAT RELEASE option of EXTFILE or EXTTRAIL and RMTFILE or RMTTRAIL must be the same when associated with a data pump. For more information, see the Oracle GoldenGate reference documentation.

 

OGG-01412: Invalid query specified: Large objects cannot be tokenized with the getval function in SQLEXEC statements.

Cause: Large object types (LOBs) are not supported by GETVAL or SQLEXEC for this database system.

Action: Use a supported data type for the SQLEXEC query. See the SQLEXEC reference documentation for supported data types.

 

OGG-01413: Missing argument for the shell command.

Cause: The SHELL action of EVENTACTIONS does not include a valid argument to execute.

Action:  For the SHELL command, specify a valid command or script.

 

OGG-01414: CACHEMGR: tran id: 0 length memtran: 0x{0}

Cause: A primary “key” (identifier) is not present in the captured data.

Action:  Open a support case with Oracle GoldenGate.

 

OGG-01415: CACHEMGR: secondary tran id: 0 length tran id: {0} Cause: A secondary “key” (identifier) is not present in the captured data. Action:  Open a support case with Oracle GoldenGate.

 

 

OGG-01416: File {0}, with format {1}, does not match current format specification of {2}. Modify the parameter file to specify format {1} or issue ETROLLOVER prior to restart.

Cause: The version of Extract and the version of the output file or trail do not match. Extract may have been upgraded to a newer version. By default, Extract expects the trail version to be the same as its own version; otherwise a different version must be specified in the parameter file if you want to retain backward compatibility for an older Replicat.

Action: You have two choices, depending on whether the Replicat process is the same version as the Extract proces, or whether it is older: To continue using an older Replicat process, you must specify the FORMAT option in the RMTTRAIL, EXTTRAIL, RMTFILE, or EXTFILE parameter, depending on which is being used. If you are upgrading Replicat to the same version of Extract, issue the ALTER EXTRACT comand with the ETROLLOVER option in GGSCI before you start Extract. The rollover sets the trail format to the same as that of the new Extract. For more information, see the Oracle GoldenGate reference documentation for these parameters.

 

OGG-01417: CACHEMGR: duplicate transaction secondary key: {1} primary key: {0}

Cause: The Oracle GoldenGate object pool in memory already contains an object with the same secondary identifier.

Action: Determine whether old (already processed) transaction data was processed by Extract. If you are certain that the transaction logs are not corrupted, open a support case with Oracle.

 

OGG-01418: Unsupported datatype {0} ({1,number,0}) found in UDT attribute {2}.

Cause: An NCLOB, NCHAR, or NVARCHAR2 datatype is defined in the object table. These data types are not supported.

Action:  Exclude the UDT from the Oracle GoldenGate configuration.

 

OGG-01419: Source table {0} is mapped to multiple targets. Combination of EBCDIC and non EBCDIC targets is not supported.

Cause: The source table is mapped to multiple targets, but the encoding is specified differently for each target. One is specified as EBCDIC but the other is not.

Action: Change the encoding so that it is the same for all targets (either EBCDIC or ASCII). To keep the existing configuration, use different Extract groups for each encoding scheme.

 

OGG-01420: CACHEMGR: duplicate transaction primary key: {0} Cause: The Oracle GoldenGate object pool in memory already contains an object with the same unique identifier, typically a transaction identifier.

Action: Determine whether old (already processed) transaction data was processed by Extract. If you are certain that the transaction logs are not corrupted, open a support case with Oracle.

 

OGG-01421: CACHEMGR: no primary key

Cause: The Oracle GoldenGate memory manager cannot ascertain a unique identifier for the transaction or object that Extract processed.

Action:  Open a support case with Oracle.

 

 

OGG-01422: CACHEMGR: no secondary key primary key: {0}

Cause: The length of a secondary key was provided in the transaction record, but no secondary key could be found by the memory manager.

Action:  Open a support case with Oracle.

 

OGG-01423: No valid default archive log destination directory found for thread {0}

Cause: Extract could not find the archive file that it needs to capture data from, because the expected default location does not exist.

Action: If you believe the archives are in their default location, verify that it has not been deleted or renamed. If either of these conditions exists, restore the default name. Otherwise, if the archives are stored in a directory that has a non-default name, you can specify that location with options of the TRANLOGOPTIONS parameter.

 

OGG-01425: Missing context item number {0,number,0}, ‘{1}’, for message issued from line {3,number,0} of ‘{2}’

Cause:  Internal error: An expected message token is missing.

Action:  Contact Oracle Support.

 

OGG-01426: DDL operation excluded by user exit [{0}], optype [{1}], objtype [{2}], objowner [{3}], objname [{4}]

Cause: The specified user exit excluded the specified DDL. This is informational only.

Action: None

 

OGG-01427: {1} ignored when {0} is used

Cause: The specified parameter is incompatible with another parameter in the process configuration and was ignored.

Action:  Remove the parameter.

 

OGG-01428: Reached maximum number of retries ({0,number,0}) on Oracle error {1,number,0}

Cause: The number of retries that is specified with the MAXRETRIES option of the REPERROR parameter has been reached.

Action: Try to fix the problem with the data that is causing the error. If the problem cannot be resolved, you can change the REPERROR options to discard the operation so that you can examine it and apply it manually, if possible.

You can also START REPLICAT with the SKIPTRANSACTION, ATCSN, or AFTERCSN option to skip the transaction.

 

OGG-01429: Aborting BATCHSQL transaction, Mapping error

Cause: There was an error mapping the source table to the target table while BATCHSQL is in effect. The process will revert to normal processing.

Action: None

 

OGG-01430: Aborting BATCHSQL transaction, Filter not passed

Cause: There was an error in the filter logic while BATCHSQL is in effect. The process will revert to normal processing.

Action: None

 

OGG-01431: Aborted grouped transaction on ‘{0}’, Mapping error

 

 

Cause: There was an error mapping the source table to the target table while applying a grouped transaction.

Action:  Resolve the mapping error and restart the process.

 

OGG-01432: Aborted grouped transaction on ‘{0}’, Filter not passed Cause:  There was an error in the filter logic.

Action: Fix the filter specification in the parameter file, and then restart the process.

 

OGG-01433: Failed to validate table {0}. The table is compressed and extract will not be able to extract data from Oracle logs

Cause: Oracle GoldenGate does not support tables created with table compression or OLTP table compression.

Action: Remove the table from the Extract and Replicat configurations, and then restart the processes.

 

OGG-01434: {0}

Cause:  The specified error occurred when the process tried to map memory.

Action: If you cannot resolve the error based on the content of the message, such as add system memory resources, contact Oracle Support.

 

OGG-01435: mmap: len: 0x{0} prot: 0x{1} flags: 0x{2} fd: {3,number,0} off: 0x{4} errno: {5,number,0} ({6})

Cause:  Internal warning. A memory mapping operation failed.

Action: Verify that the installation directory is on a file system that supports memory mapped files.

 

OGG-01436: Detected and skipped incomplete log write at end of Oracle log with sequence# of {0,number,0} and log write starting rba of

{1,number,0}

Cause: The end of the file was reached before the log writer buffer was completed.

Action: Add the TRANLOGOPTIONS parameter with the OPENARCHIVEIMMEDIATE option to the Extract parameter file, so that the process uses the archive log immediately.

 

OGG-01437: Failed to modify trail record image prior to write to trail file

{0}

Cause: The in-memory trail record could be corrupted, causing an update to its fields or other properties to fail.

Action: Save the checkpoint file and the trail files, and then contact Oracle Support.

 

OGG-01438: Checkpoint marked as from graceful shutdown, but records found after checkpoint in trail {0}. Expected EOF Seqno {1,number,0}, RBA {2,number,0}. Found Seqno {3,number,0}, RBA {4,number,0}

Cause: The process found records that were generated after the checkpoint in the trail. This is just a warning. A correction will be attempted.

Action: None

 

OGG-01439: The key columns available in the table {0} may not guarantee uniqueness.

 

 

Cause: The table does not have a primary or unique key, and using all of the columns of the table as a key may not ensure uniqueness of rows.

Action:  Define a primary or unique key if possible. If you cannot specify a key, you can use the DBOPTIONS parameter with the LIMITROWS option to ensure that Replicat only updates one row in cases where multiple target rows could match the Replicat WHERE clause specification; however, consider any data integrity issues that can be incurred.

 

OGG-01440: The key columns available in the table {0} may not guarantee uniqueness due to exclusion of virtual column(s).

Cause: A key column contains a virtual column. Oracle GoldenGate excludes this column type from the key definition. If the virtual column contributes to the uniqueness of the key, then excluding it leaves open the possibility for data inaccuracies on the target.

Action: None, if you know that excluding nullable columns does not compromise uniqueness. To view the rules of Oracle GoldenGate key selection, see the installation and setup guide for the database type.

 

OGG-01441: The key columns available in the table {0} may not guarantee uniqueness due to exclusion of nullable column(s).

Cause: A key column contains one or more nullable column types. Oracle GoldenGate will accept nullable columns in a unique key in the absence of more rigid key definitions, but if the nullable column contributes to the uniqueness of the key, then excluding them leaves open the possibility for data inaccuracies on the target. By virtue of their definition, nullable columns cannot guarantee uniqueness.

Action: None, if you know that excluding these columns does not compromise uniqueness. To view the rules of Oracle GoldenGate key selection, see the installation and setup guide for the database type.

 

OGG-01442: The key columns available in the table {0} may not guarantee uniqueness due to exclusion of virtual and nullable column(s).

Cause: A key column contains one or more of the specified column types. Oracle GoldenGate accepts nullable columns in a key definition if no other key exists, but does not accept virtual column types in a key definition. If the virtual column helps provide uniqueness to the key, then exclusion of the virtual column leaves open the possibility for data inaccuracies on the target. Nullable columns by virtue of their definition cannot be considered unique.

Action: None, if you know that excluding these columns does not compromise uniqueness. To view the rules of Oracle GoldenGate key selection, see the installation and setup guide for the database type.

 

OGG-01443: The key columns available in the table {0} may not guarantee uniqueness due to exclusion of virtual, nullable, or other unusable column(s).

Cause: A key column contains one or more of the specified column types. Oracle GoldenGate accepts nullable columns in a key definition if no other key exists, but does not accept the other specified column types in a key definition. If one or more columns of these types helps to provide uniqueness to the key, the exclusion of them leaves open the possibility for data inaccuracies on the target. Nullable columns by virtue of their definition cannot be considered unique.

 

 

Action: None, if you know that excluding these columns does not compromise uniqueness. To view the rules of Oracle GoldenGate key selection, see the installation and setup guide for the database type.

 

OGG-01444: Error in replicating sequence value [{0}]

Cause: The specified database error occurred while the process was replicating a sequence value.

Action: Resolve the database error that is indicated in the error message and then restart the process.

 

OGG-01445: Buffer overflow (max buffer size {0,number,0}), no xmltype data extracted

Cause: The length of the embedded XML data exceeds the size of the memory buffer that is specified with the XMLBUFSIZE option of DBOPTIONS.

Action:  Increase the value of this parameter, and then restart Extract.

 

OGG-01446: Object table {0} is not supported for this database version.

Cause: An object table was specified in an Oracle GoldenGate parameter file or command, and the Oracle version is prior to release 10.2.0.2. Object tables are not supported for those database versions.

Action:  Remove the object table from the Oracle GoldenGate configuration.

 

OGG-01447: Unsupported opaque type ({0}) found

Cause: An XMLTYPE is part of the UDT that is being processed. XMLTYPE is not supported.

Action:  Remove the XMLTYPE from the UDT or do not replicate the UDT.

 

OGG-01448: XmlLoadDom error uploading XML data ({0}) for col:{1} attr:{2} type:{3}

Cause:  Extract could not process the specified XML data.

Action:  Contact Oracle Support.

 

OGG-01449: Scan failed in trail file {0}, with scan start seqno {1,number,0}, rba {2,number,0}

Cause: While trying to find the last commit position in a remote trail, the process encountered an internal scan error.

Action:  Contact Oracle Support.

 

OGG-01450: Unrecognized return value ‘{0,number,0}’ from scan of trail file {1}, with scan start seqno {2,number,0}, rba {3,number,0}

Cause: While trying to find the last commit position in a remote trail, the process encountered an unexpected return value.

Action:  Contact Oracle Support.

 

OGG-01451: {0}

Cause: This is a generic informational message that is used to report various different conditions.

Action: Take corrective action based on the message text. Look for related messages that were logged along with this message. If you cannot resolve the problem based on the context provided in the messages, contact Oracle Support.

 

OGG-01453: Database login information not specified in parameter file.

 

 

Cause:  The USERID parameter is missing from the parameter file.

Action: Add the USERID parameter according to the directions in the Oracle GoldenGate reference documentation.

 

OGG-01454: Unable to lock file “{0}” (error {2,number,0},

{3}).{1,choice,0#|1# Lock currently held by process id (PID)

{1,number,0}.}

Cause: An attempt by the process to use the operating system to lock a file failed because the file is in use by another process. If possible, the identifier of the offending process is shown.

Action: Make certain that the file is supposed to be in the Oracle GoldenGate configuration, and that a typo did not cause a different file to be used. Verify that the file system that is being used is supported by Oracle GoldenGate.

 

OGG-01455: Object table {0} is not supported for this database version.

Cause: An object table was specified in an Oracle GoldenGate parameter file or command, and the Oracle version is prior to release 10.2.0.2. Object tables are not supported for those database releases.

Action:  Remove the object table from the Oracle GoldenGate configuration.

 

OGG-01456: Limit of maximum LOB columns ({0,number,0}) exceeded.

Cause: The number of columns with LOBs exceeds the limit that the system can handle.

Action:  Contact Oracle Support.

 

OGG-01457: {1} cannot be called with the VAM compatibility level set to

{0,number,0}

Cause: The VAM module and the VAM API kernel in Extract have different compatibility levels and cannot be used together.

Action: Add the TRANLOGOPTIONS parameter with the VAMCOMPATIBILITY option to the Extract parameter file to set the compatibility level for the VAM module. If the problem persists, contact Oracle Support.

 

OGG-01458: The VAM compatibility level of {0,number,0} set via the TRANLOGOPTIONS VAMCOMPATIBILITY parameter was

overridden by the VAM client module in VAMInitialize and set to

{1,number,0}

Cause: VAMInitialize overrides the TRANLOGOPTIONS VAMCOMPATIBILITY setting.

Action: None if the VAMInitialize version is correct. Otherwise, make the necessary changes to reflect the correct version. To support backward compatibility with an older TAM module, set TRANLOGOPTIONS with VAMCOMPATIBILITY to a value of 1, or set the value with VAMInitialize.

 

OGG-01459: The VAM compatibility level must be set via the TRANLOGOPTIONS VAMCOMPATIBILITY <level> parameter, where

<level> is a number starting at 1

Cause: A new Oracle GoldenGate for Teradata Extract has been paired with an older TAM module.

Action: To support backward compatibility with the older module, set TRANLOGOPTIONS with VAMCOMPATIBILITY to a value of 1. If you set the VAM compatibility with VAMInitialize, it does not have to be set with

 

 

TRANLOGOPTIONS. This parameter is not needed if the Extract and the TAM module are the same version.

 

OGG-01462: Requested TDS packet size of {0,number,0} bytes changed to

{1,number,0} by SQL Server

Cause: The request for the TDS packet size was returned successfully, but the value was changed by the database server to the value specified in the warning.

Action: This is a warning message, so no immediate action is needed. If the problem persists, contact Oracle Support.

 

OGG-01464: mmap: len: 0x{0} prot: 0x{1} flags: 0x{2} fd: {3,number,0} off: 0x{4} errno: {5,number,0} ({6})

Cause: The operating system could not create or allocate a shared memory region of the given size and operation flags. The error value indicates the specific error mode. This operation can fail due to exhausted disk space, the Oracle GoldenGate installation being on a shared (NFS) virtual device, or the associated backing file being in use by another process.

Action:  Contact Oracle Support.

 

OGG-01465: Exceeded transaction timeout threshold ({2,number,0} seconds) waiting for source transaction with XID {3} and CSN {4} at RBA {1,number,0}, in file {0}.

Cause:  Replicat has been at the same position for a period of time that is equal to, or greater than, the value that is specified with the TRANSACTIONTIMEOUT parameter. Informational to indicate the beginning of the transaction timeout recovery process.

Action: None

 

OGG-01466: Exceeded transaction timeout threshold ({2,number,0} seconds) waiting for source transaction at RBA {1,number,0}, in file

{0}.

Cause:  Replicat has been at the same position for a period of time that is equal to, or greater than, the value that is specified with the TRANSACTIONTIMEOUT parameter. Informational to indicate the beginning of the transaction timeout recovery process.

Action: None

 

OGG-01467: Recovered to start of partial source transaction with XID {2} and CSN {3} at RBA {1,number,0}, in file {0}. Waiting for more data.

Cause: The value that is specified with the TRANSACTIONTIMEOUT parameter in the Replicat parameter file was reached, and Replicat did not receive the end-of-transaction record. The transaction timeout recovery process successfully backed out the open transaction and recovered to the logical

end-of-file, and is now waiting for more data.

Action: None

 

OGG-01468: Recovered to start of partial source transaction at RBA

{1,number,0}, in file {0}. Waiting for more data.

Cause: The value that is specified with the TRANSACTIONTIMEOUT parameter in the Replicat parameter file was reached, and Replicat did not receive the end-of-transaction record. The transaction timeout recovery process successfully backed out the open transaction and recovered to the logical

end-of-file, and is now waiting for more data.

 

 

Action: None

 

OGG-01469: New data detected after RBA {1,number,0}, in file {0}. Resuming delivery for transaction with XID {2} and CSN {3}.

Cause: Applies to TRANSACTIONTIMEOUT processing. Additional data has been received while the transaction timeout recovery process was waiting at the logical end-of-file. This message marks the transition from transaction timeout recovery back to normal processing.

Action: None

 

OGG-01470: New data detected after RBA {1,number,0}, in file {0}.

Resuming delivery.

Cause: Applies to TRANSACTIONTIMEOUT processing. Additional data has been received while the transaction timeout recovery process was waiting at the logical end-of-file. This message marks the transition from transaction timeout recovery back to normal processing.

Action: None

 

OGG-01471: TRANSACTIONTIMEOUT cannot be less than EOFDELAY. Cause: The value that is specified for TRANSACTIONTIMEOUT is less than the value of the EOFDELAY parameter. It must be greater than the

EOFDELAY parameter.

Action: Edit the Replicat parameter file to set TRANSACTIONTIMEOUT to a value that is greater than that of EOFDELAY, and then restart Replicat.

 

OGG-01472: TRANSACTIONTIMEOUT cannot be greater than 1 week.

Cause: The TRANSACTIONTIMEOUT parameter is being used in the Replicat parameter file, but the value that was specified is greater than the maximum allowed value of one week (seven days).

Action: Change the TRANSACTIONTIMEOUT value to something between one second and one week, and then restart Replicat.

 

OGG-01473: DDL is too large – DDL IGNORED, details: {0}.

Cause: The DDL statement exceeds the size that is supported by Oracle GoldenGate and will be ignored.

Action: Depends on whether the discarding of the DDL has an effect on any subsequent DML. Future DML may cause an error if discarding the DDL causes metadata inconsistencies. In any case, you can apply the DDL on the target manually. You might need to restart processes if the condition caused an error.

 

OGG-01474: Cannot automatically start {0} {1}, which abended due to an out of order transaction. Issue ETROLLOVER to advance the output trail sequence past the current trail sequence and restart. Then, use ALTER EXTSEQNO on the subsequent pump EXTRACT, or REPLICAT, process group to start reading from the new trail file created by ALTER ETROLLOVER; the downstream process will not automatically switch to the new trail file.

Cause: Manager cannot start the specified process. The transactions in the current trail file are out of order. One possible cause is that Extract was configured to write to this trail, and then was reconfigured to write to a different trail, but was subsequently reconfigured to write the original trail again. It is also possible that Extract was repositioned backward in the transaction log and the data from the new position was appended to the end of

 

 

the current trail file. You need to skip this record, and then reposition Replicat to start at the next one.

Action:  Take the following steps:

 

  1. Stop any Extract processes that should not write to this trail, and change their configuration to write to a different trail. See the Oracle GoldenGate administration documentation if you need help with how to configure Extract and
  2. Stop the Extract that should write to this
  3. Issue the ALTER EXTRACT command with the ETROLLOVER option for the valid Extract to start a new trail
  4. Restart
  5. Issue the ALTER REPLICAT or ALTER EXTRACT command (depending on whether Replicat or a data pump Extract reads the trail) with the EXTSEQNO option and specify the sequence number of the new trail
  6. Start Replicat or the data

OGG-01475: Cannot automatically restart {0} {1}, which abended due to an out of order transaction. Issue ETROLLOVER to advance the output trail sequence past the current trail sequence and restart. Then, use ALTER EXTSEQNO on the subsequent pump EXTRACT, or REPLICAT, process group to start reading from the new trail file created by ALTER ETROLLOVER; the downstream process will not automatically switch to the new trail file.

Cause: Manager cannot start the specified process. The transactions in the current trail file are out of order. One possible cause is that Extract was configured to write to this trail, and then was reconfigured to write to a different trail, but was subsequently reconfigured to write the original trail again. It is also possible that Extract was repositioned backward in the transaction log and the data from the new position was appended to the end of the current trail file. You need to skip this record, and then reposition Replicat to start at the next one.

Action:  Take the following steps:

 

  1. Stop any Extract processes that should not write to this trail, and change their configuration to write to a different trail. See the Oracle GoldenGate administration documentation if you need help with how to configure Extract and
  2. Stop the Extract that should write to this
  3. Issue the ALTER EXTRACT command with the ETROLLOVER option for the valid Extract to start a new trail
  4. Restart
  5. Issue the ALTER REPLICAT or ALTER EXTRACT command (depending on whether Replicat or a data pump Extract reads the trail) with the EXTSEQNO option and specify the sequence number of the new trail
  6. Start Replicat or the data

OGG-01476: The previous run abended due to an out of order transaction. Issue ALTER ETROLLOVER to advance the output trail sequence past the current trail sequence number, then restart. Then, use ALTER EXTSEQNO on the subsequent pump EXTRACT, or REPLICAT,

 

 

process group to start reading from the new trail file created by ALTER ETROLLOVER; the downstream process will not automatically switch to the new trail file.

Cause: Somehow, the transactions in the current trail file are out of order. A different Extract might have been configured to write to this trail, and old data was overlaid with the new data. You will need to skip this record, and then reposition Replicat to start at the next one.

Action:  Take the following steps:

 

  1. Stop any Extract processes that should not write to this trail, and change their configuration to write to a different trail. See the Oracle GoldenGate administration documentation if you need help with how to configure Extract and
  2. Stop the Extract that is the valid writer for this
  3. Issue the ALTER EXTRACT command with the ETROLLOVER option to start a new trail
  4. Restart
  5. Issue the ALTER REPLICAT or ALTER EXTRACT command (depending on whether Replicat or a data pump Extract reads the trail) with the EXTSEQNO option and specify the sequence number of the new trail
  6. Start Replicat or the data

OGG-01477: Target does not support format {1} for file {0}. Reverting to format {2}

Cause: The process that reads this file is of an older version than that of the process that wrote the file. A trail or extract file must have a version that is equal to, or lower than, that of the process that reads it. In addition, the input file and output file of a data pump must be the same version. This message is informational only.

Action: None

 

OGG-01478: Output file {0} is using format {1}.

Cause: The trail or file that this process is writing to is using the specified trail format. Trail formats can vary from version to version of Oracle GoldenGate. This message is informational only.

Action: None

 

OGG-01482: DDL object type is not supported, type {0}

Cause: The specified database object is not supported by the Oracle GoldenGate DDL replication feature.

Action: Remove the object from the DDL parameter in the parameter file, and then restart the process.

 

OGG-01483: The key for table [{0}.{1}.{2}] contains one or more variable length columns. These columns may not have their pre-images written to the transaction log during updates. Please use KEYCOLS to specify a key for Oracle GoldenGate to use on this table.

Cause: The specified table does not have a clustered index and has variable length columns. Oracle GoldenGate will use the entire row as the key, so there is the potential for some before images to be lost if data gets stored off page.

 

 

Action:  Specify columns that contain unique values as key columns by using a KEYCOLS clause in the TABLE and MAP statements, or alternatively define a clustered index on the table. Note that if you define a clustered index, it is a DDL operation. DDL operations are not supported by Oracle GoldenGate for this database, so follow the instructions in the Oracle GoldenGate administration documentation for performing DDL on objects that are in an active replication configuration.

 

OGG-01484: Error adding item to transaction {0} for table={1}, op={2,number,0}, record id={3}, length={4,number,0}.

Cause: An internal error occurred in the Cache Object Manager (COM) when the process added an item to a transaction.

Action:  Contact Oracle Support.

 

OGG-01485: Error adding item to transaction

{0,number,0}:{1,number,0}:{2,number,0}, op={3,number,0}, record LSN={4,number,0}, length={5,number,0}.

Cause:  An internal error occurred.

Action:  Report the full message content to Oracle Support.

 

OGG-01487: DDL found, operation [{0}], start {1} [{2}], commit {1} [{3}]

instance [{4} ({5})], DDL seqno [{6}], marker seqno [{7}] Cause: A DDL operation was processed. Informational only. Action: None

OGG-01488: Wildcard schema in TARGET cannot use any characters other than asterisk (‘*’).

Cause: Only a single asterisk character can be used to specify a wildcarded Oracle schema name.

Action: See the rules for wildcarding in the Oracle GoldenGate reference documentation, and then make the appropriate corrections in the MAP statement.

 

OGG-01489: Could not add TRAN DATA for table, error [{1}], error code [{0,number,0}], operation [{2}]

Cause: The DDLOPTIONS parameter with the ADDTRANDATA option is specified in the Extract parameter file, and the ALTER TABLE command that adds the supplemental logging did not succeed because of an error.

Action: Correct the problem based on the database error that is returned. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01495: Error action for ADDTRANDATA already specified (ABEND, RETRYOP) [{0}]

Cause:  Both ABEND and RETRY are specified for ADDTRANDATA.

Action:  Remove one of these options. They are mutually exclusive.

 

OGG-01496: Failed to open target trail file {0}, at RBA {1,number,0} Cause: The process could not find a valid trail during the initial phase of recovery.

Action:  Contact Oracle Support.

 

OGG-01498: Aborting BATCHSQL transaction{0,choice,0#|1# in batch error mode}. Database error {1,number,0} ({2}).

 

 

Cause: BATCHERRORMODE processing was not able to apply the transaction successfully due to the specified database error, and is rolling back the transaction. Replicat will process the transaction in normal mode.

Action: None

 

OGG-01499: Aborting BATCHSQL transaction{0,choice,0#|1# in batch error mode}. {1}.

Cause: BATCHERRORMODE processing was not able to apply the transaction successfully by applying its conversion logic, and is rolling back the transaction. Replicat will process the transaction in normal mode.

Action: None

 

OGG-01500: Aborting BATCHSQL transaction{0,choice,0#|1# in batch error mode}. Detected inconsistent result: executed {1,number,0} operations in batch, resulting in {2,number,0} affected rows.

Cause: The batched operation resulted in possible data integrity issues based on the number of operations in the batch, versus the number of affected rows returned by the database response. The transaction is being rolled back, and Replicat will re-process the transaction in normal mode.

Action: None

 

OGG-01501: Aborting BATCHSQL transaction{0,choice,0#|1# in batch error mode}. Database error {1,number,0} ({2}). Temporarily disabling batch mode due to transient key update.

Cause: The batched transaction is being rolled back because the BATCHERRORMODE conversion processing resulted in a transient primary key update. (See the HANDLETPKUPDATE parameter documentation for more information on TPKU.) Replicat will revert to normal processing to apply this transaction.

Action: None

 

OGG-01502: Aborting BATCHSQL transaction{0,choice,0#|1# in batch error mode}. Database error {1,number,0} ({2}). Override of duplicate failed.

Cause: BATCHSQL is operating in BATCHERRORMODE, but there was a collision converting an insert to an update.

Action: To use BATCHERRORMODE, you must use the HANDLECOLLISIONS parameter in the Replicat parameter file to handle collisions caused by the conversions.

 

OGG-01503: Aborting BATCHSQL transaction{0,choice,0#|1# in batch error mode}. Mapping error.

Cause: The batched transaction is being aborted, and Replicat will revert to normal processing.

Action: None

 

OGG-01504: Aborting BATCHSQL transaction{0,choice,0#|1# in batch error mode}. Filter not passed.

Cause: The batched transaction is being aborted due to a filter error. Replicat will revert to normal processing.

Action: None

 

 

OGG-01505: OCI Error ({0,number,0}, {1}) maximum cursors exceeded, unable to prepare new statement for table {2}, query = {3}

Cause: The maximum number of cursors allowed by the MAXSQLSTATEMENTS parameter has been reached.

Action: If the database cursor limit permits, and there will be enough cursors for other applications, you can increase the value of MAXSQLSTATEMENTS. However, see the Oracle GoldenGate reference documentation before changing this parameter.

 

OGG-01506: Value ({0}) exceeds minimum value of column. Table {1}, column {2}.

Cause: A numeric conversion failed because the resulting negative value cannot be represented in the space provided, based on the catalog definition for the specified column.

Action: Examine any recent changes to the table. The catalog definition for the specified table may not match the data in the archive logs.

 

OGG-01507: Value ({0}) exceeds maximum value of column. Table {1}, column {2}.

Cause: A numeric conversion failed because the resulting positive value cannot be represented in the space provided, based on the catalog definition for the specified column.

Action: Examine any recent changes to the table. The catalog definition for the specified table may not match the data in the archive logs.

 

OGG-01508: Failed to initialize monitoring point service for process group

{0} (error {1,number,0}). Monitoring point publishing will be disabled. Cause: An Oracle GoldenGate process failed to initialize the shared memory for its monitoring point registry and service. This failure typically occurs if:

there is not enough disk space to host the backing file (Linux); there is not

enough memory to host the shared region; the backing file is being stored on an NFS mounted directory (Linux); or the system exhausted its allocation of available handles.

Action: For issues that relate to system resources, such as disk space and handles, increase the available resource by allocating more disk storage, by allocating more handles, or by reducing the consumption of those resources by other processes (as the case may be). For an NFS issue, either install Oracle GoldenGate on a local physical device or set the internal GLOBALS parameter

_TMPSTOREDIR to a directory on a local physical device.

 

OGG-01509: Failed to publish monitoring point value for “{0}” (error

{1,number,0}). Monitoring point publishing will be disabled.

Cause: An Oracle GoldenGate process could not establish a shared memory region to hold monitoring point statistics. This inability indicates corruption of the region.

Action: Check for a related message or messages (such as error OGG-01508) to determine how to resolve the problem. If there are no related messages, restart the process. If the error persists, contact Oracle Support.

 

OGG-01510: Failed to set monitoring point registry ID to “{0}” (error

{1,number,0})

 

 

Cause: An Oracle GoldenGate process could not establish a shared memory region to hold monitoring point statistics. This inability indicates corruption of the region.

Action: Check for a related message or messages (such as error OGG-01508) to determine how to resolve the problem. If there are no related messages, restart the process. If the error persists, contact Oracle Support.

 

OGG-01511: Failed to set process status to {0} (error {1,number,0})

Cause: An Oracle GoldenGate process could not establish a shared memory region to hold monitoring point statistics. This inability indicates corruption of the region.

Action: Check for a related message or messages (such as error OGG-01508) to determine how to resolve the problem. If there are no related messages, restart the process. If the error persists, contact Oracle Support.

 

OGG-01512: WILDCARDRESOLVE DYNAMIC parameter is mandatory for the generic database implementation of the VAM

Cause: In the VAM implementation, tables can only be looked up as they are encountered dynamically. The table metadata cannot be exchanged statically in the VAMInitialize function

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-01513: Positioning to {0}

Cause:  Extract is positioning to the specified sequence number.

Action: None

 

OGG-01514: Positioning to start

 

Cause: Extract is positioning to the start of the data source on startup, rather than to a specific sequence or time.

Action: None

 

OGG-01515: Positioning to begin time {0,date} {0,time}

Cause:  The process is being positioned to start at the specified timestamp.

Action: None

 

OGG-01516: Positioned to {0}, {1,date} {1,time}

Cause:  The process is now positioned to start at the specified timestamp.

Action: None

 

OGG-01517: Position of first record processed {0}, {1,date} {1,time} Cause: The processing began with the first record that has the specified timestamp.

Action: None

 

OGG-01518: Extract must be added with SOURCEISTABLE or SOURCEISFILE specified if run within GGSCI, or Extract should be run outside GGSCI in standalone mode.

Cause: A START EXTRACT command was issued to start an initial load with a parameter file that contains the SOURCEISTABLE (Windows and UNIX) or SOURCEISFILE (on the NonStop platform) parameter.

 

 

Action: The action depends on the intended load method, and you can read more about the Oracle GoldenGate load methods in the administration documentation. The possible actions are:

 

  • If loading data from a trail or file to Replicat for delivery of the load data, or if loading data from a trail or file to be read by a database load utility, you must include SOURCEISTABLE in the Extract parameter file, but start Extract from the command line, not
  • If loading data with the Oracle GoldenGate direct load method, or with a direct bulk load to SQL*Loader, you must specify SOURCEISTABLE as an option with the ADD EXTRACT command. Do not use SOURCEISTABLE in the parameter file. Start Extract from

OGG-01519: Waiting at EOF on input trail file {0}, which is not marked as complete; but succeeding trail file {1} exists. If ALTER ETROLLOVER has been performed on source extract, ALTER EXTSEQNO must be performed on each corresponding downstream reader.

Cause: Extract was upgraded, and an ALTER EXTRACT command with ETROLLOVER was issued to roll over the existing trail to a new file that is of the correct format for the new version. The process that reads the trail (data pump or Replicat) must be altered to start reading at the beginning of the new trail.

Action: Issue the ALTER EXTRACT or ALTER REPLICAT command (depending on the process) with the EXTSEQNO option, and specify the sequence number of the new trail.

 

OGG-01520: Rollover performed. For each affected output trail of Version 10 or higher format, after starting the source extract, issue ALTER EXTSEQNO for that trail’s reader (either pump EXTRACT or REPLICAT) to move the reader’s scan to the new trail file; it will not happen automatically.

Cause: Extract was upgraded, and an ALTER EXTRACT command with ETROLLOVER was issued to roll over the existing trail to a new file that is of the correct format for the new version. The process that reads the trail (data pump or Replicat) must be altered to start reading at the beginning of the new trail.

Action: Issue the ALTER EXTRACT or ALTER REPLICAT command (depending on the process) with the EXTSEQNO option, and specify the sequence number of the new trail.

 

OGG-01521: Scan resumed.

Cause: A trail was rolled over, and the reading process was altered to begin reading at the beginning of the new trail.

Action: None

 

OGG-01522: Non-zero value for delay required when calling {0}

Cause: This is an internal error and should not occur in production. A polling error occurred. Configuration of the Oracle GoldenGate error logging subsystem via the Activity Logging class can be set up so that a specific file is polled for every N milliseconds. If N is zero, it is considered a programming error and this message is issued.

Action:  Contact Oracle Support.

 

OGG-01523: Failed to initialize DTD for Activity Logging

 

 

Cause:  The gglog.dtd XML definition file is invalid in the installation folder.

Action:  Fix this file, or contact Oracle Support.

 

OGG-01525: Failed to open trace output file, ‘{0}’, error {1,number,0} ({2}) Cause:  The specified output file could not be opened.

Action:  Verify that the file permissions are adequate.

 

OGG-01526: Unknown appender, ‘{1}’, for logger, ‘{0}’, ignored in configuration file, ‘{2}’

Cause: The appender named by the ‘appender-ref’ element is not defined in the XML file.

Action: Specify one of the valid appender class names defined in gglog.dtd. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01528: Cannot access configuration file ‘{0}’, error {1,number,0} ({2}) Cause:  The specified XML configuration file cannot be accessed.

Action: Verify that the file permissions are adequate. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01530: MaxFileSize of ‘{0}’ in configuration file, ‘{1}’, must be between zero and 4GB

Cause: The Activity Logging XML file contains a MaxFileSize parameter for a RollingFileAppender that is not between 0 and 4GB (exclusive).

Action: Change the parameter value to be within the specified size range. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01531: MaxFileSize of ‘{0}’ in configuration file, ‘{1}’, has an invalid multiplier. Expected ‘KB’, ‘MB’, or ‘GB’.

Cause: The Activity Logging XML file contains a MaxFileSize parameter for a RollingFileAppender that has a suffix with a value other than ‘KB’, ‘MB’, or ‘GB’ in either upper or lower case.

Action: Change the suffix value to a valid size unit. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01532: Cannot locate XML configuration file, ‘{0}’

Cause: The Activity Logging XML file that is specified could not be located in the file system. Both the current directory and the application directory were searched.

Action: Find the configuration file, or create a new one. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01534: Error parsing XML configuration file, ‘{2}’, at line

{0,number,0}: {1}

Cause: The XML file that is used by Activity Logging is not well-formed. The specific reason is provided by the third-party XML library.

Action: Fix the XML error that is reported by the XML checker. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01535: Cannot use XML configuration file, ‘{0}’, document root inaccessible

Cause: The XML file was well-formed, valid, and successfully loaded, but the root of the document could not be determined.

 

 

Action: Correct the XML file. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01536: Unknown appender class name, ‘{1}’, for appender ‘{0}’ in configuration file ‘{2}’

Cause: An invalid class name was specified for an appender element in a Activity Logging XML configuration file.

Action: Specify one of the valid appender class names defined in gglog.dtd. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01537: Unknown parameter, ‘{2}’, for ‘{1}’ appender class in appender ‘{0}’ in configuration file ‘{3}’

Cause: An invalid or misspelled parameter name was encountered for an appender element in a Activity Logging XML configuration file.

Action: Specify one of the valid appender class parameters defined in gglog.dtd. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01538: Unknown layout class name, ‘{1}’, for appender ‘{0}’ in configuration file ‘{2}’

Cause: An invalid class name was specified for a layout element in a Activity Logging XML configuration file.

Action: Specify one of the valid layout class names defined in gglog.dtd. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01539: Unknown parameter, ‘{2}’, for ‘{1}’ layout class in appender ‘{0}’ in configuration file ‘{3}’

Cause: An invalid or misspelled parameter name was encountered for a layout element in a Activity Logging XML configuration file.

Action: Specify one of the valid layout class parameters defined in gglog.dtd. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01540: Unknown filter class name, ‘{1}’, for appender ‘{0}’ in configuration file ‘{2}’

Cause: An invalid class name was specified for a filter element in a Activity Logging XML configuration file.

Action: Specify one of the valid filter class names defined in gglog.dtd. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01541: Unknown parameter, ‘{2}’, for ‘{1}’ filter class in appender ‘{0}’ in configuration file ‘{3}’

Cause: An invalid or misspelled parameter name was encountered for a filter element in a Activity Logging XML configuration file.

Action: Specify one of the valid parameters for the filter class defined in gglog.dtd. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01545: Table {0} column {1,number,0} : DATA CORRUPTION may result from the use of “NOT FOR REPLICATION” on a check constraint and OLE DB.

Cause: Alerts you that the check constraint in the specified table is set to “NOT FOR REPLICATION.” In this mode, the target database does not check constraints when the operation is applied by Replicat. The assumption is that the constraint checking was performed by the source database.

Action: None.

 

 

OGG-01546: Table {0} column {1,number,0} : DATA CORRUPTION may result from the use of “NOT FOR REPLICATION” on a trigger and OLE DB.

Cause: The trigger in the specified table is set to “NOT FOR REPLICATION.” In this mode, the target database does not fire the trigger when the operation is applied by Replicat operating as the replication agent. The assumption is that the triggered operations from the source are captured and replicated.

Action: Verify that the tables affected by the trigger are included in the replication configuration; otherwise, there will be no errors to alert you to integrity violations.

 

OGG-01547: Table {0} column {1,number,0} : DATA CORRUPTION may result from the use of “NOT FOR REPLICATION” on a foreign key when OLE DB is being used.

Cause: The foreign key in the specified table is set to “NOT FOR REPLICATION.” The target database does not enforce the constraint when the operation is applied by Replicat operating as the replication agent. This includes CASCADE operations. The assumption is that the constraint was checked on the source database and that the cascaded operations are captured and replicated.

Action: Verify that the referenced tables are included in the replication configuration with the referencing table; otherwise, there will be no errors to alert you to integrity violations, such as if a row gets inserted into a table that contains a foreign key to a non-replicated table.

 

OGG-01548: Table {0} : To improve performance, consider switching to OLE DB.

Cause: The ODBC API is being used by Replicat, but IDENTITY columns have “NOT FOR REPLICATION” enabled.

Action: To take advantage of NOT FOR REPLICATION and have Replicat use the better-performing OLE DB API, configure Replicat to connect as the SQL Server Replication user by using the DBOPTIONS parameter with the USEREPLICATIONUSER option. See the Oracle GoldenGate for SQL Server documentation for more information.

 

OGG-01549: The DBOPTION USEODBC and USEREPLICATIONUSER are

mutually exclusive.

Cause: USEODBC and USEREPLICATIONUSER are both specified in the DBOPTIONS parameter.

Action: To have Replicat perform DML through ODBC, remove USEREPLICATIONUSER. To have Replicat perform DML as the SQL Server replication user, remove USEODBC.

 

OGG-01552: Connection String: {0}

Cause: This is an informational message that indicates the OLE DB connect string (with the password masked) that Replicat used to connect to the target database.

Action: None

 

OGG-01554: The DBOPTION USEODBC and USEREPLICATIONUSER are

mutually exclusive.

Cause: USEODBC and USEREPLICATIONUSER are both specified in the DBOPTIONS parameter.

 

 

Action: To have Replicat perform DML through ODBC, remove USEREPLICATIONUSER. To have Replicat perform DML as the SQL Server replication user, remove USEODBC.

 

OGG-01555: OLE DB Error: Incompatible driver error DSN ‘{0}’ SQL Server {1} requires {2}

Cause: The DSN that is specified with TARGETDB in the Replicat parameter file does not specify a connection driver that is compatible with the selected SQL Server in that specification.

Action: Make certain the correct DSN is specified for TARGETDB and, if so, make certain that the driver and the database server that are specified in the DSN definition are compatible.

 

OGG-01557: OLE DB Error: Cannot open data source. Error code 0x{0} Detail: {1}

Cause: Replicat failed to connect to the target database with the OLE DB connection.

Action: Check the TARGETDB parameter to make certain that the correct DSN is specified. If that value is correct, examine the DSN definition itself, to make certain that all of the required connection information is present and valid.

 

OGG-01558: Database operation failed: OLE DB Error 0x{0}

Cause: The Replicat OLE DB operation failed, but no error information can be retrieved from the driver.

Action: Check the process report file for any warning or error messages that occurred prior to this error message, and then contact Oracle Support.

 

OGG-01560: Positioned to {0}

Cause:  Extract positioned to the specified sequence number.

Action: None

 

OGG-01562: Source schema {0} is mapped to target schema {1} to set the current schema for DDL execution.

Cause: The specified source session schema is now mapped to the target session schema specified in the TARGET clause of DDLOPTIONS MAPSESSIONSCHEMA. Any DDL executed from this source session schema will be replicated under the TARGET session schema.

Action: None

 

OGG-01563: Transaction {0} contains {1,number,0} orphaned LOB buffers.

These must be deleted before the transaction is completed.

Cause: An internal error occurred while storing a LOB column in the Cache Object Manager (COM).

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-01564: LOB handle {0,number,0} is invalid.

Cause: An internal error occurred while storing a LOB column in the Cache Object Manager.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

 

OGG-01565: LOB handle {0,number,0} has already been associated with another base row column.

Cause: An internal error occurred while storing a LOB column in the Cache Object Manager.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-01566: LOB handle {0,number,0} has already been associated with a base row column and cannot be deleted explicitly.

Cause: An internal error occurred while storing a LOB column in the Cache Object Manager.

Action: Contact Oracle Support or, if you are working with an Oracle GoldenGate developer, contact that person.

 

OGG-01567: {1}: cannot find first POF: {0}

Cause:  The oldest persisted-object file cannot be found. These files contain the persisted transaction data and other information that is needed for Extract to recover from the bounded-recovery checkpoint.

Action: None, unless the log files are not available. Extract will revert to normal recovery for this recovery, and then turn on Bounded Recovery again. If Extract stops because the log file that contains the oldest open transaction is not online, restore that log and any subsequent logs before restarting Extract.

 

OGG-01568: {3}: unsupported BR version: {0}: version expected:

{1,number,0} version found: {2,number,0}

Cause: The persisted-object files were created by a version of Bounded Recovery that is different from the one that currently is running. An Extract upgrade was probably performed and the new version contains a newer Bounded Recovery version.

Action: Restart Extract from the command line with the BRRESET option. BRRESET starts the process as if this is the first run, and the process will use normal recovery. For syntax help, see the BRRESET option of the BR command in the Oracle GoldenGate reference documentation. If you cannot resolve the problem this way, manually remove all of the files in the BRDIR/<extract_group_name> directory. If the problem persists, contact Oracle Support.

 

OGG-01569: {1}: POF crc64 mismatch: POF: {0}

Cause: The recovery file did not pass the integrity check that the Bounded Recovery feature performs.

Action: None. Extract will revert to normal recovery for this recovery, and then turn on Bounded Recovery again.

 

OGG-01570: {3}: magic number mismatch: {0} expected: 0x{1} found: 0x{2} Cause: The recovery file did not pass the integrity check that the Bounded Recovery feature performs.

Action: None. Extract will revert to normal recovery for this recovery, and then turn on Bounded Recovery again.

 

OGG-01571: {3}: footer magic number mismatch: filename: {0}: expected: 0x{1} found: 0x{2}

Cause: The recovery file did not pass the integrity check that the Bounded Recovery feature performs.

 

 

Action: None. Extract will revert to normal recovery for this recovery, and then turn on Bounded Recovery again.

 

OGG-01572: {2}: filename mismatch: POF: {0} mt_filename: {1}

Cause: The name of the persisted-object file is not what is expected based on the Extract Bounded Recovery checkpoint file.

Action: None. Extract will revert to normal recovery for this recovery, and then turn on Bounded Recovery again.

 

OGG-01573: {1}: failed in call to: {0} Cause: An internal error occurred. Action:  Contact Oracle Support.

OGG-01574: {1}: failed in call to: {0}: error code: {2,number,0} ({3}) Cause:  Bounded Recovery failed in the specified function invocation.

Action: If the error pertains to the Bounded Recovery storage directory, try to resolve the problem. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01575: {2}: file operation failed in call to: {0}: filename {1}

Cause: Extract was unable to open the specified file. Extract will revert to normal recovery.

Action: None

 

OGG-01576: {0}: error code: {1,number,0} ({2}) Cause:  An internal error occurred.

Action:  Contact Oracle Support.

 

OGG-01577: {0}: NULL persisted objected pointer Cause:  An internal error occurred.

Action:  Contact Oracle Support.

 

OGG-01578: {1}: unxepected flag in PO (CO): 0x{0} Cause:  An internal error occurred.

Action:  Contact Oracle Support.

 

OGG-01579: BOUNDED RECOVERY: VALID BCP: {0}

Cause:  Bounded Recovery validated the specified checkpoint.

Action: None

 

OGG-01580: {2}: invalid crc64: CPF: {0} crc: 0x{1}

MSG_WRN_BR_CRC_INVALID_VALUE

Cause: The recovery file did not pass the integrity check that the Bounded Recovery feature performs.

Action: None. Extract will revert to normal recovery for this recovery, and then turn on Bounded Recovery again.

 

OGG-01582: {2}: extract group mismatch: group expected: {0} group found:

{1}

Cause: The Extract group in the Bounded Recovery checkpoint file is not the one that is currently running.

Action: Restart Extract from the command line with the BRRESET option. BRRESET starts the process as if this is the first run, and the process will use

 

 

normal recovery. For syntax help, see the BRRESET option of the BR command in the Oracle GoldenGate reference documentation. If you cannot resolve the problem this way, contact Oracle Support.

 

OGG-01584: {0}: extract group not supplied Cause:  An internal error occurred.

Action:  Contact Oracle Support.

 

OGG-01585: {1}: unique bounded recovery instance already exists: requested extract group: {0}

Cause:  An internal error occurred.

Action:  Contact Oracle Support.

 

OGG-01586: {2}: {0} {1}: error code: {3,number,0} ({4})

Cause: While Extract was in Bounded Recovery mode, a request to the file system failed with the specified error.

Action: Fix the problem based on the error, if possible. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01587: {3}: {0}: {1} error code: {4,number,0} ({5}) {2,number,0}

Cause: While Extract was in Bounded Recovery mode, a file system operation by the Cache Object Manager (COM) failed.

Action: Try to resolve the problem based on the error message that is returned. If you cannot resolve the problem, contact contact Oracle Support.

 

OGG-01588: {0}: failed

Cause:  An internal message occurred in the Cache Object Manager.

Action:  Contact Oracle Support.

 

OGG-01589: {1}: failed in call to: {0}

Cause:  An internal message occurred in the Cache Object Manager.

Action:  Contact Oracle Support.

 

OGG-01590: {1}: failed in call to: {0} error code: {2,number,0} ({3}) Cause: The calling internal function failed with the specified system error code. Examine the message text for the specific function and error code.

Action: This message can occur in many contexts. If it indicates a file system error, you might be able to resolve it yourself. If not, contact Oracle Support.

 

OGG-01591: {2}: failed in call to: {0} pool instance: {1,number,0} Cause:  An internal function failed.

Action:  Contact Oracle Support.

 

OGG-01593: {0}: error code: {1,number,0} ({2})

Cause:  The specified function failed with the given system error code.

Action:  Contact Oracle Support.

 

OGG-01596: {2}: mmapc instance address: 0x{0} differs from base address: 0x{1}

Cause:  An internal mapping error occurred.

Action:  Contact Oracle Support.

 

 

OGG-01597: {1}: failed in call to: {0} Cause: An internal error occurred. Action:  Contact Oracle Support.

OGG-01598: {1}: failed in call to: {0} error code: {2,number,0} ({3})

Cause: A library function call failed in the given function. This low-level error returns an exception to be handled at a higher level of code.

Action: Examine the error text, the error code, and any preceding related error messages. If a file system error occurred, determine if corrective action can be taken. If you cannot resolve the problem, contact GoldenGate Support.

 

OGG-01599: {2}: type: {0,number,0} subtype: {1,number,0} Cause:  An internal function failed.

Action:  Contact Oracle Support.

 

OGG-01600: {1}: invalid mode: 0x{0}

Cause:  The specified function has an invalid mode.

Action:  Contact Oracle Support.

 

OGG-01601: {2}: memory map length: {0,number,0} differs from registered length: {1,number,0}

Cause: The specified length of the virtual memory map is not equal to its registered length.

Action:  Contact Oracle Support.

 

OGG-01602: {0}: memory map out of space and extend operation failed Cause:  The virtual memory map could not be extended.

Action: Check the free swap size, and increase it if possible. If this message persists, contact Oracle Support.

 

OGG-01603: {0}: NULL data source pointer

Cause:  The address of the internal virtual memory map is missing.

Action:  Contact Oracle Support.

 

OGG-01604: {0}: cannot extend memory map: not marked for extend Cause: An attempt has been made to extend a non-extendable virtual memory map. This low-level error returns an exception to be handled at a

higher level of code.

Action:  Contact Oracle Support.

 

OGG-01610: {0}: NULL dhv pointer found

Cause:  An invalid bounded recovery redo state occurred.

Action:  Contact Oracle Support.

 

OGG-01611: {0}: NULL object pointer found

Cause:  An object necessary for Bounded Recovery is not present.

Action:  Contact Oracle Support.

 

OGG-01612: {0}: NULL tag pointer found

Cause:  A parameter necessary for Bounded Recovery is not present.

Action:  Contact Oracle Support.

 

 

OGG-01613: {4}: NULL cache object pointer found: rc_co0: 0x{0} rc_ co0->rst_co: 0x{1} rc_co1: 0x{2} rc_co1->rst_co: 0x{3},

Cause: A pointer to an object necessary for Bounded Recovery data persistence is not present.

Action:  Contact Oracle Support.

 

OGG-01614: {5}: {0}: <{1,number,0}, {2,number,0}> <{3,number,0},

{4,number,0}>

Cause:  A virtual memory map integrity error occurred.

Action:  Contact Oracle Support.

 

OGG-01615: {7}: dhnode_map_traverse: {0} <{1,number,0}, {2,number,0}> (children: {3,number,0}, <{4,number,0}, {5,number,0}> (children:

{6,number,0})

Cause:  A virtual memory map integrity error occurred.

Action:  Contact Oracle Support.

 

OGG-01616: {7}: {0} dn: <{1,number,0}, {2,number,0}> (children:

{3,number,0}, <{4,number,0}, {5,number,0}> (children: {6,number,0}) Cause: An internal virtual memory map error occurred with a mismatch on node properties.

Action:  Restart Extract. If the problem persists, contact Oracle Support.

 

OGG-01617: {7}: {0} <{1,number,0}, {2,number,0}> (len: {3,number,0}),

<{4,number,0}, {5,number,0}> (len: {6,number,0})

Cause: The found length of child nodes in the virtual memory map does not match the expected length.

Action:  Restart Extract. If the problem persists, contact Oracle Support.

 

OGG-01618: {4}: {0} <{1,number,0}, {2,number,0}> index: {3,number,0} Cause: The virtual memory map node is invalid for the specified reason. Action:  Restart Extract. If the problem persists, contact Oracle Support.

OGG-01619: {7}: {0} <{1,number,0}, {2,number,0}>, <{3,number,0},

{4,number,0}> indexes: {5,number,0}, {6,number,0} Cause:  A virtual memory map integrity error occurred.

Action:  Restart Extract. If the problem persists, contact Oracle Support.

 

OGG-01620: {3}: {0} <{1,number,0}, {2,number,0}>

Cause: An internal virtual memory map has an invalid type or subtype due to the condition specified in the error text.

Action:  Restart Extract. If the problem persists, contact Oracle Support.

 

OGG-01621: {3}: {0} group type: {1,number,0} type found: {2,number,0} Cause: An internal virtual memory map definition has an unterminated group entry.

Action:  Restart Extract. If the problem persists, contact Oracle Support.

 

OGG-01622: {6}: count mismatch: HEADERS: in {0,number,0} found:

{1,number,0} LEAFS: in {2,number,0} found {3,number,0} TERMINATORS: in {4,number,0} found: {5,number,0}

 

 

Cause: The recovery file did not pass the integrity check that the Bounded Recovery feature performs.

Action: None. Extract will revert to normal recovery for this recovery and then return to Bounded Recovery.

 

OGG-01623: {5}: count mismatch: processed_nodes: {0,number,0} found nodes: {1,number,0} (headers: {2,number,0} leafs: {3,number,0} terminators: {4,number,0}

Cause: The recovery file did not pass the integrity check that the Bounded Recovery feature performs.

Action: None. Extract will revert to normal recovery for this recovery and then return to Bounded Recovery.

 

OGG-01624: {1}: failed in call to: {0}

Cause:  A library function call failed in the given function.

Action:  Restart Extract. If the problem persists, contact Oracle Support.

 

OGG-01625: {2}: {0}: {1}

Cause: An attempt to compile an internal virtual memory map failed. A preceding error message should indicate the cause.

Action:  Restart Extract. If the problem persists, contact Oracle Support.

 

OGG-01626: {1}: {0}: error code: {2,number,0} ({3})

Cause: A Bounded Recovery file operation failed. The cause is indicated in the message text.

Action: Examine the file and directory to see if corrective action can be taken. If you cannot determine any file problems, restart Extract from the command line by using the BRRESET option of the BR parameter. For more information, see the BR parameter in the Oracle GoldenGate reference documentation. If the problem persists, contact Oracle Support.

 

OGG-01627: {2}: invalid file mode for: {0} mode: 0x{1}

Cause:  The specified directory has an invalid permission mode.

Action: Change the directory permissions. If the problem persists, contact Oracle Support.

 

OGG-01628: {2}: rename({0}, {1}) error code: {3,number,0} ({4})

Cause: The rename of a stale Bounded Recovery file failed with the specified error.

Action: Try to resolve the file problem based on the error, and determine if it will occur for other Bounded Recovery files. If you cannot correct this problem, contact Oracle Support.

 

OGG-01629: BOUNDED RECOVERY: PERSISTED OBJECTS RECOVERED: {0}{1}

Cause: Extract successfully recovered the transaction data that was persisted to disk.

Action: None

 

OGG-01630: {4}: INVALID OBJECT COUNT: on OP list: {0,number,0} OP

active count: {1,number,0} pool instance: {2,number,0} ({3})

 

 

Cause: The number of persisted objects expected for recovery differs from the actual number of long-running transactions that are detected. Bounded Recovery will resolve the difference or else revert to normal recovery.

Action: None

 

OGG-01631: BOUNDED RECOVERY: NEW VALID BR CHECKPOINT: {0}

Cause: Extract created a new Bounded Recovery checkpoint, concluding another Bounded Recovery interval (as determined by the BRINTERVAL option of the BR parameter.)

Action: None

 

OGG-01632: {4}: Active object count differs from count from previous instance BCP: OP active count: {1,number,0} recovered count from previous BCP: {0,number,0} pool instance: {2,number,0} ({3})

Cause: Bounded Recovery detected an anomoly in the checkpoint and is using the previous Bounded Recovery checkpoint for recovery.

Action: None

 

OGG-01633: BOUNDED RECOVERY: NO VALID BCP FOUND: last file

examined: {0}

Cause: Extract could not find a valid Bounded Recovery checkpoint, and will revert to normal recovery.

Action: None

 

OGG-01634: {2}: file operation failed in call to: {0}: filename {1}

Cause: Extract could not open the specified file, and will revert to normal recovery.

Action: None

 

OGG-01635: BOUNDED RECOVERY: reset to initial or altered checkpoint Cause: The BR parameter contains the BRRESET option. Extract will use normal recovery for the current run and then turn on Bounded Recovery after

the recovery is complete.

Action: None

 

OGG-01636: BOUNDED RECOVERY: DISABLED: error during its

initialization.

Cause: Extract was unable to initiate a Bounded Recovery checkpoint, and is disabling Bounded Recovery. Extract will revert to normal recovery.

Action: None

 

OGG-01637: BOUNDED RECOVERY: DISABLED: error when creating its checkpoint

Cause: Extract was unable to create a Bounded Recovery checkpoint, and is disabling Bounded Recovery. Extract will revert to normal recovery.

Action: None

 

OGG-01638: BOUNDED RECOVERY: DISABLED: error restoring its checkpoint.

Cause: Extract was unable to recover from the expected checkpoint, and is disabling Bounded Recovery. Extract will revert to normal recovery.

Action: None

 

 

OGG-01639: BOUNDED RECOVERY: ACTIVE: for object pool

{0,number,0}: {1}

Cause:  Extract is reporting that Bounded Recovery is currently active.

Action: None

 

OGG-01640: BOUNDED RECOVERY: recovery start XID: {0}

Cause: Extract is reporting the ID of the transaction with which it will start Bounded Recovery.

Action: None

 

OGG-01641: BOUNDED RECOVERY: recovery start position: {0}

Cause: Extract is reporting the position in the transaction log where it will start Bounded Recovery.

Action: None

 

OGG-01642: BOUNDED RECOVERY: recovery end position: {0} Cause: Extract is reporting the position in the transaction log where it finished its Bounded Recovery.

Action: None

 

OGG-01643: BOUNDED RECOVERY: CANCELED: for object pool

{0,number,0}: {1}

Cause: The Bounded Recovery was abandoned, and Extract will revert to normal recovery.

Action: None

 

OGG-01644: BOUNDED RECOVERY: COMPLETE: for object pool

{0,number,0}: {1} at {2}

Cause:  Extract has completed the Bounded Recovery.

Action: None

 

OGG-01662: An invalid WHERE clause {0} was encountered. Expecting

<column name>=<value>

Cause: Incorrect syntax was used to define a WHERE clause in a TABLE or MAP statement.

Action: See the permissible WHERE operators that are listed in the TABLE and MAP reference documentation, and then fix the syntax in the parameter file.

 

OGG-01666: The use of ‘?’ for pattern matching in table names is not supported for WILDCARDRESOLVE IMMEDIATE: Table {0}.

MSG_ERR_TABLE_PATTERN_MATCHING

Cause: The question mark wildcard is not supported by Oracle GoldenGate. Only an asterisk wildcard character (*) is supported.

Action: Replace the question mark wildcards with asterisk wildcards according to the wildcarding rules that are stated in the Oracle GoldenGate reference documentation.

 

OGG-01667: {1}: process ID {0,number,0} waiting in sleep loop for diagnostician to attach debugger MSG_INF_PAUSED_FOR_DEBUGGER

 

 

Cause: When the _HANGATPROGRAMSTART internal option is specified, or the _HANGONFATALERROR internal option is used and a fatal error is encountered, Oracle GoldenGate will pause in order to allow point-in-time diagnosis.

Action: Remove the parameter from the parameter file and contact Oracle Support for additional assistance.

 

OGG-01668: PROCESS ABENDING

MSG_ERR_PROCESS_ABENDING

Cause:  An unrecoverable error occurred and processing cannot continue.

Action: Examine previously issued error messages for possible causes and actions.

 

OGG-01669: Opening {0} (byte {1,number,0}, current EOF {2,number,0}) Cause: The Collector process is opening the specified file. Informational only. Action: None

OGG-01670: Closing {0}

Cause:  The Collector process is closing the specified file. Informational only.

Action: None

 

OGG-01671: Closing batch file {0} ({1})

Cause: The Collector process is closing the specified batch file. Informational only.

Action: None

 

OGG-01672: Opening batch file {0}

Cause: The Collector process is opening the specified batch file. Informational only.

Action: None

 

OGG-01673: Truncated {0}

Cause:  The Collector process truncated the specified file. Informational only.

Action: None

 

OGG-01674: Executed system command “{0}” with status ({1,number,0}) Cause: The Collector process executed the specified system command. The return status is indicated. Informational only.

Action: None

 

OGG-01675: Terminating because extract is stopped

Cause: The Collector process terminated because its associated Extract terminated.

Action: If the Extract process abended (did not stop normally), look at the Extract report file for errors that may need to be resolved, and resolve them based on their message content.

 

OGG-01676: Terminating after client disconnect

Cause: The Collector process terminated because the associated Extract client disconnected.

 

 

Action: Look for problems with network connectivity between the source system that hosts Extract and the local system. Check the Extract report file for more errors that might help you diagnose and resolve the problem.

 

OGG-01677: Waiting for connection (started dynamically)

Cause: The Collector process was started by Manager and will find a free listening port dynamically. Informational only.

Action: None

 

OGG-01678: Listening for requests

Cause: The Collector process was started from the command line on a designated listening port. Informational only.

Action: None

 

OGG-01679: Connecting to {0}

Cause: The Collector process is verifying the connection to the remote system where a passive Extract or data pump is running. Informational only.

Action: None

 

OGG-01680: {0}

Cause: The specified number of bytes was received. This message appears when Oracle GoldenGate is in debug mode, as specified with the “tcpstats” parameter when Collector was started.

Action: Unless you need tcpstats on for debugging purposes, turn it off to improve performance.

 

OGG-01683: The call to the {0} function from {1} failed with error

{2,number,0} ({3})

Cause: An operating system function failed with the error that is shown. This message is a lower-level message that provides context for a failure that is broader in scope.

Action: Look in the process report for related messages that can help you diagnose and resolve the problem. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01684: Error closing file, handle: 0x{0}, error {1,number,0} ({2}) Cause:  The specified error occurred when the process tried to close a file.

Action: Make certain there is enough disk space to contain the file in its new size. If you cannot diagnose any system problems that could cause this failure, contact Oracle Support.

 

OGG-01685: Exception “{0}” resulted when calling ‘{1}’ on {2}

Cause: The Java or JNI subsystem returned an exception. Possible causes include an incorrect Java version, lack of memory or disk space to complete the operation, or other internal Java-related errors.

Action: Look for additional information related to this error in the JVM log or dump files, or on the console. The specific resolution is dependent on the type of failure. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01688: Thread: {0}, Message: {1}

Cause: This is a generic error that forwards another message that contains errors from the Java Agent component of Oracle GoldenGate Monitor.

 

 

Action: If you cannot resolve the error that is returned based on the context, contact Oracle Support.

 

OGG-01689: Thread: {0}, Message: {1}

Cause: This is a generic error that forwards another message that contains errors from the Java Agent component of Oracle GoldenGate Monitor.

Action: If you cannot resolve the error that is returned based on the context, contact Oracle Support.

 

OGG-01690: Thread: {0}, Message: {1}

Cause: This is a generic error that forwards another message that contains errors from the Java Agent component of Oracle GoldenGate Monitor.

Action: If you cannot resolve the error that is returned based on the context, contact Oracle Support.

 

OGG-01691: Failed to find process id {0,number,0} in ProcessManager.

Cause:  The specified process ID could not be found.

Action:  Contact Oracle Support.

 

OGG-01693: Aborting BATCHSQL transaction{0,choice,0#|1# in batch error mode}.

Cause: The batched SQL transaction encountered exceptions. Replicat will revert to normal processing (one operation at a time). For more information, see the BATCHSQL reference documentation.

Action: None

 

OGG-01694: Process {0} {1} with process id {2,number,0} has missed providing status heartbeats but has not terminated. On retry

{3,number,0} of {4,number,0}.

Cause: Manager determined that the specified process stopped generating heartbeats, which indicates that the process is non-responsive. Manager attempted to stop the process and remove it from the list of active processes.

Action: Look for other messages in the process report and error log to determine why the process stopped responding. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01695: Process {0} {1} with process id {2,number,0} is being removed after retrying {3,number,0} of {4,number,0} times. Operating system has reported the process’s status is

{5,choice,-1#HUNG|0#TERMINATED|1#RUNNING}.

Cause: Manager determined that the specified process stopped generating heartbeats, which indicates that the process is non-responsive. Manager attempted to stop the process and remove it from the list of active processes.

Action: Look for other messages in the process report and error log to determine why the process stopped responding. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01696: Killed process {0} {1} with process id {2,number,0}.

Cause:  The process was killed.

Action: If the process was killed by the Oracle GoldenGate internal logic, no action is needed. If the process was killed by a user, restart it if appropriate.

 

 

OGG-01697: Operation ‘{0}’ failed for named shared resource ‘{1}’ with size

{2,number,0}. Error {3,number,0} ({4})

Cause: An internal resource failed. Possible causes are not enough disk space or memory.

Action:  Check the system and add more resources.

 

OGG-01698: Failed to start the sub-process with path ‘{0}’, startMode

{1,number,0} and timeout {2,number,0}. Error {3,number,0} ({4}) Cause: The specified process could not be started within the specified input parameters.

Action: Verify the given path, the start mode, and that the Manager process has adequate system privileges to start processes.

 

OGG-01699: Unable to allocate a new System V semaphore as the limit has been reached.

MSG_ERR_GGIF_SYSV_SEMAPHORE_FAILURE

Cause:  No more System V semaphores can be allocated.

Action: Reduce the number of processes that use semaphores or increase the number of available semaphores on the system.

 

OGG-01700: Invalid numeric data detected. Error converting numeric from Oracle to ASCII format for column {0}, table {1}, rowid {2}, row length {3,number,0}, rowdata: {4}

Cause: Invalid numeric data was detected while converting from the Oracle native type to Oracle GoldenGate ASCII for the specified column.

Action: Restart Extract. If the problem persists, exclude this table from the Extract configuration so that processing continues, and then contact Oracle Support.

 

OGG-01702: Cannot get file status for ‘{0}’. Error {1,number,0} ({2})

Cause: While repairing a partial record at the end of a trail, the process could not get the status of the file.

Action:  Contact Oracle Support.

 

OGG-01705: Input checkpoint position {2,number,0} for input trail file ‘{0}’ is greater than the size of the file ({1,number,0}). Please consult Oracle Knowledge Management Doc ID 1138409.1. for instructions.

Cause: This inconsistency is caused by a disk or system failure during which data that was still in cache gets lost. The result is that the reader process (a data pump or Replicat) appears stalled waiting for more data. The writer process (Extract or data pump), when it performs its recovery, creates a new trail file and may write some of the data that has already been processed by the reader process.

Action: To avoid duplicate records, you need to perform a manual recovery, find the duplicate records, and alter the reader process to start processing after those records. See Oracle Knowledge Base solution 1138409.1 for instructions.

 

OGG-01706: Table {0} is an Index Organized Table (IOT) and only supported for Oracle 10gR2 and above.

Cause:  This table type is not supported.

 

 

Action: Stop Extract. Edit the parameter file to remove the table and others of this type from the TABLE statements, and then restart Extract. (If TABLE uses a wildcard, you can exclude those tables with TABLEEXCLUDE.)

 

OGG-01707: Failed to retrieve the singleton instance of {0}

Cause: The metadata cache of the Oracle GoldenGate Monitor C-agent was not initialized properly.

Action:  Contact Oracle Support.

 

OGG-01708: Failed to create an instance of {0}

Cause: The Oracle GoldenGate Monitor Java Agent was not installed properly, or the Java VM ran out of memory.

Action: Reinstall the Oracle GoldenGate Monitor Java Agent according to the instructions in the Oracle GoldenGate Monitor administration documentation.

 

OGG-01709: Failed to create an array of instances of {0}

Cause: The Oracle GoldenGate Monitor Java Agent was not installed properly, or the Java VM ran out of memory.

Action: Reinstall the Oracle GoldenGate Monitor Java Agent according to the instructions in the Oracle GoldenGate Monitor administration documentation.

 

OGG-01710: Failed to retrieve {0} from {1}

Cause: The metadata cache of the Oracle GoldenGate Monitor C-agent was not initialized properly.

Action:  Contact Oracle Support.

 

OGG-01711: Failed to find the Java class ID of {0}

Cause: The Oracle GoldenGate Monitor Java Agent was not installed properly.

Action: Reinstall the Oracle GoldenGate Monitor Java Agent according to the instructions in the Oracle GoldenGate Monitor administration documentation. Make certain that the jagent.jar file exists in the dirjar directory.

 

OGG-01712: Failed to find the ID of method {1} in Java class {0} Cause: The Oracle GoldenGate Monitor Java Agent was not installed properly.

Action: Reinstall the Oracle GoldenGate Monitor Java Agent according to the instructions in the Oracle GoldenGate Monitor administration documentation. Make certain that the jagent.jar file exists in the dirjar directory.

 

OGG-01713: Failed to retrieve the Java VM object

Cause: The Oracle GoldenGate Monitor Manager failed to load the Java VM or the Java VM that is loaded is invalid.

Action: Make certain that a supported version of Java is installed on the local system. For the supported Java versions, see the Oracle GoldenGate Monitor administration documentation.

 

OGG-01714: Failed to allocate memory for {0}

Cause: The Oracle GoldenGate Monitor C-agent failed to create a new Java object because the Java VM ran out of memory.

Action:  Contact Oracle Support.

 

OGG-01715: Failed to call class {0} method {1}

 

 

Cause:  The Oracle GoldenGate Monitor C-agent failed to call the Java Agent.

Action: Reinstall the Oracle GoldenGate Monitor Java Agent according to the instructions in the Oracle GoldenGate Monitor administration documentation. Make certain that the jagent.jar file exists in the dirjar directory.

 

OGG-01716: Failed to find the process {0} in the given process list

Cause: The specified Extract or Replicat process could not be found by Oracle GoldenGate Monitor.

Action:  None. The process list will be refreshed in the next update interval.

 

OGG-01717: Failed to create a wrapper object {0} with the given object ID

{1}

Cause: The Oracle GoldenGate Monitor C-agent detected an invalid monitoring point.

Action:  Contact Oracle Support.

 

OGG-01718: Failed to retrieve {0} MpObjectInfo from loaded MP metadata Cause: The Oracle GoldenGate Monitor C-agent detected an invalid monitoring point.

Action:  Contact Oracle Support.

 

OGG-01719: Failed to load Metadata during initialization

Cause: Monitoring point metadata was not properly initialized in the Oracle GoldenGate Monitor C-agent.

Action:  Contact Oracle Support.

 

OGG-01720: Failed to retrieve corresponding JNI type for {0}

 

Cause: The data type of a monitoring point in the Java agent is not consistent with the data type in the C-agent.

Action: Make certain that the version of the Java Agent is compatible with that of the C-agent, or contact Oracle Support.

 

OGG-01721: Failed to retrieve PseudoObjectProcAssociation object for object {0}.

Cause: A trail or database object that is maintained in the cache of the Oracle GoldenGate Monitor C-agent is invalid.

Action:  Contact Oracle Support.

 

OGG-01722: Failed to retrieve input parameter {0} in {1} JNI invocation Cause: An error occurred between the Java Agent and the C-agent because the JNI call parameter is not valid.

Action:  Contact Oracle Support.

 

OGG-01723: Zero MPs returned for pseudo object {0}

Cause: The number of retrieved monitoring points for a trail or database object is not valid.

Action:  Contact Oracle Support.

 

OGG-01724: Pseudo object {0} with associated process name {1} is not found

 

 

Cause: The metadata for the monitoring points that are maintained by the Oracle GoldenGate Monitor C-agent is inconsistent with the monitoring points that were captured by the Extract or Replicat process.

Action:  Contact Oracle Support.

 

OGG-01725: Number of MPs {2,number,0} in Pseudo object list does not match the number of MPs {1,number,0} returned from the process {0}

Cause: The metadata for the monitoring points that are maintained by the Oracle GoldenGate Monitor C-agent is inconsistent with the monitoring points that were captured by the Extract or Replicat process.

Action:  Contact Oracle Support.

 

OGG-01726: Failed to retrieve the singleton CprocessManager instance Cause: An internal error occurred in the Oracle GoldenGate Monitor C-agent. Action:  Contact Oracle Support.

OGG-01727: Failed to retrieve the manager process from collectProcess call

Cause:  An internal error occurred in the Oracle GoldenGate Monitor C-agent.

Action:  Contact Oracle Support.

 

OGG-01728: MP id {0} should be in the form of objid:mpid

Cause: The monitoring point passed by the Java agent to the C-agent has an invalid format.

Action:  Contact Oracle Support.

 

OGG-01729: Invalid In-Out type {0,number,0} for getMappedMpid call Cause:  The specified monitoring point is invalid.

Action:  Contact Oracle Support.

 

OGG-01730: Appender ‘{0}’ in configuration file ‘{3}’ uses ‘BinaryLayout’ in a ‘RollingFileAppender’ with ‘MaxFileSize’ of {1}, which is smaller than the minimum of {2}.

Cause: The value for ‘MaxFileSize’ for a RollingFileAppender when BinaryLayout is used must be larger than the specified size.

Action:  Correct the appender definition in the XML file.

 

OGG-01731: Appender ‘{0}’ in configuration file ‘{1}’ uses ‘BinaryLayout’ with filters, which is not supported

Cause:  Filters are not supported with the ‘BinaryLayout’ layout.

Action:  Remove the ‘Filter’ element.

 

OGG-01733: Trail file header file size value {2,number,0} for trail file ‘{0}’ differs from the actual size of the file ({1,number,0}).

Cause: There is a discrepancy between the expected size of the trail file, as stated in the file header, and the actual size of the file. The file was truncated because there is a shortage of disk space or a corruption in the file system.

Action: Contact Oracle Support. Extensive recovery is needed to prevent data loss.

 

OGG-01735: Synchronizing {0} to disk

 

 

Cause: The specified trail file on the target was opened, closed, or rolled over. Informational only.

Action: None

 

OGG-01736: {2}: Buffer overflow, needed: {1,number,0}, allocated:

{0,number,0}. Table {3}, column {4}.

Cause: A numeric conversion failed because the value in the archive logs has more digits that the specified column can contain.

Action:  Verify that the column definitions are correct.

 

OGG-01737: Failed to validate table {0}. This table is an IOT with mapping table and not supported by Extract. Remove this table from Extract’s parameter file and restart Extract.

Cause:  This table type is not supported.

Action: Edit the parameter file to remove the table and others of this type from the TABLE statements, and then restart Extract. (If TABLE uses a wildcard, you can exclude those tables with TABLEEXCLUDE.)

 

OGG-01738: BOUNDED RECOVERY: CHECKPOINT: for object pool {0}:

{1}.

Cause:  A Bounded Recovery checkpoint was issued. Informational only.

Action: None

 

OGG-01739: {0} must be used with the {1} parameter in order to function correctly.

Cause:  A required option or parameter is missing in the parameter file.

Action: Add the specified option or parameter to the parameter file. Stop the process, and then restart it again for the new configuration to take effect.

 

OGG-01740: Invalid numeric data detected and replaced by _ CONVERTBADNUMBER. Column {0}, table {1}, rowid {2}, row length

{3,number,0}, rowdata: {4}

Cause: The redo data is corrupted. Either Extract assigned a zero value or a conversion was made (Oracle GoldenGate version 8 and later). This is a warning to alert you that data was converted.

Action: None

 

OGG-01741: Unexpected Log Sequence encountered at LSN {0,number,0}, previous log position {1,number,0}, current log position {2,number,0}. Cause:  The transaction records appear to be out of sequence.

Action:  Contact Oracle Support with details of this message.

 

OGG-01742: Command sent to {0} {1} returned with {2,choice,-1#an ERROR|0#an empty|1#an invalid} response.

Cause: A command sent to Manager resulted in the specified error response. The expected response is either “invalid data” or an error indicator.

Action: Retry the command that caused the error. If it fails again, look at the process report file and the error log (and the Windows event browser if Manager is a Windows service) for errors generated before this message. These errors could indicate the cause and possible resolution. If you cannot resolve the error based on these logs, contact Oracle Support.

 

 

OGG-01743: The call to the {0} function from {1} failed with error

{2,number,0} ({3})

Cause: An call to an internal Oracle GoldenGate function failed. The error is shown in the message text. This is a lower-level error that indicates the root cause of a broader failure.

Action: If you cannot determine and resolve the problem based on the error, contact Oracle Support.

 

OGG-01744: Must be IGNORE, DISCARD, ABEND, EXCEPTION, TRANSABORT, TRANSDISCARD, TRANSEXCEPTION or RETRYOP

Cause:  A REPERROR statement contains invalid syntax.

Action: Edit the REPERROR statement to correct the syntax. Refer to the Oracle GoldenGate reference documentation for valid syntax options.

 

OGG-01745: Additional columns detected for table {0}. Change data processing may be less efficient until the table is reorganized.

Cause: An ALTER TABLE…ADD COLUMN command was issued to add one or more columns to the specified table.

Action: Reorganize the table to avoid the extra overhead in processing log data for this table. This will ensure that the before image for any future updates match the table definition.

 

OGG-01746: Support for parameter {0} is not available in the RDBMS version you are using.

Cause: The parameter is not supported for the database or database version (or both) that the associated Oracle GoldenGate process is connected to.

Action: Remove the parameter from the parameter file. See the Oracle GoldenGate documentation to find out if there is a similar parameter that is supported for the database or a specific release of the database.

 

OGG-01749: Successfully registered EXTRACT {0} to start managing log retention at SCN {1}.

Cause: An ADD EXTRACT or REGISTER EXTRACT command was issued to register the Extract group with the database to manage retention of the logs that Extract needs for recovery purposes.

Action: None

 

OGG-01750: Successfully unregistered EXTRACT {0} from database.

Cause: A DELETE EXTRACT or UNREGISTER EXTRACT command was issued to unregister the Extract group from the database.

Action: None

 

OGG-01751: Cannot register or unregister EXTRACT {0} because no database login was provided. Use DBLOGIN to establish a connection. Cause:  A REGISTER EXTRACT or UNREGISTER EXTRACT command was

issued without first issuing a DBLOGIN command.

Action: Issue the DBLOGIN command, and then issue REGISTER EXTRACT or UNREGISTER EXTRACT again.

 

OGG-01752: Cannot register EXTRACT {0} with database because no database login was provided. You can manually register this group later with the REGISTER EXTRACT &lt;GROUP NAME&gt; LOGRETENTION command. Issue DBLOGIN first.

 

 

Cause: An ADD EXTRACT command was issued without first issuing a DBLOGIN command. This version of the RDBMS requires DBLOGIN before creating Extract groups.

Action: Issue the DBLOGIN command to log into the database, and then issue the REGISTER EXTRACT <group name> LOGRETENTION command to register the Extract group.

 

OGG-01753: Cannot unregister EXTRACT {0} from database because no database login was provided. You can manually unregister this group later with the UNREGISTER EXTRACT &lt;GROUP NAME&gt; LOGRETENTION command. Issue DBLOGIN first.

Cause: A DELETE EXTRACT command was issued without first issuing a DBLOGIN command. This version of the RDBMS requires DBLOGIN before deleting Extract groups.

Action:  Issue the DBLOGIN command to log into the database, and then issue the UNREGISTER EXTRACT <group name> command to unregister the Extract group.

 

OGG-01754: Cannot register or unregister EXTRACT {0} because the Extract is currently running. Stop the Extract and retry the command.

Cause: A REGISTER EXTRACT or UNREGISTER EXTRACT command was issued without first stopping the process.

Action: Stop the Extract process, then issue a DBLOGIN command, and then the REGISTER EXTRACT or UNREGISTER EXTRACT command.

 

OGG-01755: Cannot register or unregister EXTRACT {0} because of the following SQL error: {1}. See Extract user privileges in the Oracle GoldenGate for Oracle Installation and Setup Guide.

Cause: A REGISTER EXTRACT or UNREGISTER EXTRACT command was issued and an error occurred either while querying the database or when calling a PL/SQL procedure.

Action: Issue DBLOGIN with the appropriate privileges that are required for REGISTER EXTRACT or UNREGISTER EXTRACT. See the Oracle

GoldenGate reference documentation.

 

OGG-01756: Cannot register EXTRACT {0} with database because of the following SQL error: {1}. See Extract user privileges in the Oracle GoldenGate for Oracle Installation and Setup Guide. You can manually register this group with the REGISTER EXTRACT command.

Cause: An ADD EXTRACT command was issued and an error occurred either while querying the database or when calling a PL/SQL procedure.

Action: Issue DBLOGIN with the appropriate privileges that are required for ADD EXTRACT, and then issue the REGISTER EXTRACT command for the Extract group. See the Oracle GoldenGate reference documentation.

 

OGG-01757: Cannot unregister EXTRACT {0} from database because of the following SQL error: {1}. See Extract user privileges in the Oracle GoldenGate for Oracle documentation. You can manually unregister this group with the UNREGISTER EXTRACT command.

Cause: A DELETE EXTRACT command was issued and an error occurred either while querying the database or when calling a PL/SQL procedure.

 

 

Action: Issue the DBLOGIN command with the appropriate privileges that are required for DELETE EXTRACT, and then issue the UNREGISTER EXTRACT command for the Extract group. See the Oracle GoldenGate reference documentation.

 

OGG-01758: This EXTRACT {0} is already registered with the database. Cause: An ADD EXTRACT or REGISTER EXTRACT command was issued for an Extract group that is already registered with the database.

Action: None

 

OGG-01759: Cannot unregister EXTRACT {0} from database because this Extract is not currently registered.

Cause: An UNREGISTER EXTRACT command was issued for an Extract group that is not currently registered with the database.

Action:  Make certain the correct Extract name was provided in the command.

 

OGG-01760: Ignoring REDO records for encrypted tablespace. This could cause data integrity issues.

Cause: The parameter _IGNORETSERECORDS is specified, and encrypted tablespace records were encountered in the redo log.

Action: Configure Extract to decrypt encrypted tablespace records. See DBOPTIONS with the DECRYPTPASSWORD parameter in the Oracle GoldenGate reference documentation.

 

OGG-01761: The System V semaphore with id {0,number,0} no longer exists. (Error {1,number,0}, {2}). Stop all processes, then stop and start Manager, then start processes.

Cause: When the System V semaphore allocated for use by Manager is no longer available, Manager cannot continue processing.

Action: Stop all Extract and Replicat processes, and then restart Manager to allocate more semaphores, and then restart the processes.

 

OGG-01762: The Oracle GoldenGate Monitor service could not be started.

Monitoring might not be supported on this platform or the agent might not be installed correctly.

Cause: Oracle GoldenGate failed to load the required Java VM, or failed to start the Java Agent or C Agent module, or failed to start the service that publishes information on the monitoring points. Monitoring services will not be available.

Action: Make certain that Oracle GoldenGate Monitor is installed on a supported platform, and if so, reinstall the agent. See the administration documentation for instructions.

 

OGG-01763: Problem generating keys from password, error [{0}]

Cause: The shared secret in the Oracle Wallet and in the Oracle GoldenGate installation are not the same.

Action: Take appropriate action to make the shared secret the same in both places. For help, see the Oracle GoldenGate documentation for the Oracle database.

 

OGG-01764: Failed to un-wrap the key with password, error [{0}]

Cause: The shared secret in the Oracle Wallet and in the Oracle GoldenGate installation are not the same.

 

 

Action: Take appropriate action to make the shared secret the same in both places. For help, see the Oracle GoldenGate documentation for the Oracle database.

 

OGG-01765: Key digest generation failed, error [{0}]

Cause: The shared secret in the Oracle Wallet and in the Oracle GoldenGate installation are not the same.

Action: Take appropriate action to make the shared secret the same in both places. For help, see the Oracle GoldenGate documentation for the Oracle database.

 

OGG-01766: Invalid key digest generation failed

Cause: The shared secret in the Oracle Wallet and in the Oracle GoldenGate installation are not the same.

Action: Take appropriate action to make the shared secret the same in both places. For help, see the Oracle GoldenGate documentation for the Oracle database.

 

OGG-01767: Error in TSE decryption, error [{0}]

Cause: Transparent Data Encryption (TDE) data at the tablespace level was not decrypted properly.

Action:  Contact Oracle Support.

 

OGG-01768: Incorrect integrity algorithm [{0}]

Cause: Transparent Data Encryption (TDE) column data was not decrypted properly. It is possible that DDL was performed on the affected table.

Action: If DDL is to be performed on an encrypted table, install and configure Oracle GoldenGate DDL support. For help see the Oracle GoldenGate documentation for the Oracle database and the Oracle GoldenGate administration documentation.

 

OGG-01769: Error in TDE decryption: [{0}]

Cause: Transparent Data Encryption (TDE) data at the tablespace level was not decrypted properly.

Action:  Contact Oracle Support.

 

OGG-01770: Error decrypting column [{0}], table [{1}], encalg [{2}], intalg [{3}], salt

[{4}], keylen [{5}]: {6}

Cause: Transparent Data Encryption (TDE) column data was not decrypted properly. It is possible that DDL was performed on the affected table.

Action: If DDL is to be performed on an encrypted table, install and configure Oracle GoldenGate DDL support. For help see the Oracle GoldenGate documentation for the Oracle database and the Oracle GoldenGate administration documentation.

 

OGG-01771: DBOPTIONS DECRYPTPASSWORD must be used to decrypt TSE data. Use TRANLOGOPTIONS _IGNORETSERECORDS if you do not need to capture any tables that are in an encrypted tablespace.

Cause:  Data that is encrypted with Transparent Data Encryption was encountered, but DBOPTIONS with the DECRYPTPASSWORD option is not used in the parameter file.

Action: To support TDE, specify the DBOPTIONS parameter with the DECRYPTPASSWORD option; to ignore TDE data, contact Oracle Support for

 

 

more information about using TRANLOGOPTIONS with the internal option _ IGNORETSERECORDS. To configure Oracle GoldenGate to support TDE, see the Oracle GoldenGate installation and setup documentation for the Oracle database, and see the Oracle GoldenGate administration documentation.

 

OGG-01772: TSE decryption error: {0}, keylen [{1}]

Cause: Transparent Data Encryption (TDE) data at the tablespace level was not decrypted properly.

Action:  Contact Oracle Support.

 

OGG-01773: TSE record found to be greater than 64K

Cause: A buffer that contains Transparent Data Encryption (TDE) data is too big.

Action:  Contact Oracle Support.

 

OGG-01774: The AIX Oracle library is missing routine ‘ztvp52’ and needs a patch in order to use TDE/TSE

Cause: The patch for the Oracle libraries that is required by Oracle GoldenGate to support Transparent Data Encryption (TDE) cannot be found.

Action: Apply Oracle Patch 10395645 to the source Oracle database. If you cannot find this patch on the My Oracle Support website (https://support.oracle.com), submit a service request (SR) and request a backport.

 

OGG-01775: TDE/TSE is not supported in this version of Oracle

Cause: Transparent Data Encryption is not supported for this version of the Oracle database.

Action: Either remove the parameters that relate to TDE from the Oracle GoldenGate parameter file, or upgrade and configure the database to a level that supports TDE.

 

OGG-01776: DBOPTIONS DECRYPTPASSWORD must be set in order to use TDE/TSE encrypted tables

Cause:  Data that is encrypted with Transparent Data Encryption was encountered, but DBOPTIONS with the DECRYPTPASSWORD option is not used in the parameter file.

Action: To support TDE, specify the DBOPTIONS parameter with the DECRYPTPASSWORD option; to ignore TDE data, contact Oracle Support for more information about using TRANLOGOPTIONS with the internal option _ IGNORETSERECORDS. To configure Oracle GoldenGate to support TDE, see the Oracle GoldenGate installation and setup documentation for the Oracle database, and see the Oracle GoldenGate administration documentation.

 

OGG-01777: Extract abended as it ran out of sequence numbers used to create TRAIL files. The maximum number of TRAIL files allowed is 999999.

Cause:  Extract ran out of sequence numbers that it uses to create trail files.

Action:  Contact Oracle Support

 

OGG-01778: Feature {0} unsupported on the current database version. Upgrade database version to {1} or higher.

Cause: The specified feature is not supported by Oracle GoldenGate for the current database version.

Action:  Upgrade to at least the specified database version.

 

OGG-01779: Invalid specification on {0} command.

 

 

Cause:  The specified command contains invalid input.

Action: Fix the invalid input. For help, see the Oracle GoldenGate reference documentation.

 

OGG-01780: Missing/Invalid argument(s) on {0} command.

Cause: Arguments that were provided for the specified command are either incomplete or invalid.

Action: Fix the invalid input. For help, see the Oracle GoldenGate reference documentation.

 

OGG-01781: Wildcard is not allowed on {0} command.

Cause:  The specified command does not allow wildcards as input.

Action: Replace the wildcard with an explicit name specification. For help, see the Oracle GoldenGate reference documentation.

 

OGG-01782: Unknown command on {0}.

Cause:  The specified command is invalid.

Action: Verify the syntax and then issue the command again. For help, see the Oracle GoldenGate reference documentation.

 

OGG-01783: Cannot verify existence of table function that is required to enable schema level supplemental logging, {0}.

Cause: The function that is used to enable schema level supplemental logging (ADD SCHEMATRANDATA command) is missing from the database.

Action:  Apply Oracle Patch 10423000 to the source database.

 

OGG-01784: INFO SCHEMATRANDATA failed due to error during select start. Cause: The SELECT statement that underlies the INFO SCHEMATRANDATA command failed.

Action:  Try the command again. If the problem persists, contact Oracle Support.

 

OGG-01785: Schema level supplemental logging is enabled on schema {0}. Cause: Schema-level supplemental logging is enabled for all objects in the specified schema, as the result of the ADD SCHEMATRANDATA command.

Informational only.

Action: None

 

OGG-01786: Schema level supplemental logging is disabled on schema {0}.

Cause:  Schema-level supplemental logging is disabled for the specified schema, as the result of the DELETE SCHEMATRANDATA command. Informational only.

Action: None

 

OGG-01787: INFO SCHEMATRANDATA failed on schema {0} because of the following OCI error: {1}-{2}

Cause: A OCI error prevented Oracle GoldenGate from getting information about schema-level supplemental logging through the INFO SCHEMATRANDATA command.

Action: Fix the OCI error and retry the INFO SCHEMATRANDATA command. If the OCI error cannot be resolved, contact Oracle Support.

 

OGG-01788: SCHEMATRANDATA has been added on schema {0}.

 

 

Cause: The ADD SCHEMATRANDATA command enabled supplemental logging for all objects in the specified schema. Informational only.

Action: None

 

OGG-01789: Failed to ADD SCHEMATRANDATA on schema {0}, because schema does not exist.

Cause: The schema that is specified in the ADD SCHEMATRANDATA command does not exist.

Action: Fix any typographical errors or create the schema, and then retry the command.

 

OGG-01790: Failed to ADD SCHEMATRANDATA on schema {0} because of the following SQL error: {1}

Cause: The specified SQL error prevented the ADD SCHEMATRANDATA command from enabling supplemental logging for the specified schema.

Action:  Fix the SQL error and then retry ADD SCHEMATRANDATA.

 

OGG-01791: Failed to ADD SCHEMATRANDATA on schema {0} because of an internal error: {1}.

Cause:  An internal error occurred.

Action:  Contact Oracle Support.

 

OGG-01792: SCHEMATRANDATA has been deleted on schema {0}.

Cause:  Schema-level supplemental logging is disabled for the specified schema, as the result of the DELETE SCHEMATRANDATA command. Informational only.

Action: None

 

OGG-01793: Failed to DELETE SCHEMATRANDATA on schema {0}, because schema does not exist.

Cause: The DELETE SCHEMATRANDATA command failed because the specified schema does not exist.

Action: Verify that the correct schema is specified in the command input, and try the command again.

 

OGG-01794: Failed to DELETE SCHEMATRANDATA on schema {0} because of the following SQL error: {1}

Cause: DELETE SCHEMATRANDATA failed because of the specified SQL error.

Action:  Fix the SQL error and retry the command.

 

OGG-01795: Failed to DELETE SCHEMATRANDATA on schema {0} because of an internal error: {1}.

Cause:  An internal error occurred.

Action:  Contact Oracle Support.

 

OGG-01796: Schema: {0}, does not exist.

Cause:  The specified schema does not exist.

Action: Verify that the schema name is spelled correctly in the command or parameter input. Make certain that the schema still exists in the database.

 

OGG-01797: Table {0} column values will also be captured in native format: {1} Cause: ADDNATIVE is used for the specified table in a TABLE statement. In this mode, Extract will also capture supported data values in their native format.

 

 

Action: None

 

OGG-01798: Native data for table {0}, column {1} is not consistent.

Cause: Replicat encountered native data for a column in one operation, but not another. This condition can occur when the ‘_ADDNATIVE’ parameter is added to an Extract process without stopping and starting the associated Replicat processes.

Action:  Restart Replicat. If the problem persists, contact Oracle Support.

 

OGG-01799: Unable to rename file “{0}” to “{1}” (error {2,number,0}, {3})

Cause: The process could not rename the specified file on the local file system. Oracle GoldenGate cannot continue.

Action: Correct the problem based on the operating system error message that is returned. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01800: Unable to rename file “{0}” to “{1}” (error {2,number,0}, {3})

Cause: The process could not rename the specified file on the local file system. Oracle GoldenGate will continue processing.

Action: To avoid future warnings or possible failures related to this condition, correct the problem based on the operating system error message that is returned. If you cannot resolve the problem, contact Oracle Support.

 

OGG-01801: Invalid or unsupported character set {0} specified with {1} parameter. Cause: The error message is issued by an invalid or unsupported character set specified with _TRAILCHARSET parameter.

Action:  Specify a valid character set, then start Replicat again.

 

OGG-01802: Source column {0} contains invalid character and cannot be mapped to target column {1} during conversion from source character set {2} to target character set {3}.

Cause: The source column contains invalid character and cannot be mapped to target column.

Action: To replace invalid characters with valid ones from the target character set, specify _TRAILCHARSET paramerter with the REPLACEBADCHAR option.

 

OGG-01803: Implicit conversion of column data is being made from character set {0} to {1}. This may affect Replicat performance. To disable conversion, use NOCHARSETCONVERSION parameter.

Cause:  Oracle GoldenGate is performing character set conversion.

Action: To disable conversion, use NOCHARSETCONVERSION parameter.

 

OGG-01804: The character set {0} specified by {1} option is being used and overrides the trail file character set {2}.

Cause: The character set specified by _TRAILCHARSET is different from the character set in the trail header.

Action:  Remove _TRAILCHARSET from the Replicat parameter.

 

OGG-01805: Virtual memory allocation error: {0,number,0}) Cause:  An attempt to allocate virtual memory failed.

Action:  Contact Oracle Support.

 

OGG-01806: Virtual memory mmap allocation error: {0} (error: {1,number,0}) Cause:  An attempt to allocate virtual memory failed.

 

 

Action:  Contact Oracle Support.

 

OGG-01807: Virtual memory custom allocation error Cause: An attempt to allocate virtual memory failed. Action:  Contact Oracle Support.

OGG-01808: Virtual memory file read error Cause: An attempt to read a file failed. Action:  Contact Oracle Support.

OGG-01809: Virtual memory unmap error: {0} (error: {1,number,0}) Cause:  An attempt to unmap virtual memory failed.

Action:  Contact Oracle Support.

 

OGG-01810: Virtual memory custom deallocation error Cause: An attempt to deallocate virtual memory failed. Action:  Contact Oracle Support.

OGG-01811: Virtual memory file write error Cause: An attempt to write to a file failed. Action:  Contact Oracle Support.

OGG-01812: Virtual memory probe error: {0}

Cause:  An attempt to probe virtual memory failed.

Action:  Contact Oracle Support.

 

OGG-01813: invalid parameter

Cause:  An invalid parameter was passed to the VMF constructor.

Action:  Contact Oracle Support.

 

OGG-01814: file utility error: {0}: file: {1}: {2} (error: {3,number,0}) Cause:  The specified file utility function failed.

Action:  Contact Oracle Support.

 

OGG-01815: Virtual Memory Facilities for: {0}\n anon alloc: {1} anon free: {2}\n file alloc: {3}  file free: {4}\n target directories:\n{5}

Cause: The virtual memory facilities for the specified module and directories have been determined. Informational only.

Action: None

 

OGG-01816: Partial operations are not supported in this release.

Cause: Partial LOB/XML update operations are not supported for this database source or target.

Action: Add FETCHPARTIALLOB/FETCHPARTIALXML option(s) as appropriate in the TRANLOGOPTIONS parameter in the Extract parameter file, and then restart Extract.

 

OGG-01817: The DataFormat token encountered, 0x{0}, in the trail is unknown.

Cause:  The data format token in the trail record contains invalid data.

Action: Verify that the version of Extract and Replicat are compatible.

 

 

OGG-01819: Operation on table {0} with a deferrable constraint is not supported because a workspace is active.

Cause: A table with a deferrable constraint was modified in a transaction that has an open workspace for handling transient duplicates.

Action:  Remove the deferrable constraint, and then restart the process.

 

OGG-01820: Could not enable workspace

Cause: An attempt to handle transient duplicates in an update statement failed.

Action: Restart Replicat. If the problem persists, grant privileges to the Replicat user by running the dbms_goldengate_auth.grant_admin_privilege procedure. Also resolve any associated errors, such as OCI session errors.

 

OGG-01821: DYNAMICPORTREASSIGNDELAY parameter has been deprecated.

Value will be ignored.

Cause: The DYNAMICPORTREASSIGNDELAY parameter is not valid for the current Oracle GoldenGate version.

Action: Remove the DYNAMICPORTREASSIGNDELAY parameter from the parameter file.

 

OGG-01822: Invalid trail FORMAT RELEASE {0} is specified.

Cause:  Invalid trail FORMAT RELEASE is specified.

Action: Specify right FORMAT RELEASE such are 9.0/9.5, 10.0, 10.4/11.1, and 11.2.

 

OGG-01823: Invalid SHELL syntax: {0}. Shell command must be enclosed in parentheses or double quotes.

Cause: The command in EVENTACTIONS SHELL is not enclosed within parentheses or double quotes.

Action: Enclose the command within parentheses or double quotes, for example EVENTACTIONS SHELL (“myscript”) or EVENTACTIONS SHELL “myscript”.

 

OGG-01824: Resume processing from SUSPEND state for process {0}.

Cause:  The process is resuming after an EVENTACTIONS SUSPEND state.

Action:  None required.

 

OGG-01825: DDL operation ignored due to EMI [{0}], optype [{1}], objtype [{2}], objowner [{3}], objname [{4}]

Cause: The specified DDL operation was ignored according to the rule specified in EVENTACTIONS.

Action:  None required.

 

OGG-01826: SPECIALRUN task type is no longer supported for Capture processes.

Please see Adimistrators Refernce for additional information

Cause:  SPECIALRUN as a task type has been removed from Capture processes.

Action: Remove SPECIALRUN task type as a declaring attribute for Capture processes.

 

OGG-01827: SPECIALRUN task type is no longer supported for Capture processes.

Please see Adimistrators Refernce for additional information

Cause:  SPECIALRUN as a task type has been removed from Capture processes.

Action: Remove SPECIALRUN task type as a declaring attribute for Capture.

 

 

OGG-01900: Key column {2} cannot be specified in {1} clause of {0}

Cause: A key column is specified in the ALLEXCLUDING clause of the MAP statement.

Action:  Remove any key columns from the ALLEXCLUDING clause.

 

OGG-01901: Incompatible resolution {2} specified for {0}: {1}

Cause:  An incompatible resolution was given for the specified conflict.

Action: Specify a valid resolution for this conflict. For valid resolutions per conflict type, see RESOLVECONFLICT Oracle GoldenGate reference documentation.

 

OGG-01902: Unsupported datatype for column {1} specified in {0} clause

Cause: An unsupported data type is specified in the COMPARECOLS clause of the MAP statement or the GETBEFORECOLS of a TABLE statement.

Action: Specify a column that has a supported data type. For supported data types, see the Oracle GoldenGate reference documentation.

 

OGG-01903: Column {2} for {0}:{1} previously used in prior conflict resolution Cause: The same column is specified in more than one conflict resolution type. Action:  Select a different column or column group for each resolution type.

OGG-01904: Missing COLS clause for non-default conflict resolution {0}:{1} Cause: The RESOLVECONFLICT parameter specifies a non-DEFAULT resolution, but does not contain a COLS clause.

Action: Specify a COLS clause for a non-default resolution. For help with syntax, see the Oracle GoldenGate reference documentation.

 

OGG-01905: Missing apply col list for non-default conflict resolution {0}:{1}

Cause:  The RESOLVECONFLICT parameter specifies a non-DEFAULT resolution, but does not list columns in the COLS clause. For help with syntax, see the Oracle GoldenGate reference documentation.

Action: Specify one or more columns in a COLS clause for a non-default resolution. For help with syntax, see the Oracle GoldenGate reference documentation.

 

OGG-01906: Missing resolution column for conflict resolution {0}:{1}

Cause: The RESOLVECONFLICT parameter specifies a USEMIN or USEMAX resolution, but no resolution columns are specified. For help with syntax, see the Oracle GoldenGate reference documentation.

Action: Supply a resolution column for USEMIN or USEMAX resolution. For help with syntax, see the Oracle GoldenGate reference documentation.

 

OGG-01907: Null column {0} cannot be used in delta resolution

Cause: A null column was specified in the USEDELTA resolution in the RESOLVECONFLICT parameter.

Action:  Replace USEDELTA with an appropriate resolution for null columns.

 

OGG-01908: Duplicate specification found for {0} conflict

Cause:  A conflict type was specified more than once in a MAP statement.

Action:  Remove duplicate conflict specification.

 

OGG-01909: Invalid ({2}) columns specified in {1} resolution of conflict {0}

 

 

Cause: An invalid number of resolution columns was specified for the chosen conflict type.

Action:  Specify only one resolution column per conflict type.

 

OGG-01910: Missing apply columns in non-default conflict resolution {0}:{1} Cause: A non-default resolution was specified in RESOLVECONFLICT, but the apply (target) columns are not specified.

Action:  Specify at least one apply column in a non-default conflict resolution.

 

OGG-01911: Missing column specification in {1} option of {0}

Cause:  Missing column in COMPARECOLS/GETBEFORECOLS option.

Action: Specify at least one column in the COMPARECOLS/GETBEFORECOLS option.

 

OGG-01912: Duplicate specification of {1} {2} clause in {0} parameter

Cause: Duplicate specification of a COMPARECOLS/GETBEFORECOLS clause in a MAP statement.

Action:  Remove duplicate COMPARECOLS/GETBEFORECOLS clause.

 

OGG-01913: Duplicate {0} parameter found

Cause: Duplicate specification of a conflict resolution parameter in a MAP statement.

Action:  Remove the duplicate parameter specification.

 

OGG-01914: Duplicate {1} resolution found for conflict {0}

Cause:  A duplicate resolution name is specified for this conflict.

Action:  Specify a unique name for each resolution.

 

OGG-01915: Missing DEFAULT resolution for conflict {0}

Cause:  The specified conflict does not contain a DEFAULT resolution.

Action: Specify a DEFAULT resolution for this conflict in the RESOLVECONFLICT parameter.

 

OGG-01916: Missing or incomplete specification of resolution {1} for conflict {0} Cause: The resolution for the specified conflict is missing or incomplete.

Action: Specify a valid resolution for this conflict. For valid resolutions per conflict type, see RESOLVECONFLICT Oracle GoldenGate reference documentation.

 

OGG-01917: Incorrect or incomplete specification of RESOLVECONFLICT {0} Cause:  The conflict clause of the RESOLVECONFLICT statement is incomplete.

Action: Specify a valid conflict for this RESOLVECONFLICT parameter. For help, see the Oracle GoldenGate reference documentation.

 

OGG-01918: Missing option {1} or incomplete specification of {0} Cause: Missing or incomplete specification in COMPARECOLS/GETBEFORECOLS parameter.

Action: Specify valid COMPARECOLS and GETBEFORECOLS options. For help, see the Oracle GoldenGate reference documentation.

 

OGG-01919: Missing RESOLVECONFLICT for SQL error {0}

 

 

Cause: An apply conflict was detected, but the Replicat parameter file does not contain a RESOLVECONFLICT parameter to resolve it.

Action:  Specify a matching RESOLVECONFLICT to enable conflict resolution.

 

OGG-01920: Missing COMPARE COL {0} in before image

Cause: The specified column is in a COMPARECOLS parameter, but is not specified with a GETBEFORECOLS parameter.

Action: Specify the column in a GETBEFORECOLS parameter in the Extract parameter file, so that before images are available for comparison.

 

OGG-01921: Missing GETBEFORECOLS with conflict detection enabled in target table {0}

Cause: The specified table has a RESOLVECONFLICT parameter, but the before columns required by COMPARECOLS are not specified with GETBEFORECOLS.

Action: Specify GETBEFORECOLS in the Extract parameter file so that before images are captured for COMPARECOLS.

 

OGG-01922: Missing RESOLUTION COLUMN {0}

Cause: The before image of the specified column is not available for the conflict resolution.

Action: Specify this column in a GETBEFORECOLS parameter in the Extract parameter file.

 

OGG-01923: Conflict resolution failed with SQL error {0} on original conflict with SQL error {1}

Cause:  A conflict resolution failed with the specified SQL error.

Action: Identify the cause of the SQL error, and then restart Replicat.

 

OGG-01924: Missing parenthesis for {0}

Cause: The GETBEFORECOLS or COMPARECOLS parameter contains an invalid specification.

Action: Specify valid COMPARECOLS or GETBEFORECOLS options. For help, see the Oracle GoldenGate reference documentation.

 

OGG-01925: Ignoring redundant string {2} in {0} clause: {1}

Cause:  A redundant string was found in the specified parameter.

Action:  Remove the redundant string from the parameter.

 

OGG-02000: WARNING: Ignoring Option {0} because it is incompatible with an integrated capture configuration.

Cause:  The specified option is not valid in an integrated capture configuration.

Action:  Remove the incompatible option from the Extract parameter file.

 

OGG-03000: Table {0} has non-ASCII character or special character such as white space or dot that is not supported when NOEXTATTR option is specified.

Cause: DEFGEN was run with the NOEXTATTR parameter, and the specified table contains a non-ASCII or special character.

Action: Exclude the table from the DEFGEN parameter file, or run DEFGEN without the NOEXTATTR parameter.

 

OGG-03001: Column {0} of table {1} has a non-ASCII character or special character that is not supported when NOEXTATTR option is specified.

 

 

Cause:  DEFGEN was run with the NOEXTATTR parameter, and the column of the specified table contains a non-ASCII or special character, such as a white space or dot.

Action: Exclude the table from the DEFGEN parameter file, or run DEFGEN without the NOEXTATTR parameter.

 

OGG-03002: Target table {0} does not exist. Inexact wildcard match table {1} is being used for target table.

Cause: No table name exactly matches the target wildcard specification. A table with a name that is an inexact match was used as the target.

Action:  None required.

 

OGG-03003: Target table {0} has a non-ASCII or special character, such as white space or dot, that is incompatible with trail format level {1}.

Cause: The name of the target table is incompatible with a trail format that is prior to the 11.2.1 release format.

Action:  Exclude or rename the table that is in the TARGET clause, or specify

11.2.1 or later for the FORMAT RELEASE option the of EXTTRAIL, RMTTRAIL, EXTFILE, or RMTFILE parameters.

 

OGG-03004: Unknown source column character set. Cannot map source column {0} to target column {1}

Cause: The trail file is written by Extract version 11.1 or earlier, but the _ TRAILCHARSET parameter is specified.

Action: Specify the _TRAILCHARSET parameter or do not map a CHAR/VARCHAR column to an NCHAR/NVARCHAR column.

 

OGG-03005: Unable to find matching parenthesis for token {0} at location {1}.

Cause:  There is a syntax error in the parameter file.

Action: Fix the syntax error in the token specification that contains incomplete parentheses.

 

OGG-03500: WARNING: NLS_LANG environment variable does not match database character set, or not set. Using database character set value of {0} Cause: The NLS_LANG environment variable is not set to the same as the

database character set. Oracle GoldenGate is using the database character set.

Action: None

 

OGG-03501: WARNING: NLS_LANG environment variable is invalid or not set.

Using operating system character set value of {0}

Cause: The NLS_LANG environment variable is not set or does not contain a valid value. Oracle GoldenGate is using the operating system character set.

Action: None

 

OGG-04000: VAM module attempted to retrieve Conflict Detection Resolution column indexes for deletes from GG_ATTR_MD_CDRCOLS_DEL array, but none are available (GG_ATTR_MD_CDRCOLS_COUNT_DEL =0).

Cause: The VAM module failed to retrieve the column array of the indexes that represent the Conflict Detection Resolution columns for deletes in the table. GG_ ATTR_MD_CDRCOLS_COUNT_DEL gives the number of delete CDR column indexes in the array; if zero, no indexes exist. In this case, a call to GG_ATTR_ CDRCOLS_DEL should not be made. This is a development error that may require a bug report.

 

 

Action:  Contact Oracle Support.

 

OGG-04001: VAM module attempted to retrieve Conflict Detection Resolution column indexes for updates from GG_ATTR_MD_CDRCOLS_UPD array, but none are available (GG_ATTR_MD_CDRCOLS_COUNT_UPD =0).

Cause: The VAM module failed to retrieve the column array of the indexes that represent the Conflict Detection Resolution columns for updates in the table. GG_ ATTR_MD_CDRCOLS_COUNT_UPD gives the number of update CDR column indexes in the array; if zero, no indexes exist. In this case, a call to GG_ATTR_ CDRCOLS_UPD should not be made. This is a development error that may require a bug report.

Action:  Contact Oracle Support.

 

Oracle Clusterware 11g Release 2集群件clusterware详解

 

本文永久地址:https://www.askmac.cn/archives/oracle-clusterware-11-2.html

 

到Oracle数据库11g第2版(11.2)的过渡中,Oracle集群做了大量的改变,完全重新设计了CRSD,引进了“本地CRS”(OHASD)和紧密集成的代理层更换RACK层。新的功能,如Grid Naming Service,即插即用,集群时间同步服务和Grid IPC。集群同步服务(CSS)可能是影响最小的变化,但它提供支持新功能的功能,以及添加了新的功能,如支持IPMI。

 

有了这个技术文件,我们想借此机会,提供所有的我们已经积累了多年的11.2的发展技术,并将其转发给那些刚刚开始学习Oracle 11.2集群的人。本文提供了总体概述,以及相关的诊断和调试的详细信息。

由于这是Oracle集群诊断文章的第一版本,而不是11.2集群覆盖的全部详细信息。如果你觉得你可以对本文档提供帮助与修改,请告诉我们。

 

1. Oracle 集群架构

这节将介绍Oracle集群的主要守护进程

1.1 守护进程(Daemons)和代理(agent)概述

下图是关于Oracle集群11.2版本所使用的守护进程,资源和代理的高度概括。

11.2版本和之前的版本的第一个大的区别就是OHASD守护进程,替代了所有在11.2之前版本里的初始化脚本。

11.2clusterware1

 

Oracle高可用服务守护进程 (OHASD)

Oracle集群由两个独立的堆栈组成。上层Cluster Ready Services守护进程(CRSD)堆栈和下层Oracle High Availability Services守护进程(ohasd)堆栈。这两个堆栈有促进集群操作几个进程。下面的章节将详细介绍这些内容。

OHASD是启动一个节点的所有其他后台程序的守护进程。OHASD将替换所有存在于11.2之前版本的初始化脚本。

OHASD入口点是/etc/inittab文件,其执行/etc/init.d/ohasd和/etc/init.d/init.ohasd。/etc/init.d/ohasd脚本是包含开始和停止操作的RC脚本。/etc/init.d/init.ohasd脚本是OHASD框架控制脚本将生成Grid_home/bin/ ohasd.bin可执行文件。

集群控制文件位于/ etc/ ORACLE / scls_scr/<hostname>/root(这是Linux的位置),并维护CRSCTL;换句话说,一个“crsctl enable / disable crs”命令将更新该目录中的文件。

 

如:

[root@rac1 root]# ls /etc/oracle/scls_scr/rac1/root

crsstart  ohasdrun  ohasdstr

 

# crsctl enable -h

Usage:

crsctl enable crs

Enable OHAS autostart on this server

 

# crsctl disable –h

Usage:

crsctl disable crs

Disable OHAS autostart on this server

 

scls_scr/<hostname>/root/ohasdstr文件的内容是控制CRS堆栈的自动启动;文件中的两个可能的值是“enable” – 启用自动启动,或者“disable” – 禁用自动启动。
scls_scr/<hostname>/root/ohasdrun文件控制init.ohasd脚本。三个可能的值是“reboot” – 和OHASD同步,“restart” – 重启崩溃的OHASD,“stop” – 计划OHASD关机。
Oracle 11.2集群有OHASD最大的好处是在一个集群的方式运行某些CRSCTL命令的能力。命令是完全独立于操作系统,因此他们只能靠ohasd。如果ohasd正在运行,则远程操作,如启动,停止和检查远程节点的堆栈状态都是可以执行的。

集群命令包括:

  • crsctl check cluster
  • crsctl start cluster
  • crsctl stop cluster

 

[root@rac2 bin]# ./crsctl stop cluster

CRS-2673: Attempting to stop ‘ora.crsd’ on ‘rac2’

CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on ‘rac2’

CRS-2673: Attempting to stop ‘ora.OCR_VOTEDISK.dg’ on ‘rac2’

CRS-2673: Attempting to stop ‘ora.registry.acfs’ on ‘rac2’

。。。。。。。。。。。。。

 

[root@rac2 bin]# ./crsctl start cluster

CRS-2672: Attempting to start ‘ora.cssdmonitor’ on ‘rac2’

CRS-2676: Start of ‘ora.cssdmonitor’ on ‘rac2’ succeeded

CRS-2672: Attempting to start ‘ora.cssd’ on ‘rac2’

CRS-2672: Attempting to start ‘ora.diskmon’ on ‘rac2’

CRS-2676: Start of ‘ora.diskmon’ on ‘rac2’ succeeded

。。。。。。。。。。。。。

 

[root@rac2 bin]# ./crsctl check cluster

CRS-4537: Cluster Ready Services is online

CRS-4529: Cluster Synchronization Services is online

CRS-4533: Event Manager is online

 

OHASD能执行更多的功能,如处理和管理Oracle本地库(OLR),以及作为OLR服务器。在集群中,OHASD以root身份运行;在Oracle重新启动的环境下,以Oracle用户运行OHASD管理应用程序资源。

OHASD Resource Dependency(OHASD资源依赖)

 

Oracle 11.2的集群堆栈由OHASD守护进程启动,这本身是由一个启动了的节点的/etc/init.d/init.ohasd脚本产生的。另外用’CRSCTL stop CRS后用‘CRSCTL start CRS‘,ohasd开始运行的节点上。然后OHASD守护进程将启动其他守护进程和代理。每个集群守护进程由存储在OLR的OHASD资源表示。下面的图表显示了OHASD资源/集群守护程序和各自的代理进程和所有者的关系。

 

Resource Name Agent Name Owner
ora.gipcd oraagent crs user
ora.gpnpd oraagent crs user
ora.mdnsd oraagent crs user
ora.cssd cssdagent Root
ora.cssdmonitor cssdmonitor Root
ora.diskmon orarootagent Root
ora.ctssd orarootagent Root
ora.evmd oraagent crs user
ora.crsd orarootagent Root
ora.asm oraagent crs user
ora.driver.acfs orarootagent Root
ora.crf (new in 11.2.0.2) orarootagent root

 

下面的图片显示OHASD管理资源/守护进程之间的所有资源依赖关系:

11.2clusterware2

Daemon Resources(守护进程资源)

 

一个节点典型的守护程序资源列表如下。要获得守护资源列表,我们需要使用-init标志和CRSCTL命令。

[grid@rac1 admin]$ crsctl stat res -init -t

——————————————————————————-

NAME           TARGET  STATE        SERVER                   STATE_DETAILS

——————————————————————————-

Cluster Resources

——————————————————————————-

ora.asm

1        ONLINE  ONLINE       rac1                     Started

ora.cluster_interconnect.haip

1        ONLINE  ONLINE       rac1

ora.crf

1        ONLINE  OFFLINE

ora.crsd

1        ONLINE  ONLINE       rac1

。。。。。。

 

 

下面的列表会显示所使用的类型和层次。一切是建立在基本“resource”类型上。cluster_resource使用“resource”类型作为基本类型。cluster_resource作为基本类型构建出ora.daemon.type,守护进程资源都是使用“ora.daemon.type”类型作为基本类型。

[grid@rac1 admin]$ crsctl stat type -init

TYPE_NAME=application

BASE_TYPE=cluster_resource

 

TYPE_NAME=cluster_resource

BASE_TYPE=resource

 

TYPE_NAME=generic_application

BASE_TYPE=cluster_resource

 

TYPE_NAME=local_resource

BASE_TYPE=resource

 

TYPE_NAME=ora.asm.type

BASE_TYPE=ora.daemon.type

 

TYPE_NAME=ora.crf.type

BASE_TYPE=ora.daemon.type

 

TYPE_NAME=ora.crs.type

BASE_TYPE=ora.daemon.type

 

TYPE_NAME=ora.cssd.type

BASE_TYPE=ora.daemon.type

 

TYPE_NAME=ora.cssdmonitor.type

BASE_TYPE=ora.daemon.type

 

TYPE_NAME=ora.ctss.type

BASE_TYPE=ora.daemon.type

 

TYPE_NAME=ora.daemon.type

BASE_TYPE=cluster_resource

 

TYPE_NAME=ora.diskmon.type

BASE_TYPE=ora.daemon.type

 

TYPE_NAME=ora.drivers.acfs.type

BASE_TYPE=ora.daemon.type

 

TYPE_NAME=ora.evm.type

BASE_TYPE=ora.daemon.type

 

TYPE_NAME=ora.gipc.type

BASE_TYPE=ora.daemon.type

 

TYPE_NAME=ora.gpnp.type

BASE_TYPE=ora.daemon.type

 

TYPE_NAME=ora.haip.type

BASE_TYPE=cluster_resource

 

TYPE_NAME=ora.mdns.type

BASE_TYPE=ora.daemon.type

 

TYPE_NAME=resource

BASE_TYPE=

 

用ora.cssd资源作为一个例子,所有的ora.cssd属性可以使用crsctl stat res ora.cssd –init –f显示。(列出一部分比较重要的)

[grid@rac1 admin]$ crsctl stat res ora.cssd -init -f

NAME=ora.cssd

TYPE=ora.cssd.type

STATE=ONLINE

TARGET=ONLINE

ACL=owner:root:rw-,pgrp:oinstall:rw-,other::r–,user:grid:r-x

AGENT_FILENAME=%CRS_HOME%/bin/cssdagent%CRS_EXE_SUFFIX%

CHECK_INTERVAL=30

CLEAN_ARGS=abort

CLEAN_COMMAND=

CREATION_SEED=6

CSSD_MODE=

CSSD_PATH=%CRS_HOME%/bin/ocssd%CRS_EXE_SUFFIX%

CSS_USER=grid

ID=ora.cssd

LOGGING_LEVEL=1

START_DEPENDENCIES=weak(concurrent:ora.diskmon)hard(ora.cssdmonitor,ora.gpnpd,ora.gipcd)pullup(ora.gpnpd,ora.gipcd)

STOP_DEPENDENCIES=hard(intermediate:ora.gipcd,shutdown:ora.diskmon,intermediate:ora.cssdmonitor)

 

为了调试守护进程资源,-init标志一直要用。要启用额外的调试例如ora.cssd:

[root@rac2 bin]# ./crsctl set log res ora.cssd:3 -init

Set Resource ora.cssd Log Level: 3

检查log级别

[root@rac2 bin]# ./crsctl get log res ora.cssd -init

Get Resource ora.cssd Log Level: 3

要检查资源属性,如log级别:

[root@rac2 bin]# ./crsctl stat res ora.cssd -init -f | grep LOGGING_LEVEL

DAEMON_LOGGING_LEVELS=CSSD=2,GIPCNM=2,GIPCGM=2,GIPCCM=2,CLSF=0,SKGFD=0,GPNP=1,OLR=0

LOGGING_LEVEL=3

代理(Agents)

Oracle 11.2集群引入了一个新概念,代理,这使得Oracle集群更强大和高性能。这些代理是多线程的守护进程,实现多个资源类型的入口点和为不同的用户生成新流程。代理是高可用的,此外oraagent,orarootagent和cssdagent/ cssdmonitor,可以有一个应用程序代理和脚本代理。
两个主要代理是oraagent和orarootagent。 ohasd和CRSD各使用一个oraagent和一个orarootagent。如果CRS用户和Oracle用户不同,那么CRSD将利用两个oraagent和一个orarootagent。

 

 

oraagent

ohasd’s oraagent:

  • 实现对asm, ora.evmd, ora.gipcd, ora.gpnpd, ora.mdnsd的启动/停止/检查/清除操作。

crsd’s oraagent:

  • 实现对asm, ora.eons, ora.LISTENER.lsnr, SCAN listeners, ora.ons的启动/停止/检查/清除操作
  • 实现对服务, 数据库和磁盘组的启动/停止/检查/清除操作
  • Receives eONS events, and translates and forwards them to interested clients (eONS will be removed and its functionality included in EVM in 2.0.2)
  • Receives CRS state change events and dequeues RLB events and enqueues HA events for OCI and ODP.NET clients

orarootagent

ohasd’s orarootagent:

  • 实现对ora.crsd, ora.ctssd, ora.diskmon, ora.drivers.acfs, ora.crf (11.2.0.2)的启动/停止/检查/清除操作。

crsd’s orarootagent:

  • 实现对GNS, VIP, SCAN VIP和网络资源的启动/停止/检查/清除操作。

cssdagent / cssdmonitor

请参照章节: “cssdagent and cssdmonitor”.

 

Application agent / scriptagent

请参照章节:“application and scriptagent”.

 

Agent Log Files

ohasd/crsd代理的日志放在Grid_home/log/<hostname>/agent/ {ohasd|crsd}/ <agentname>_<owner>/ <agentname>_<o wner>.log.例如,ora.crsd是ohasd管理属于root用户,那么代理的日志名字为:

Grid_home/log/<hostname>/agent/ohasd/orarootagent_root/orarootagent_root.log

 

[grid@rac2 orarootagent_root]$ ls /u01/app/11.2.0/grid/log/rac2/agent/ohasd/orarootagent_root

orarootagent_root.log  orarootagent_rootOUT.log  orarootagent_root.pid

同一个代理日志可以存放不同资源的日志,如果这些资源是由相同的守护进程管理的。

如果一个代理进程崩溃了,

-核心文件将被写入

Grid_home/log/<hostname>/agent/{ohasd|crsd}/<agentname>_<owner>

-堆栈调用将写入

Grid_home/log/<hostname>/agent/{ohasd|crsd}/<agentname>_<owner>/<agentna me>_<owner>OUT.log

代理日志的格式如下:

<timestamp>:[<component>][<thread id>]…

<timestamp>:[<component>][<thread id>][<entry point>]…

例如:

2016-04-01 13:39:23.070: [ora.drivers.acfs][3027843984]{0:0:2} [check] execCmd ret = 0

[  clsdmc][3015236496]CLSDMC.C returnbuflen=8, extraDataBuf=A6, returnbuf=8D33FD8

2016-04-01 13:39:24.201: [ora.ctssd][3015236496]{0:0:213} [check] clsdmc_respget return: status=0, ecode=0, returnbuf=[0x8d33fd8], buflen=8

2016-04-01 13:39:24.201: [ora.ctssd][3015236496]{0:0:213} [check] translateReturnCodes, return = 0, state detail = OBSERVERCheckcb data [0x8d33fd8]: mode[0xa6] offset[343 ms].

如果发生错误,确定发生了什么的入口点:

-集群告警日志,Grid_home/log/<hostname>/alert<hostname>.log

如:/u01/app/11.2.0/grid/log/rac2/alertrac2.log

-OHASD/CRSD日志

Grid_home/log/<hostname>/ohasd/ohasd.log

Grid_home/log/<hostname>/crsd/crsd.log

-对应的代理日志文件

请记住,一个代理日志文件将包含多个资源的启动/停止/检查。以crsd orarootagent资源名称”ora.rac2.vip”为例。

[root@rac2 orarootagent_root]# grep ora.rac2.vip orarootagent_root.log

。。。。。。。。

2016-04-01 12:30:33.606: [ora.rac2.vip][3013606288]{2:57434:199} [check] Failed to check 192.168.1.102 on eth0

2016-04-01 12:30:33.607: [ora.rac2.vip][3013606288]{2:57434:199} [check] (null) category: 0, operation: , loc: , OS error: 0, other:

2016-04-01 12:30:33.607: [ora.rac2.vip][3013606288]{2:57434:199} [check] VipAgent::checkIp returned false

。。。。。。。。。。。。。

 

集群同步服务(CSS)

CSS守护进程(OCSSD)管理集群的配置,集群里有哪些节点,并在有节点离开或加入时通知集群成员。

ASM和数据库实例的其他集群守护进程依赖于一个有效的CSS。如果OCSSD因任何原因不能引导程序,比如没有发现投票的文件信息,所有其他层级将无法启动。
OCSSD还可以通过网络心跳(NHB)和磁盘心跳(DHB)监控集群的健康。NHB是主要的指标,一个节点还活着,并能参与群集。而DHB将主要用于解决脑裂。

主要的集群线程成员

下面的部分将列出并解释ocssd使用的线程。

– 集群监听线程(CLT) – 试图在启动时连接到所有远程节点,接收和处理所有收到的消息,并响应其他节点的连接请求。每当从节点收到一个数据包,监听重置该节点漏掉的统计数量。

– 发送线程(ST) -专门每秒发送一次网络心跳(NHB)到所有节点,和使用grid IPC(GIPC)每秒发送一次当地的心跳(LHB)到cssdagent和cssdmonitor。

 

– 投票线程(PT) – 监视远程节点的NHB的。如果CSS守护进程之间的通信通道发生故障时,心跳会被错过。如果某一个节点有太多的心跳信号被错过了,它被怀疑是关闭或断开。重新配置的线程会被唤醒,重新配置将发生,并最终将一个节点驱逐。

 

  • 重新配置管理线程

在重新配置管理节点,唤醒的重新配置管理线程着眼于每个节点,看哪些节点已经错过了NHB的太久。在重新配置管理器线程参与了与其他CSS守护程序投票过程中,一旦确定了新的群集成员,重新配置管理器线程会在投票的文件写入驱逐通知。该RMT还发送关闭消息给被驱逐的节点。投票文件会监控检查心跳的裂脑,直到他们的磁盘心跳已经停止了<misscount>秒,远程节点才会被踢走。

 

– 发现进程 -发现投票文件

– 避开线程 – 用于I / O防护diskmon进程通信,如果使用EXADATA。
投票文件群集成员线程

 

– 磁盘ping线程(每个投票的文件)

与它相关联的节点数量和递增序列号的投票文件一起写入群集成员的当前视图;

读取驱逐通知看它的主机节点是否已被驱逐;
这个线程还监视远程节点投票磁盘心跳信息。磁盘心跳信息,以便重新配置过程中用于确定一个远程OCSSD是否已经终止。

 

– kill block线程 – (每个投票的文件)监控投票文件可用性,以确保足够可访问的投票文件的数量。如果使用的Oracle冗余,我们需要配置多数投票磁盘在线。

– 工作线程 – (11.2.0.1里新增加的,每个投票文件)各种I / O在投票文件。

– 磁盘Ping监视器 – 监视器的I / O投票文件状态

此监视线程,确保磁盘ping线程正确地读取多数投票配置文件里的kill blocks。如果我们不能对投票文件进行I/O操作,由于I / O挂起或I / O故障或其他原因,我们把这个投票文件设置离线。该线程监视磁盘ping线程。如果CSS是无法读取多数投票的文件,它可能不再获得至少一个盘在所有的节点上。这个节点有可能会错过的驱逐通知;换句话说,CSS是不能够进行合作,并必须被终止。

 

其他线程- Occasionally

– 节点杀死线程 – (瞬时的)用于通过IPMI杀死节点
– 成员杀死线程 – (瞬时的)杀成员期间使用
成员-杀死(监控)线程

本地杀死线程 – 当一个CSS客户端开始杀死成员,当地CSS杀死线程将被创建
– SKGXN监视器(skgxnmon只出现在供应商集群)

这个线程寄存器与SKGXN节点组的成员观察节点组成员身份的变化。当重新配置事件发生时,该线程从SKGXN请求当前节点组成员的位图,并将其与它接收到的最后的时间和其他两个位图的当前值的位图:驱逐待定,其标识节点在被关闭中,VMON的组成员,这表明其节点的过程oclsmon仍在运行(节点仍然是up的)。当一个成员的转变被确认,节点监视线程启动相应的操作。

 

其他CSS知识

在Oracle集群11g第2版(11.2)减少了配置要求,这意味节点启动时自动添加回去,如果已经停机很久则删除它们。停止超过一个星期都不再olsnodes报道的服务器。当他们离开集群这些服务器自动管理,所以你不必从集群中明确地将其删除。

 

固定节点

相应的命令来更改节点固定行为(固定或不固定任何特定节点),是crsctl pin/unpin的CSS命令。固定节点是指节点名称与节点号码的关联是固定的。如果一个节点不固定,如果租赁到期时,节点号可能会改变。一个固定节点的租约永不过期。用crsctl delete node命令删除一个节点隐含取消节点固定。
– 在Oracle集群升级,所有服务器都固定,而经过Oracle集群的全新安装11g第2版(11.2),您添加到集群中的所有服务器都不固定。
– 在安装了11.2集群的服务器上有比11.2早版本的实例,那么您无法取消固定。

固定一个节点需要滚动升级到Oracle集群件11g第2版(11.2),将自动完成。我们已经看到有客户进行手动升级失败,是因为没有固定节点。

端口分配

对于CSS和节点监视器固定端口分配已被删除,所以不应该有与其他应用程序的端口竞争。唯一的例外是滚动升级过程中我们分配两个固定的端口。

GIPC

该CSS层是使用新的通信层Grid PC(GIPC),它仍然支持11.2之前使用CLSC通信层。在11.2.0.2,GIPC将支持的使用多个NIC的单个通信链路,例如CSS / NM间的通信。

集群告警日志

多个cluster_alert.log消息已被添加便于更快的定位问题。标识符将在alert.log和链接到该问题的守护程序日志条目都被打印。标识符是组件中唯一的,例如CSS或CRS。

2009-11-24 03:46:21.110

[crsd(27731)]CRS-2757:Command ‘Start’ timed out waiting for response from the resource ‘ora.stnsp006.vip’. Details at (:CRSPE00111:) in

/scratch/grid_home_11.2/log/stnsp005/crsd/crsd.log.

 

2009-11-24 03:58:07.375

[cssd(27413)]CRS-1605:CSSD voting file is online: /dev/sdj2; details in

/scratch/grid_home_11.2/log/stnsp005/cssd/ocssd.log.

 

独占模式

在Oracle集群11g第2版(11.2)集群独占模式是一个新的概念。此模式将允许您在一个节点上启动堆栈无需其他跟多的堆栈启动。投票文件不是必需的,不需要的网络连接。此模式用于维护或故障定位。因为这是一个用户调用命令确保在同一时刻只有一个节点是开启的。在独占模式下root用户在某一个节点上使用crsctl start crs –excl命令启动堆栈。

如果集群中的另一个节点已经启动,那么独占模式启动时将失败。OCSSD守护进程会主动去检查节点,如果发现有其他节点已经启动,那么启动将失败报CRS-4402。这不是错误;这是一个预期的行为时,因为另一节点已经启动。约翰·利思说,“你收到CRS-4402时是没有错误文件的”。

 

发现投票文件

识别投票文件的方法在11.2已经改变。投票文件在11.1和更早版本里的OCR配置,在11.2投票文件通过在GPNP配置文件中的CSS文件投票字符串的发现位置。 例如:

CSS voting file discovery string referring to ASM

发现CSS投票文件字符串指向SM,所以将使用在ASM搜寻字符串值。最常见的是你会看到系统这个配置(例如Linux中,使用旧的2.6内核),其中裸设备仍可配置,裸设备被CRS和ASM使用。

例如:

<orcl:CSS-Profile id=”css” DiscoveryString=”+asm” LeaseDuration=”400″/>

<orcl:ASM-Profile id=”asm” DiscoveryString=”” SPFile=””/>

对于ASM搜寻字符串空值意味着它将恢复到特定的操作系统默认情况下。在Linux上就是/dev/raw/raw*。

 

CSS voting file discovery string referring to list of LUN’s/disks

在下面的例子中,CSS文件投票字符串发现其实是指磁盘/ LUN列表中。这可能是配置在块设备或设备使用非默认位置。在这种情况下,对于CSS VF发现字符串与ASM发现字符串的值是相同的。

<orcl:CSS-Profile id=”css” DiscoveryString=”/dev/shared/sdsk-a[123]-*-part8″ LeaseDuration=”400″/>

<orcl:ASM-Profile id=”asm” DiscoveryString=”/dev/shared/sdsk-a[123]-*-part8 SPFile=””/>

 

一些投票文件标识符必须在磁盘上找到接受它作为一种投票磁盘:文件的唯一标识符,集群GUID和匹配的配置化身号(CIN)。可以使用vdpatch检查设备是否是一个投票文件。

 

CSS租约

获得租约的机制是通过获得该节点的节点数字。租约表示一个节点拥有由租约期限定义的周期关联的节点数量。一个租借期限在GPNP参数文件里硬编码为一个星期。一个节点拥有从上次续租的时间租约的租期。租赁是考虑每DHB过程中得到更新。因此,租赁期满被定义
如下 – lease expiry time = last DHB time + lease duration(租约到期时间=最后一次DHB时间+租约期限)。

有两种类型的租约

– 固定租约
节点使用硬编码的静态节点数量。固定租约是指涉及到使用静态节点号旧版本集群的升级方案中使用。
– 不固定租约
一个节点动态获取节点号使用租约获得算法。租约获得算法旨在解决其试图在同一时间获得相同的插槽节点之间的冲突。

对于一个成功的租约操作会记录在Grid_home/log/<hostname>/alert<hostname>.log,

[cssd(8433)]CRS-1707:Lease acquisition for node staiv10 number 5 completed

对于租约失败的,会有一些信息记录在<alert>hostname.log和ocssd.log。在当前版本中没有可调调整租约。

 

 解决脑裂

下面的章节将描述主要的组件和技术用来解决脑裂。

Heartbeats心跳

CSS的使用集群成员的两个主要的心跳机制,网络心跳(NHB)和磁盘心跳(DHB)。心跳机制是故意冗余的,它们用于不同的目的。在NHB用于检测群集连接丢失的,而DHB主要用于脑裂解决。每个群集节点必须参加心跳协议为了被认为是健康的集群成员。

 

Network Heartbeat (NHB)

该NHB是在集群安装过程中配置为私有互连专用网络接口。CSS每秒钟从一个节点发送NHB到集群中的所有其他节点,并从远程节点接收每秒一个NHB。该NHBB也发送cssdmonitor和cssdagent。

在NHB包含从本地节点时间戳信息,并用于远程节点找出NHB被发送。这表明一个节点可以参与集群的活动,例如组成员的变化,消息发送等。如果NHB缺少<misscount>秒(在Linux11.2数据库中30),集群成员资格更改(群集重新配置)是必需的。如果网络连接在小于<misscount>秒恢复连接到该网络,那么就不一定是致命的。
要调试NHB问题,增加OCSSD日志级别为3对于看每个心跳消息有时是有帮助的。在每个节点上的root用户运行CRSCTL设置日志命令:

# crsctl set log css ocssd:3

监测misstime最大值,看看是否misscount正在增加,这将定位网络问题。

 

# tail -f ocssd.log | grep -i misstime

 

2009-10-22 06:06:07.275: [    ocssd][2840566672]clssnmPollingThread: node 2,

stnsp006, ninfmisstime 270, misstime 270, skgxnbit 4, vcwmisstime 0, syncstage 0

2009-10-22 06:06:08.220: [    ocssd][2830076816]clssnmHBInfo: css timestmp

1256205968 220 slgtime 246596654 DTO 28030 (index=1) biggest misstime 220 NTO

28280

2009-10-22 06:06:08.277: [    ocssd][2840566672]clssnmPollingThread: node 2,

stnsp006, ninfmisstime 280, misstime 280, skgxnbit 4, vcwmisstime 0, syncstage 0

2009-10-22 06:06:09.223: [    ocssd][2830076816]clssnmHBInfo: css timestmp

1256205969 223 slgtime 246597654 DTO 28030 (index=1) biggest misstime 1230 NTO

28290

2009-10-22 06:06:09.279: [    ocssd][2840566672]clssnmPollingThread: node 2,

stnsp006, ninfmisstime 270, misstime 270, skgxnbit 4, vcwmisstime 0, syncstage 0

2009-10-22 06:06:10.226: [    ocssd][2830076816]clssnmHBInfo: css timestmp

1256205970 226 slgtime 246598654 DTO 28030 (index=1) biggest misstime 2785 NTO

28290

 

要显示当前misscount设置的值,使用命令crsctl get css misscount。我们不支持misscount设置默认值以外的值。

 

[grid@rac2 ~]$ crsctl get css misscount

CRS-4678: Successful get misscount 30 for Cluster Synchronization Services.

 

Disk Heartbeat (DHB)

除了NHB,我们需要使用DHB来解决脑裂。它包含UNIX本地时间的时间戳。

DHB明确的机制,决定有关节点是否还活着。当DHB心跳丢失时间过长,则该节点被假定为死亡。当连接到磁盘丢失时间’过长’,盘会考虑脱机。
关于“太长”的定义取决于对DHB下列情形。首先,长期磁盘I / O超时(LIOT),其中有一个默认的200秒的设定。如果我们不能在时间内完成一个投票文件内的I / O,我们将此投票文件脱机。其次,短期磁盘I / O超时(SIOT),其中CSS集群重新配置过程中使用。SIOT是有关misscount(misscount(30) – reboottime(3)=27秒)。默认重启时间为3秒。要显示CSS 的disktimeout参数的值,使用命令crsctl get css disktimeout。

[grid@rac2 ~]$ crsctl get css disktimeout

CRS-4678: Successful get disktimeout 200 for Cluster Synchronization Services.

 

网络分离检测

最后NHB的时间戳和最近DHB的时间戳进行比较,以确定一个节点是否仍然活着。

当最近DHB和最后NHB的时间戳之间的差是大于SIOT (misscount – reboottime),一个节点被认为仍然活跃。
当时间戳之间的增量小于重启时间,节点被认为是还活着。
如果该最后DHB读取的时间大于SIOT,该节点被认为是死的。
如果时间戳之间的增量比SIOT大比reboottime少,节点的状态不明确,我们必须等待做出决定,直到我们陷入上述三个类别之一。

当网络发生故障,并且仍有活动的节点无法和其他节点通信,网络被认为是分裂。为了保持分裂发生时数据完整性,节点中的一个必须失败,尚存节点应该是最优子群集。节点通过三种可能的方式逐出:
– 通过网络发送驱逐消息。在大多数情况下,这将失败,因为现有的网络故障。
– 通过投票的文件
– 通过IPMI,如果支持和配置
在我们用下面的例子与节点A,B,C和D集群更为详细的解释:

Nodes A and B receive each other’s heartbeats

Nodes C and D receive each other’s heartbeats

Nodes A and B cannot see heartbeats of C or D

Nodes C and D cannot see heartbeats of A or B

Nodes A and B are one cohort, C and D are another cohort

Split begins when 2 cohorts stop receiving NHB’s from each other

CSS任务是一个对称的失败,也就是,A+B组停止接收C+D组发送的NHB,C+D组通知接收A+B组发送的NHB。

在这种情况下,CSS使用投票文件和DHB解决脑裂。kill block,是投票文件结构的一个组成部分,将更新和用于通知已被驱逐的节点。每个节点每一秒读取它的kill block,当另一个节点已经更新kill block后,就会自杀。
在像上面,有相似大小的子群集的情况下,子群中含有低节点编号的子群的节点将生存下来,而其他子群集节点将重新启动。
在一个更大的群集分裂的情况下,更大的子群将生存。在两个节点的群集的情况下,节点号小的节点在网络分离下将存活下来,独立于网络发生错误的位置。
连接到一个节点所需的多数投票文件保持活跃。

 

Member Kill Architectur

 

在11.2.0.1中kill守护程序是一个没有杀死CSS组的成员的权利。它是由在I/ O客户端加入组OCSSD库代码催生,并在需要时重生。每个用户有一个杀守护进程(oclskd)(例如crsowner,oracle)。

杀死成员说明

下面这些OCSSD线程参与杀死成员:

client_listener – receives group join and kill requests

peer_listener – receives kill requests from remote nodes

death_check – provides confirmation of termination

member_kill – spawned to manage a member kill request

local_kill – spawned to carry out member kills on local node

node termination – spawned to carry out escalation

Member kills are issued by clients who want to eliminate group members doing IO, for example:

LMON of the ASM instance

LMON of a database instance

crsd on Policy Engine (PE) master node (new in 11.2)

成员杀死总是涉及远程目标;无论是远程ASM或数据库实例。成员杀死请求被移交到本地OCSSD,再把请求发送到OCSSD目标节点上。

在某些情况下,可能在11.2.0.1及更早版本,如极端的CPU和内存资源缺乏,远程节点的杀死守护进程或远程OCSSD不能服务当地OCSSD的成员杀死时间请求(misscount秒),因此成员杀死请求超时。如果LMON(ASM和/或RDBMS)要求成员杀死,那么请求将由当地OCSSD升级到远程节点杀。通过CRSD成员终止请求将永远不会被升级为节点杀,相反,我们依靠orarootagent的检查动作检测功能失调CRSD并重新启动。目标节点的OCSSD将收到成员杀死升级的要求,并会自杀,从而迫使节点重新启动。

 

与杀守护进程运行实时线程cssdagent / cssdmonitor(11.2.0.2),有更高的机会杀死请求成功,尽管高系统负载。
如果IPMI配置和功能的OCSSD节点监视器将使用IPMI产生一个节点终止线程关闭远程节点。节点终止线程通过管理LAN远程BMC通信;它将建立一个认证会话(只有特权用户可以关闭一个节点),并检查电源状态。下一步骤是请求被断电并反复检查状态直至节点状态为OFF。接到OFF状态后,我们将再次开启远程节点,节点终止线程将退出。

成员杀死的例子:

由于CPU紧缺,数据库实例3的LMON发起成员杀死比如在节点2:

 

2009-10-21 12:22:03.613810 : kjxgrKillEM: schedule kill of inst 2 inc 20

in 20 sec

2009-10-21 12:22:03.613854 : kjxgrKillEM: total 1 kill(s) scheduled kgxgnmkill: Memberkill called – group: DBPOMMI, bitmap:1

2009-10-21 12:22:22.151: [ CSSCLNT]clssgsmbrkill: Member kill request: Members map 0x00000002

2009-10-21 12:22:22.152: [ CSSCLNT]clssgsmbrkill: Success from kill call rc 0

 

本地的ocssd(第三节点,内部节点2号)收到的成员杀死请求:

2009-10-21 12:22:22.151: [  ocssd][2996095904]clssgmExecuteClientRequest: Member kill request from client (0x8b054a8)

2009-10-21  12:22:22.151:   [   ocssd][2996095904]clssgmReqMemberKill:  Kill requested map 0x00000002 flags 0x2 escalate 0xffffffff

2009-10-21 12:22:22.152:  [  ocssd][2712714144]clssgmMbrKillThread:  Kill  requested map 0x00000002 id 1 Group name DBPOMMI flags 0x00000001 start time 0x91794756 end time 0x91797442 time out 11500 req node 2

 

DBPOMMI is the database group where LMON registers as primary member time out = misscount (in milliseconds) + 500ms

map = 0x2 = 0010 = second member = member 1 (other example: map = 0x7 = 0111 = members 0,1,2)

 

远程的ocssd(第二节点,内部节点1号)收到的PID的杀死守护进程的请求和提交:

 

2009-10-21  12:22:22.201:  [  ocssd][3799477152]clssgmmkLocalKillThread:  Local kill requested: id 1 mbr map 0x00000002 Group name DBPOMMI flags 0x00000000 st  time 1088320132 end time 1088331632 time out 11500 req node 2

2009-10-21  12:22:22.201:   [   ocssd][3799477152]clssgmmkLocalKillThread:  Kill requested for member 1 group (0xe88ceda0/DBPOMMI)

2009-10-21 12:22:22.201: [ ocssd][3799477152]clssgmUnreferenceMember: global grock DBPOMMI member 1 refcount is 7

2009-10-21  12:22:22.201:   [   ocssd][3799477152]GM    Diagnostics started for mbrnum/grockname: 1/DBPOMMI

2009-10-21 12:22:22.201: [    ocssd][3799477152]group DBPOMMI, member 1    (client

0xe330d5b0, pid 23929)

2009-10-21 12:22:22.201: [ ocssd][3799477152]group DBPOMMI, member  1 (client 0xe331fd68, pid 23973) sharing group DBPOMMI, member 1, share type normal

2009-10-21 12:22:22.201: [    ocssd][3799477152]group DG_LOCAL_POMMIDG, member   0

(client 0x89f7858, pid 23957) sharing group DBPOMMI, member 1, share type xmbr

2009-10-21 12:22:22.201: [ ocssd][3799477152]group DBPOMMI, member  1 (client 0x8a1e648, pid 23949) sharing group DBPOMMI, member 1, share type normal

2009-10-21 12:22:22.201: [ ocssd][3799477152]group DBPOMMI, member  1 (client 0x89e7ef0, pid 23951) sharing group DBPOMMI, member 1, share type normal

2009-10-21 12:22:22.202: [ ocssd][3799477152]group DBPOMMI, member  1 (client 0xe8aabbb8, pid 23947) sharing group DBPOMMI, member 1, share type normal

 

2009-10-21 12:22:22.202: [ ocssd][3799477152]group DG_LOCAL_POMMIDG, member 0

(client 0x8a23df0, pid 23949) sharing group DG_LOCAL_POMMIDG, member 0, share type normal

2009-10-21 12:22:22.202: [ ocssd][3799477152]group DG_LOCAL_POMMIDG, member 0

(client 0x8a25268, pid 23929) sharing group DG_LOCAL_POMMIDG, member 0, share type normal

2009-10-21 12:22:22.202: [ ocssd][3799477152]group DG_LOCAL_POMMIDG, member 0

(client 0x89e9f78, pid 23951) sharing group DG_LOCAL_POMMIDG, member 0, share type normal

 

在这一点上,oclskd.log将表明成功杀死这些进程,并完成此杀死请求。在11.2.0.2及更高版本,杀死守护线程将执行杀死:

2009-10-21 12:22:22.295: [ USRTHRD][3980221344] clsnkillagent_main:killreq received:

2009-10-21 12:22:22.295: [ USRTHRD][3980221344] clsskdKillMembers: kill status   0

pid 23929

2009-10-21 12:22:22.295: [ USRTHRD][3980221344] clsskdKillMembers: kill status   0

pid 23973

2009-10-21 12:22:22.295: [ USRTHRD][3980221344] clsskdKillMembers: kill status   0

pid 23957

2009-10-21 12:22:22.295: [ USRTHRD][3980221344] clsskdKillMembers: kill status   0

pid 23949

2009-10-21 12:22:22.295: [ USRTHRD][3980221344] clsskdKillMembers: kill status   0

pid 23951

2009-10-21 12:22:22.295: [ USRTHRD][3980221344] clsskdKillMembers: kill status   0

pid 23947

2009-10-21 12:22:22.295: [ USRTHRD][3980221344] clsskdKillMembers: kill status   0

pid 23949

2009-10-21 12:22:22.295: [ USRTHRD][3980221344] clsskdKillMembers: kill status   0

pid 23929

2009-10-21 12:22:22.295: [ USRTHRD][3980221344] clsskdKillMembers: kill status   0

pid 23951

2009-10-21 12:22:22.295: [ USRTHRD][3980221344] clsskdKillMembers: kill status   0

pid 23947

 

但是,如果在(misscount+1/2秒)的请求没完成,本地节点上的OCSSD升级节点杀死请求:

2009-10-21  12:22:33.655:  [     ocssd][2712714144]clssgmMbrKillThread:  Time  up:

Start time -1854322858 End time -1854311358 Current time -1854311358 timeout 11500

2009-10-21 12:22:33.655: [ ocssd][2712714144]clssgmMbrKillThread: Member kill request complete.

2009-10-21 12:22:33.655: [ ocssd][2712714144]clssgmMbrKillSendEvent: Missing answers or immediate escalation: Req member 2 Req node 2 Number of answers  expected 0 Number of answers outstanding 1

2009-10-21 12:22:33.656: [ ocssd][2712714144]clssgmQueueGrockEvent: groupName(DBPOMMI) count(4) master(0) event(11), incarn 0, mbrc 0, to member 2, events 0x68, state 0x0

2009-10-21 12:22:33.656: [    ocssd][2712714144]clssgmMbrKillEsc: Escalating  node

1 Member request 0x00000002 Member success 0x00000000 Member failure 0x00000000 Number left to kill 1

2009-10-21 12:22:33.656: [ ocssd][2712714144]clssnmKillNode: node 1 (staiu02) kill initiated

2009-10-21 12:22:33.656: [    ocssd][2712714144]clssgmMbrKillThread: Exiting

 

ocssd目标节点将中止,迫使一个节点重启:

 

2009-10-21 12:22:33.705: [    ocssd][3799477152]clssgmmkLocalKillThread: Time  up.

Timeout 11500 Start time 1088320132 End time 1088331632 Current time 1088331632

2009-10-21 12:22:33.705: [   ocssd][3799477152]clssgmmkLocalKillResults: Replying to kill request from remote node 2 kill id 1 Success map 0x00000000 Fail map 0x00000000

2009-10-21 12:22:33.705: [    ocssd][3799477152]clssgmmkLocalKillThread: Exiting

2009-10-21  12:22:34.679:   [

ocssd][3948735392](:CSSNM00005:)clssnmvDiskKillCheck: Aborting, evicted by node 2, sync 151438398, stamp 2440656688

2009-10-21  12:22:34.679:   [ ocssd][3948735392]###################################

2009-10-21 12:22:34.679: [ ocssd][3948735392]clssscExit: ocssd aborting from thread clssnmvKillBlockThread

2009-10-21  12:22:34.679:   [ ocssd][3948735392]###################################

 

如何识别客户端是谁最初发出成员杀死请求?

在ocssd.log里,请求者可以被找到:

 

2009-10-21  12:22:22.151:   [ocssd][2996095904]clssgmExecuteClientRequest:  Member kill request from client (0x8b054a8)

<search backwards to when client registered>

2009-10-21          12:13:24.913:         [ocssd][2996095904]clssgmRegisterClient:

proc(22/0x8a5d5e0), client(1/0x8b054a8)

 

<search backwards to when process connected to ocssd>

2009-10-21 12:13:24.897: [ocssd][2996095904]clssgmClientConnectMsg: Connect from con(0x677b23) proc(0x8a5d5e0) pid(20485/20485) version 11:2:1:4, properties: 1,2,3,4,5

 

用’ps’,或从其他历史(如trace文件,IPD/OS,OSWatcher),这个进程可以通过进程id识别:

$ ps -ef|grep ora_lmon

spommere 20485     1  0 01:46 ?        00:01:15 ora_lmon_pommi_3

 

 

智能平台管理接口 (IPMI)

智能平台管理接口(IPMI),今天是包含在许多服务器的行业标准管理协议。 IPMI独立于操作系统系统,如果系统不通电也能工作。IPMI服务器包含一个基板管理控制器(BMC),其用于与服务器通信(BMC)。

关于使用IPMI避开节点

为了支持会员杀死升级为终止节点,您必须配置和使用一个外部机制能够重启问题节点, 或从Oracle集群或从运行的操作系统的配置和使用能够重新启动该节点。IPMI是这样的机制,从11.2开始支持。通常情况下,在安装的过程中配置IPMI。如果在安装过程中没有配置IPMI,则可以在CRS的安装完成后用CRSCTL配置。

About Node-termination Escalation with IPMI

To use IPMI for node termination, each cluster member node must be equipped with a Baseboard Management Controller (BMC) running firmware compatible with IPMI version 1.5, which supports IPMI over a local area network (LAN). During database operation, member-kill escalation is accomplished by communication from the evicting ocssd daemon to the victim node’s BMC over LAN. The IPMI over LAN protocol is carried over an authenticated session protected by a user name and password, which are obtained from the administrator during installation. If the BMC IP addresses are DHCP assigned, ocssd requires direct communication with the local BMC during CSS startup. This is accomplished using a BMC probe command (OSD), which communicates with the BMC through an IPMI driver, which must be installed and loaded on each cluster system.

 

OLR Configuration for IPMI

There are two ways to configure IPMI, either during the Oracle Clusterware installation via the Oracle Universal Installer or afterwards via crsctl.

OUI – asks about node-fencing via IPMI

tests for driver to enable full support (DHCP addresses)

obtains IPMI username and password and configures OLR on all cluster nodes

Manual configuration – after install or when using static IP addresses for BMCs

crsctl query css ipmidevice

crsctl set css ipmiadmin <ipmi-admin>

crsctl set css ipmiaddr

参见: Oracle Clusterware Administration and Deployment Guide, “Configuration and Installation for Node Fencing” for more information and Oracle Grid Infrastructure Installation Guide, “Enabling Intelligent Platform Management Interface (IPMI)”

 

 

调试CSS

有时有必要改变ocssd的默认日志级别。

在11.2的日志默认级别是2.要改变日志级别,root用户在一个节点上执行下面命令:

# crsctl set log css CSSD:N (where N is the logging level)

Logging level 2 = 默认的

Logging level 3 =详细信息,显示各个心跳信息包括misstime,有助于调试NHB的相关问题。

Logging level 4 = 超级详细

大多数问题在级别2就能解决了,有一些需要级别3,很少需要级别4. 使用3或4级,跟踪信息可能只保持几个小时(甚至分钟),因为跟踪文件可以填满和信息可以被覆盖。请注意,日志级别高会造成性能影响ocssd由于数量的跟踪。如果你需要保持更长一段时间的数据,创建一个cron作业来备份和压缩CSS日志。

为了增强对cssdagent或cssdmonitor的跟踪,可以通过crsctl命令实现:

# crsctl set log res ora.cssd=2 -init

# crsctl set log res ora.cssdmonitor=2 -init

 

在Oracle11.2的集群,CSS输出堆栈的dump信息到cssdOUT.log中。有助于在发生重启之前刷新诊断数据到磁盘上。因此在11.2上我们不考虑有必要的diagwait(默认0)改变,除非支持或者开发有相关建议。

在非常罕见的情况下,只有在调试期间,可能也许必要禁用ocssd重新启动。这可以通过以下crsctl命令。禁用重启应该在支持或开发人员的指导下,可以在线做不会有堆栈重启。

# crsctl modify resource ora.cssd -attr “ENV_OPTS=DEV_ENV” -init

# crsctl modify resource ora.cssdmonitor -attr “ENV_OPTS=DEV_ENV” –init

在11.2.0.2启用更高的日志级别可能介绍各种模块。

用下面命令列出css守护进程的所有模块的名字:

 

[root@rac2 bin]# ./crsctl lsmodules css

List CSSD Debug Module: CLSF

List CSSD Debug Module: CSSD

List CSSD Debug Module: GIPCCM

List CSSD Debug Module: GIPCGM

List CSSD Debug Module: GIPCNM

List CSSD Debug Module: GPNP

List CSSD Debug Module: OLR

List CSSD Debug Module: SKGFD

 

CLSF and SKGFD – 关于仲裁盘的I/O

CSSD –  same old one

GIPCCM – gipc communication between applications and CSS

GIPCGM – communication between peers in the GM layer

GIPCNM – communication between nodes in the NM layer

GPNP – trace for gpnp calls within CSS

OLR – trace for olr calls within CSS

 

下面是如何对不同的模块设置不同的日志级别的例子:

# crsctl set log css GIPCCM=1,GIPCGM=2,GIPCNM=3

# crsctl get log css CSSD=4

检查当前的跟踪日志级别用下面的命令:

# crsctl get log ALL

# crsctl get log css GIPCCM

 

CSSDAGENT and CSSDMONITOR

CSSDAGENT and CSSDMONITOR几乎提供相同的功能。cssdagent启动,停止,检查ocssd守护进程状态。cssdmonitor监控cssdagent。没有ora.cssdagent资源,也不是ocssd守护进程的资源。

在11.2之前实现上面两个代理的功能是oprocd,olcsmon守护进程。cssdagent和cssdmonitor运行在实时优先级锁定内存,就像ocssd一样。

另外,cssdagent 和cssdmonitor提供下面的服务来确保数据完整性:

监控ocssd,如果ocssd失败,那么cssd* 重启节点

监控节点调度:如果节点夯住了/没有进程调度,重启节点。

更全面的决策是否需要重新启动,cssdagent和cssdmonitor通过NHB从ocssd接收状态信息,确保本地节点的状态被远程节点认为是准确的。此外,集成将利用时间其他节点感知当地节点为目的,如文件系统同步得到完整的诊断数据。

 

调试CSSDAGENT and CSSDMONITOR

为了启动ocssd代理调试,可以用crsctl set log res ora.cssd:3 –init命令。这个操作的日志记录在Grid_home/log/<hostname>/agent/ohasd/oracssdagent_root/oracssdagent_root.log和更多跟踪信息写在oracssdagent_root.log里。

2009-11-25 10:00:52.386: [  AGFW][2945420176] Agent received the message: RESOURCE_MODIFY_ATTR[ora.cssd 1 1] ID 4355:106099

2009-11-25 10:00:52.387: [    AGFW][2966399888] Executing command:

res_attr_modified for resource: ora.cssd 1 1

2009-11-25 10:00:52.387: [ USRTHRD][2966399888] clsncssd_upd_attr: setting trace to level 3

2009-11-25 10:00:52.388: [ CSSCLNT][2966399888]clssstrace: trace level set to 2 2009-11-25 10:00:52.388: [ AGFW][2966399888] Command: res_attr_modified for resource: ora.cssd 1 1 completed with status: SUCCESS

2009-11-25 10:00:52.388: [    AGFW][2945420176] Attribute: LOGGING_LEVEL for

resource ora.cssd modified to: 3

2009-11-25 10:00:52.388: [  AGFW][2945420176]  config version updated to : 7 for ora.cssd 1 1

2009-11-25 10:00:52.388: [  AGFW][2945420176] Agent sending last reply for: RESOURCE_MODIFY_ATTR[ora.cssd 1 1] ID 4355:106099

2009-11-25 10:00:52.484: [ CSSCLNT][3031063440]clssgsgrpstat: rc 0, gev 0, incarn

2, mc 2, mast 1, map 0x00000003, not posted

同样适用于cssdmonitor(ora.cssdmonitor)资源。

 

1.4.11 概念

heartbeats(心跳)

Disk HeartBeat (DHB) 磁盘心跳,定期的写在投票文件里,一秒钟一次

Network HeartBeat (NHB)网络心跳,每一秒钟发送一次到其他节点上

Local HeartBeat (LHB)本地心跳,每一秒钟一次发送到代理或监控

 

ocssd 线程

Sending Thread (ST) 同一时间发送网络心跳和本地心跳

Disk Ping thread 每一秒钟把磁盘心跳写到投票文件里

Cluster Listener (CLT) 接收其他节点发送过来的消息,主要是网络心跳

 

agent/monitor线程

HeartBeat thread (HBT)从ocssd接收本地心跳和检测连接失败

OMON thread (OMT) 监控连接失败

OPROCD thread (OPT) 监控agent/moniter调度进程

VMON thread (VMT)取代clssvmon可执行文件,注册在skgxn组供应商集群软件

 

Timeouts(超时)

Misscount (MC) 一个节点在被删除之前没有网络心跳的时间

Network Time Out (NTO) 一个节点在被删除之前没有网络心跳的最大保留时间

Disk Time Out (DTO) 大多数投票文件被认为是无法访问的最大时间

ReBoot Time (RBT) 允许重新启动的时间,默认是三秒钟。

 

Misscount, SIOT, RBT

Disk I/O Timeout amount of time for a voting file to be offline before it is unusable

SIOT – Short I/O Timeout, in effect during reconfig

LIOT – Long I/O Timeout, in effect otherwise

Long I/O Timeout – (LIOT)通过crsctl set css disktimeout配置超时时间,默认200秒。

 

Short I/O Timeout (SIOT) is (misscount – reboot time)

In effect when NHB’s missed for misscount/2

ocssd terminates if no DHB for SIOT

Allows RBT seconds after termination for reboot to complete

 

Disk Heartbeat Perceptions

Other node perception of local state in reconfig

No NHB for misscount, node not visible on network

No DHB for SIOT, node not alive

If node alive, wait full misscount for DHB activity to be  missing,  i.e. node not alive

 

As long as DHB’s are written, other nodes must wait

 

Perception of local state by other nodes must be valid to avoid data corruption

 

Disk Heartbeat Relevance

 

DHB only read starting shortly before a reconfig to remove the node is started

When no reconfig is impending, the I/O timeout not important, so need not be monitored

If the disk timeout expires, but the NHB’s have been sent to and received from  other nodes, it will still be misscount seconds before other nodes will start a  reconfig

The proximity to a reconfig is important state information for OPT

 

Clocks

Time Of Day Clock (TODC) the clock that indicates the hour/minute/second of the day (may change as a result of commands)

aTODC is the agent TODC

cTODC is the ocssd TODC

Invariant Time Clock (ITC) a monotonically increasing clock that is invariant i.e. does not change as a result of commands). The invariant clock does not change if time set backwards or forwards; it is always constant.

aITC is the agent ITC

cITC is the ocssd ITC

 

是如何工作的

ocssd state information contains the current clock information, the network time out (NTO) based on the node with the longest time since the last NHB and a disk I/O timeout based on the amount of time since the majority of voting files was last online. The sending thread gathers this current state information and sends both a NHB and local heartbeat to ensure that the agent perception of the aliveness of ocssd is the same as that of other nodes.

The cluster listener thread monitors the sending thread. It ensures the sending thread has been scheduled recently and wakes up if necessary. There are enhancements here to ensure that even after clock shifts backwards and forwards, the sending thread is scheduled accurately.

There are several agent threads, one is the oprocd thread which just sleeps and wakes up periodically. Upon wakeup, it checks if it should initiate a reboot, based on the last known ocssd state information and the local invariant time clock (ITC). The wakeup is timer driven. The heartbeat thread is just waiting for a local heartbeat from the ocssd. The heartbeat thread will calculate the value that the oprocd thread looks at, to determine whether to reboot. It checks if the oprocd thread has been awake  recently and if not, pings it awake.  The heartbeat thread is event driven and not timer driven.

 

文件系统同步

当ocssd失败, 启动文件系统同步。有大量的时间来做到这一点,我们可以等待几秒钟同步。最后当地心跳表明我们可以等多久,等待事件基于misscount。当等待时间超时了,oprocd会重启这个节点。大多数情况下,诊断数据会写到磁盘里。在极少数的情况下,如因为CSS夯住同步还没执行才会没写到磁盘。

 

集群就绪服务 (CRS)

集群就绪服务是管理高可用操作的主要程序。CRS守护进程管理集群资源基于配置在OCR上的每个资源信息。这包括启动,停止,监控和故障转移操作。csrd守护进程监控数据库实例,监听,等等,当发生故障时自动重启这些组件。

crsd守护进程由root用户运行,发生故障后自动重启。当数据库集群安装单实例环境在ASM和数据库重启时,ohasd代替crsd管理应用资源。

 

Policy Engine

概述

在11.2上资源的高可用是由OHASD(通常用于基础设施资源)和CRSD(应用程序部署在集群上)处理。这两个守护进程共享相同的体系结构和大部分的代码库,对于大多数意图和目的,OHASD可以看做是CRSD在单节点的集群上。在后续部分中讨论适用于这两个守护进程。

从11.2开始,CRSD的体系结构实现了主从模型:一个单一的CRSD在集群里被选作主,其他的都是从。在守护进程启动和每次主被重新选择,CRSD把当前主写入crsd.log日志里。

grep “PE MASTER” Grid_home/log/hostname/crsd/crsd.*

crsd.log:2010-01-07 07:59:36.529: [   CRSPE][2614045584] PE MASTER NAME: staiv13

 

CRSD是一个分布式应用程序由几个“模块”组成。模块主要是state-less和操作通过交换信息。状态(上下文)总是携带每个信息;大多数交互在本质上是异步的。有些模块有专用的,有些线程共享一个线程和一些操作共享线程池。重要的CRSD模块如下:

  • The Policy Engine (a.k.a PE/CRSPE in logs)负责所有的策略决定。
  • The Agent Proxy Server (a.k.a Proxy/AGFW in logs) 负责管理代理,和Policy Engine 与代理之间的代理命令/事件。
  • The UI Server (a.k.a UI/UiServer in logs)负责管理客户端连接和PE与客户端的程序的代理。
  • The OCR/OLR module (OCR in logs) 是所有OCR/OLR 交互的前端。
  • The Reporter module (CRSRPT in logs) 负责输出CRSD的所有事件

例如,一个客户机请求修改资源将产生以下交互

CRSCTL  UI Server  PE  OCR Module  PE  Reporter (event   publishing)

 Proxy (to notify the agent)

 

CRSCTL  UI Server         PE       

注意UiServer/PE/Proxy每一个可以在不同的节点上,如下图:

 

Resource Instances & IDs

在11.2中,CRS模块支持资源多样性的两个概念:基数和程度。In 11.2, CRS modeling supports two concepts of resource multiplicity: cardinality  and  degree. The former controls the number of nodes where the resource can run concurrently while the latter controls the number of instances of the resource that can be run on each node. To support the concepts, the PE now distinguishes between resources and resource instances. The former can be seen as a configuration profile for the entire resource while the latter represents the state data for each instance of the resource. For example, a resource with CARDINALITY=2, DEGREE=3 will have 6 resource instances. Operations that affect resource state (start/stopping/etc.) are performed using resource instances. Internally, resource instances are referred to with IDs which following the following format: “<A> <B>

<C>” (note space separation), where <A> is the resource name, <C> is the degree of the instance (mostly 1), and <B> is the cardinality of the instance for cluster_resource resources or the name of the node to which the instance is assigned for local_resource names. That’s why resource name have “funny” decorations in logs:

 

[   CRSPE][2660580256] {1:25747:256} RI [r1 1 1] new target state: [ONLINE] old

value: [OFFLINE]

Log Correlation

CRSD is event-driven in nature. Everything of interest is an event/command to process. Two kinds of commands are distinguished: planned and unplanned. The former are usually administrator-initiated (add/start/stop/update a resource, etc.)  or  system-initiated (resource auto start at node reboot, for instance) actions while the latter are normally unsolicited state changes (a resource failure, for example). In either case, processing such events/commands is what CRSD does and that’s when module interaction takes place. One can easily follow the interaction/processing of each event in the logs, right from the point of origination (say from the UI module) through to PE and then all the way to the agent and back all the way using the concept referred to as a “tint”. A tint is basically a cluster-unique event ID of the following format: {X:Y:Z}, where X is the node number, Y a node-unique number of a process where the event first entered the system, and Z is a monotonically increasing sequence number, per process. For instance, {1:25747:254} is a tint for the 254th event that originated in some process internally referred to us 25747 on node number 1. Tints are new in 11.2.0.2 and can be seen in CRSD/OHASD/agent logs. Each event in the system gets assigned a unique tint at the point of entering the system and modules prefix each log message while working on the event with that tint.

例如,在3节点的集群,node0是PE,在node1上执行“crsctl start resource r1 –n node2”,恰好如上面的图形,将会在日志里产生下面信息:

节点1上的CRSD日志(crsctl总是连接本地CRSD;UI服务器把命令转发到PE)

2009-12-29 17:07:24.742: [UiServer][2689649568] {1:25747:256} Container [ Name: UI_START

 

 

RESOURCE:

 

TextMessage[r1]

 

2009-12-29 17:07:24.742: [UiServer][2689649568] {1:25747:256} Sending message to PE. ctx= 0xa3819430

 

节点0上的CRSD日志(with PE master)

2009-12-29 17:07:24.745: [   CRSPE][2660580256] {1:25747:256} Cmd : 0xa7258ba8 :

flags: HOST_TAG | QUEUE_TAG

 

2009-12-29 17:07:24.745: [   CRSPE][2660580256] {1:25747:256} Processing PE

command id=347. Description: [Start Resource : 0xa7258ba8]

 

2009-12-29 17:07:24.748: [   CRSPE][2660580256] {1:25747:256} RI [r1 1 1] new

target state: [ONLINE] old value: [OFFLINE]

2009-12-29 17:07:24.748: [  CRSOCR][2664782752] {1:25747:256} Multi Write Batch

processing…

 

2009-12-29 17:07:24.753: [ CRSPE][2660580256] {1:25747:256} Sending message to

agfw: id = 2198

 

这里,PE执行政策评估和目标节点与代理进行交互(开始行动)和OCR(记录目标的新值)。

CRSD节点2上的日志(启动代理,将消息转发给它)

2009-12-29 17:07:24.763: [  AGFW][2703780768] {1:25747:256} Agfw Proxy Server

received the message: RESOURCE_START[r1 1 1] ID 4098:2198

 

2009-12-29 17:07:24.767: [  AGFW][2703780768] {1:25747:256} Starting the agent:

/ade/agusev_bug/oracle/bin/scriptagent with user id: agusev and incarnation:1

 

节点2上的代理日志 (代理执行启动命令)

2009-12-29 17:07:25.120: [  AGFW][2966404000] {1:25747:256} Agent received the

message: RESOURCE_START[r1 1 1] ID 4098:1459

 

2009-12-29 17:07:25.122: [  AGFW][2987383712] {1:25747:256} Executing command:

start for resource: r1 1 1

 

2009-12-29 17:07:26.990: [  AGFW][2987383712] {1:25747:256} Command: start for

resource: r1 1 1 completed with status: SUCCESS

 

2009-12-29 17:07:26.991: [  AGFW][2966404000] {1:25747:256} Agent sending reply

for: RESOURCE_START[r1 1 1] ID 4098:1459

 

几点2上的CRSD日志(代理回复,将信息传回PE)

2009-12-29 17:07:27.514: [  AGFW][2703780768] {1:25747:256} Agfw Proxy Server

received the message: CMD_COMPLETED[Proxy] ID 20482:2212

 

2009-12-29 17:07:27.514: [  AGFW][2703780768] {1:25747:256} Agfw Proxy Server

replying to the message: CMD_COMPLETED[Proxy] ID 20482:2212

 

节点0上的CRSD 日志(收到回复信息,通知通讯员并返回给UI服务器,通讯员发布信息到EVM)

2009-12-29 17:07:27.012: [ CRSPE][2660580256] {1:25747:256} Received reply to

action [Start] message ID: 2198

 

2009-12-29 17:07:27.504: [ CRSPE][2660580256] {1:25747:256} RI [r1 1 1] new

external state [ONLINE] old value: [OFFLINE] on agusev_bug_2 label = []

 

2009-12-29 17:07:27.504: [  CRSRPT][2658479008] {1:25747:256} Sending UseEvm mesg

 

2009-12-29 17:07:27.513: [ CRSPE][2660580256] {1:25747:256} UI Command [Start

Resource : 0xa7258ba8] is replying to sender.

节点1上的CRSD日志(crsctl命令执行完成,UI服务器写出响应,完成API请求)

2009-12-29 17:07:27.525: [UiServer][2689649568] {1:25747:256} Container [ Name:

UI_DATA

 

r1: TextMessage[0]

]

 

2009-12-29 17:07:27.526: [UiServer][2689649568] {1:25747:256} Done for

ctx=0xa3819430

 

The above demonstrates the ease of following distributed processing of a single request across 4 processes on 3 nodes by using tints as a way to filter, extract, group and correlate information pertaining to a single event across a plurality of diagnostic logs.

 

1.6 Grid Plug and Play (GPnP)

11.2集群的一个新特性是即插即用,由GPnP守护进程管理。GPnPD提供访问GPnP概要文件,在集群的节点协调更新概要文件,以确保所有的节点都有最近的概要文件。

1.6.1 GPnP Configuration

GPnP配置概要文件和钱夹配置,对于每一个节点都是相同的。在数据库安装过程中概要文件和钱夹会被创建并复制。GPnP概要文件是一个XML的测试文件,其中包含必要的引导信息组成一个集群。信息内容比如集群名字,GUID,发现字符串,预期的网络连接。不包含节点的细节信息。配置文件由GPnPD管理,存在于每个节点的GPnP缓存上。如果没有进行更改,那么在所有节点上都是一样的。通过序列号来鉴别配置文件。

GPnP钱包只是一个二进制blob,包含公共/私有RSA密钥, 用于登录和验证GPnP概要文件。钱夹对于所有的GPnP是相同的,在安装数据库软件时创建,不会更改且永远的活着的。

一个典型的配置文件将包含以下信息。永远不会直接改变XML文件; 通过使用支持工具,比如ASMCA,asmcd,oifcfg等等。来修改GPnP的配置信息。

不建议用GPnP 工具来修改GPnP配置文件,要修改配置文件需要很多步骤。如果添加了无效的信息,那么就会弄坏配置文件,并后续会产生问题。

# gpnptool get

 

Warning: some command line parameters were defaulted. Resulting command line:

 

/scratch/grid_home_11.2/bin/gpnptool.bin get -o-

 

<?xml version=”1.0″ encoding=”UTF-8″?><gpnp:GPnP-Profile Version=”1.0″

xmlns=”http://www.grid-pnp.org/2005/11/gpnp-profile”

xmlns:gpnp=”http://www.grid- pnp.org/2005/11/gpnp-profile”

xmlns:orcl=”http://www.oracle.com/gpnp/2005/11/gpnp- profile”

xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”

xsi:schemaLocation=”http://www.grid-pnp.org/2005/11/gpnp-profile gpnp-profile.xsd”

ProfileSequence=”4″ ClusterUId=”0cd26848cf4fdfdebfac2138791d6cf1″

ClusterName=”stnsp0506″ PALocation=””><gpnp:Network-Profile><gpnp:HostNetwork

id=”gen” HostName=”*”><gpnp:Network id=”net1″ IP=”10.137.8.0″ Adapter=”eth0″

Use=”public”/><gpnp:Network id=”net2″ IP=”10.137.20.0″ Adapter=”eth2″

Use=”cluster_interconnect”/></gpnp:HostNetwork></gpnp:Network-Profile><orcl:CSS-

 

Profile id=”css” DiscoveryString=”+asm”

LeaseDuration=”400″/><orcl:ASM-Profile id=”asm”

DiscoveryString=”/dev/sdf*,/dev/sdg*,/voting_disk/vote_node1″

SPFile=”+DATA/stnsp0506/asmparameterfile/registry.253.699162981″/>

<ds:Signature xmlns:ds=”http://www.w3.org/2000/09/xmldsig#”>

<ds:SignedInfo><ds:CanonicalizationM ethod

Algorithm=”http://www.w3.org/2001/10/xml-exc-c14n#”/><ds:SignatureMethod

Algorithm=”http://www.w3.org/2000/09/xmldsig#rsa-sha1″/><ds:Reference URI=””>

<ds:Transforms><ds:Transform Algorithm=”http://www.w3.org/2000/09/xmldsig#enveloped-signature”/>

<ds:Transform Algorithm=”http://www.w3.org/2001/10/xml-exc-c14n#”>

<InclusiveNamespaces xmlns=”http://www.w3.org/2001/10/xml-exc-c14n#”

PrefixList=”gpnp orcl xsi”/></ds:Transform></ds:Transforms>

<ds:DigestMethod Algorithm=”http://www.w3.org/2000/09/xmldsig#sha1″/><ds:DigestValue>ORAmrPMJ/plFtG Tg/mZP0fU8ypM=</ds:DigestValue>

</ds:Reference></ds:SignedInfo><ds:SignatureValue>

K u7QBc1/fZ/RPT6BcHRaQ+sOwQswRfECwtA5SlQ2psCopVrO6XJV+BMJ1UG6sS3vuP7CrS8LXrOTyoIxSkU 7xWAIB2Okzo/Zh/sej5O03GAgOvt+2OsFWX0iZ1+2e6QkAABHEsqCZwRdI4za3KJeTkIOPliGPPEmLuImu

DiBgMk=</ds:SignatureValue></ds:Signature></gpnp:GPnP-Profile>

Success.

 

初始化GPnP配置在安装数据库集群软件时由root脚本创建并传播。在全新安装配置文件的内容来自于数据库安装结构在Grid_home/crs/install/crsconfig_params。

1.6.2 GPnP 守护进程

GPnP守护进程和其他进程一样由OHASD管理并由OHASD产生oraagent。GPnPD的主要目的是服务配置文件,因此是为了启动堆栈。GPnPD的主要启动顺序:

  • detects running gpnpd, connects back to oraagent 查找运行的GPnPD,连接返回给oraagent
  • opens wallet/profile 打开钱夹/配置文件
  • opens local/remote endpoints 打开本地/远程节点
  • advertises remote endpoint with mdnsd mdnsd通知远程节点
  • starts OCR availability check 启动OCR可用性检查
  • discovers remote gpnpds 发现远程GPnPD
  • equalizes profile 平等的概要文件
  • starts to service clients 开始服务客户端

 

1.6.3 GPnP CLI Tools

有几个客户端工具能够直接修改GPnP配置文件。要求ocssd是运行的:

  • crsctl replace discoverystring
  • oifcfg getif / setif
  • ASM – srvctl or sqlplus changing the spfile location or the ASM disk discoverystring

注意,参数文件的改变会系列化整个集群的CSS锁(bug 7327595)。

Grid_home/bin/gpnptool是真正维护gpnp文件的工具。查看详细的信息,可以运行:

Oracle GPnP Tool Usage:

“gpnptool <verb> <switches>”, where verbs are:

 

create     Create a new GPnP Profile

edit       Edit existing GPnP Profile

getpval  Get value(s) from GPnP Profile

get        Get profile in effect on local node

rget       Get profile in effect on remote GPnP node put    Put profile as a current best

find       Find all RD-discoverable resources of given type

lfind      Find local gpnpd server

check      Perform basic profile sanity checks

c14n       Canonicalize, format profile text (XML C14N)

sign       Sign/re-sign profile with wallet’s private key

unsign     Remove profile signature, if any

verify     Verify profile signature against wallet certificate

help       Print detailed tool help

ver        Show tool version

 

1.6.4 Debugging and Troubleshooting

为了获取更多的日志和跟踪文件,可以设置环境变量GPNP_TRACELEVEL 范围为0-6。GPnP跟踪文件在:

Grid_home/log/<hostname>/alert*, Grid_home/log/<hostname>/client/gpnptool*, other client logs Grid_home/log/<hostname>/gpnpd|mdnsd/* Grid_home/log/<hostname>/agent/ohasd/oraagent_<username>/*

产品安装文件里有基本信息,位置在:

Grid_home/crs/install/crsconfig_params

Grid_home/cfgtoollogs/crsconfig/root*

Grid_home/gpnp/*,

Grid_home/gpnp/<hostname>/* [profile+wallet]

 

如果GPnP 安装失败,应该进行下面失败场景的检查:

  • 不能创建配置文件,钱夹?不能访问配置文件或钱夹? [gpnpd is dead, stack is dead] (bug:8609709,bug:8445816)
  • 配置文件里配置错误或者少配置了(例如没有discovery string, 没有interconnect, 太多 interconnects)? [gpnpd is up, stack is dead – e.g. no voting files, no interconnects]
  • 无法传播集群范围内的配置文件?[gpnpd daemons are not communicating, no put]

如果是在GPnP运行过程中产生错误,应该进行如下检查:

  • mdnsd是否在运行?GPnPD无法注册到mdnsd上?Discovery 失败? [no put, rget]
  • 是否是gpnpd 死掉/或者没运行? [no get, immediately fails]
  • 是否gpnpd没有全部启动[no get, no put, client spins in retries, times out]
  • 发现假的节点是否是集群的成员?D [no put, can block gpnpd dispatch]
  • 是否ocssd 没有启动? [no put]
  • OCR 已经启动,但是是失败的 [gpnpd dispatch can block, client waits in receive until OCR recovers]

 

上面的解决的所有第一步都应该先活动守护进程的日志文件并通过crsctl stat res –init –t检查资源的状态。

GPnPD没有运行的其他解决步骤:

  • 检查GPnP配置的有效性和检查GPnP日志里的错误信息。可以通过gpnptool check or gpnptool verify进行清晰的检查

 

# gpnptool check -\

p=/scratch/grid_home_11.2/gpnp/stnsp006/profiles/peer/profile.xml

Profile cluster=”stnsp0506″, version=4

GPnP profile signed by peer, signature valid.

Got GPnP Service current profile to check against.

Current GPnP Service Profile cluster=”stnsp0506″, version=4

Error: profile version 4 is older than- or duplicate of- GPnP Service current profile version 4.

Profile appears valid, but push will not succeed.

 

# gpnptool verify Oracle GPnP Tool

verify  Verify profile signature against wallet certificate Usage:

“gpnptool verify <switches>”, where switches are:

-p[=profile.xml]    GPnP profile name

-w[=file:./]        WRL-locator of OracleWallet with crypto keys

-wp=<val>           OracleWallet password, optional

-wu[=owner]         Wallet certificate user (enum: owner,peer,pa)

-t[=3]              Trace level (min..max=0..7), optional

-f=<val>            Command file name, optional

-?                  Print verb help and exit

 

 

 

– 如果GPnPD服务在本地,可以用gpnptool lfind进行检查

 

# gpnptool lfind

Success. Local gpnpd found.

‘gpnptool get’ 可以返回本地配置文件的信息。如果gpnptool lfind|get夯住了,从客户端 夯住的信息和GPnPD日志在Grid_home/log/<hostname>/gpnpd,将会对进一步解决问题有很大的帮助。

 

– 检查远程GPnPD是响应的,’find’选项将很有帮助:

 

# gpnptool find -h=stnsp006

Found 1 instances of service ‘gpnp’. mdns:service:gpnp._tcp.local.://stnsp006:17452/agent=gpnpd,cname=stnsp0506

,host=stnsp006,pid=13133/gpnpd h:stnsp006 c:stnsp0506

如果上面的操作挂起了或者返回错误了,检查

Grid_home/log/<hostname>/mdnsd/*.log files和 gpnpd日志。

 

– 检查所有节点都是响应的,运行gpnptool find –c=<clustername>

 

# gpnptool find -c=stnsp0506

Found 2 instances of service ‘gpnp’. mdns:service:gpnp._tcp.local.://stnsp005:23810/agent=gpnpd,cname=stnsp0506

,host=stnsp005,pid=12408/gpnpd h:stnsp005 c:stnsp0506 mdns:service:gpnp._tcp.local.://stnsp006:17452/agent=gpnpd,cname=stnsp0506,host=stnsp006,pid=13133/gpnpd h:stnsp006 c:stnsp0506

我们将GPnP配置文件存放在本地OLR和OCR。如果配置文件丢失或者损坏,GPnPD重备份中重建配置文件。

 

1.7 Oracle网格名称服务(GNS)

集群中GNS执行名称解析。GNS并不总是使用mDNS的性能原因。

在11.2我们支持使用DHCP私人互连和几乎所有的公共网络上的虚拟IP地址。为集群之外的客户端发现集群中的虚拟主机,我们提供了GNS。这适用于任何高级DNS为外部提供名称解析。

本节介绍如何简单的进行DHCP和GNS的配置。一个复杂的网络环境可能需要更复杂的解决方案。配置GNS和DHCP必须在grid安装之前。

GSN提供什么

DHCP提供了动态配置的主机IP地址,但是不能提供一个好的外部客户端使用的名字,因此在混合服务器已经很罕见了。在Oracle 11.2集群,提供了我们的服务来解析名称解决这个问题,和DNS的连接客户是可见的。

设置网络配置

让GNS为客户端工作,需要配置高级别的DNS来代表集群中的一个子区域,集群必须在DNS已知的一个地址运行GNS。GNS地址将用集群中配置的静态VIP来维护。GNS守护进程将跟随在集群vip和子区域的服务名。

需要配置四方面:

  • 需要在集群中一个公共网络的静态地址使用GNS VIP。
  • 配置高级别的DNS来代表集群中的一个子区域
  • 在公共网络上有一个DHCP提供动态地址
  • 一个正在运行的集群正确配置GNS

 

获取一个IP地址作为GNS-VIP

从网络管理员那里请求一个ip地址分配作为GNS-VIP。这个IP地址必须是已经分配了的公司DNS作为给定集群的GNS-VIP,例如strdv0108-gns.mycorp.com。这个地址在集群软件安装之后将由集群软件管理。

创建一个下面格式的条目在适当的DNS区域文件里:

# Delegate to gns on strdv0108

strdv0108-gns.mycorp.com NS strdv0108.mycorp.com

#Let the world know to go to the GNS vip strdv0108.mycorp.com 10.9.8.7

 

在这里,子区域是strdv0108.mycorp.com,GNS VIP 已经分配了的名称是strdv0108-gns.us.mycorp.com(对应于一个静态IP地址),GNS守护进程将监听默认端口53。

注意:这并不是建立一个地址的名字strdv0108.mycorp.com,创建了一种解析子区域中名字的方法,比如clusterNode1- VIP.strdv0108.mycorp.com。

DHCP

一个主机要求一个IP地址发送广播消息给硬件网络。一个DHCP服务器可以相应请求,并返回一个地址,连同其他消息,比如使用什么网关,用了那个DNS服务,改用什么域名,改用什么NTP服务,等等。

当我们获取DHCP公共网络,我们有几个IP地址:

  • 每个主机的一个IP地址(节点VIP)
  • 每个集群单个IP作为SCAN

GNS VIP 不能从DHCP获取,因为它必须提前知道,因此必须静态分配。

DHCP配置文件在/etc/dhcp.conf

使用下面的配置例如:

  • the interface on the subnet is 10.228.212.0/10 (netmask 255.252.0)
  • the addresses allowed to be served are 10.228.212.10 through 228.215.254
  • the gateway is 228.212.1
  • the domain the machines will reside in for DNS purposes is mycorp.com

/etc/dhcp.conf 将包含类似的信息:

subnet 10.228.212.0 netmask 255.255.252.0

{

default-lease-time 43200;

max-lease-time 86400;

option subnet-mask 255.255.252.0;

option broadcast-address 10.228.215.255;

option routers 10.228.212.1;

option domain-name-servers M.N.P.Q, W.X.Y.Z; option domain-name “strdv0108.mycorp.com”; pool

{

range 10.228.212.10 10.228.215.254;

}

}

 

名称解析

/etc/resolv.conf必须包含可以解析企业DNS服务器的命名服务器条目,和总超时周期配置必须低于30秒。例如:

/etc/resolv.conf:

options attempts: 2

options timeout: 1

search us.mycorp.com mycorp.com

nameserver 130.32.234.42

nameserver 133.2.2.15

 

/etc/nsswitch.conf控制名称服务查找顺序。在一些系统上配置,网络信息系统可能在解析Oracle SCAN时产生错误。建议在搜索列表里添加NIS 条目。

/etc/nsswitch.conf

hosts:    files   dns  nis

请参阅:Oracle Grid Infrastructure Installation Guide,

“DNS Configuration for Domain Delegation to Grid Naming Service” for more information.

 

在11.2 GNS由集群代理orarootagent管理。这个代理启动,停止和检查DNS。GNS添加到OCR和GNS添加到集群的信息通过srvctl add gns –d <mycluster.company.com>命令。

 

  • The GNS Server

在服务器启动GNS服务器,从子区域中检索名字,需要的服务OCR和启动线程。GNS服务器将做的第一件事是一个自我检查一次所有正在运行的线程。它执行一个测试,看看名称解析正在工作。客户端API调用分配一个虚拟的名称和地址,然后服务器试图解析这个名字。如果解析成功和一个地址匹配的虚拟地址,自我检查将成功并把信息写入alert<hostname>.log.这样做自我检查是只有一次,即使测试失败GNS服务器一直运行。

GNS服务的默认trace路径是Grid_home/log/<hostname>/gnsd/。trace文件看起来像下面的格式:

<Time stamp>: [GNS][Thread ID]<Thread name>::<function>:<message>

 

2009-09-21 10:33:14.344: [GNS][3045873888] Resolve::clsgnmxInitialize: initializing mutex 0x86a7770 (SLTS 0x86a777c).

 

  • The GNS Agent

GNS代理orarootagent会定期检查GNS服务。检查是通过查询GNS的状态。

代理是否成功与GNS广告,执行:

#grep -i ‘updat.*gns’

Grid_home/log/<hostname>/agent/crsd/orarootagent_root/orarootagent_*

 

orarootagent_root.log:2009-10-07 10:17:23.513: [ora.gns.vip] [check] Updating GNS with stnsp0506-gns-vip 10.137.13.245

orarootagent_root.log:2009-10-07 10:17:23.540: [ora.scan1.vip] [check] Updating GNS with stnsp0506-scan1-vip 10.137.12.200

orarootagent_root.log:2009-10-07 10:17:23.562: [ora.scan2.vip] [check] Updating GNS with stnsp0506-scan2-vip 10.137.8.17

orarootagent_root.log:2009-10-07 10:17:23.580: [ora.scan3.vip] [check] Updating GNS with stnsp0506-scan3-vip 10.137.12.214

orarootagent_root.log:2009-10-07 10:17:23.597: [ora.stnsp005.vip] [check] Updating GNS with stnsp005-vip 10.137.12.228

orarootagent_root.log:2009-10-07 10:17:23.615: [ora.stnsp006.vip] [check] Updating GNS with stnsp006-vip 10.137.12.226

 

  • Command Line Interface

命令行接口通过srvctl与GNS进行交互(唯一的支持途径)。crsctl可以停在和启动ora.gsn但是我们不支持这个除了直接告诉开发。

用下面操作实现GNS操作:

# srvctl {start|stop|modify|etc.} gns …

启动 gns

# srvctl start gns [-l <log_level>]  – where –l is the level of logging that GNS should run with.

停止gns

# srvctl stop gns

发布名称和地址

# srvctl modify gns -N <name> -A <address>

 

  • Debugging GNS

默认的GNS服务日志级别是0,我们可以通过ps –ef | grep gnsd.bin简单查看:

/scratch/grid_home_11.2/bin/gnsd.bin -trace-level 0 -ip-address 10.137.13.245 – startup-endpoint ipc://GNS_stnsp005_31802_429f8c0476f4e1

调试GNS服务是可能需要提高日志级别。必须先通过srvctl stop gns命令停掉GNS服务,并通过srvctl start gns –v –l 5重启。只有root用户可以停止和启动GNS。

Usage: srvctl start gns [-v] [-l <log_level>] [-n <node_name>]

-v                     Verbose output

-l <log_level>            Specify the level of logging that GNS  should run with.

-n <node_name>         Node name

-h                     Print usage

trace级别在0-6之间,级别5应该在所有情况下都够用了,不推荐设置级别到6,而且gnsd将消耗大量的CPU。

 

在11.2.0.1由于8705125bug,在初始化安装后默认的GNS服务日志级别是6。用‘srvctl stop / start’命令停掉和重启GNS,把日志级别设成0,这只需要停止和启动gnsd.bin,不会对正在运行的集群产生其他影响。

  • srvctl stop gns
  • srvctl start gns –l 0

用srvctl 可用查看当前GNS配置

srvctl config gns –a GNS is enabled.

GNS is listening for DNS server requests on port 53 GNS is using port 5353 to connect to mDNS

GNS status: OK

Domain served by GNS: stnsp0506.oraclecorp.com GNS version: 11.2.0.1.0

GNS VIP network: ora.net1.network

 

从11.2.0.2开始,使用-l 选项对调试GNS很有帮助。

 

 

1.8 Grid Interprocess Communication(GIPC)

Grid 进程间的通讯是一个普通的通讯设施用来替代CLSC/NS.他提供一个完全的控制从操作系统到任何客户端的通讯堆栈。在11.2之前依赖NS已经撤掉了,但是为了往下兼容,存在CLSC客户端(主要是从11.1开始)。

GIPC可以支持多种通讯类型:CLSC, TCP, UDP, IPC和GIPC。

关于GIPC端点的监听配置是有点不同的。私人/集群的互连现在定义在GPnP配置文件里。

The requirement for the same interfaces to exist with the same name on all nodes is more relaxed, as long as communication will be established.在GPnP配置文件里关于私人和公共的网络连接配置:

<gpnp:Network id=”net1″ IP=”10.137.8.0″ Adapter=”eth0″ Use=”public”/>

<gpnp:Network id=”net2″ IP=”10.137.20.0″ Adapter=”eth2″ Use=”cluster_interconnect”/>

本文永久地址:https://www.askmac.cn/archives/oracle-clusterware-11-2.html

日志和诊断

GIPC的默认trace级别只是输出错误,默认的trace级别在不同组件之间是0-2。要调试和GIPC相关的问题,你应该提高跟踪日志的级别,下面将进行介绍。

通过crsctl设置跟踪日志级别

用crsctl设置不同组件的GIPC trace级别。

例如:

# crsctl set log css COMMCRS:abcd

Where

  • a denotes the trace level for NM
  • b denotes the trace level for GM
  • c denotes the trace level for GIPC
  • d denotes the trace level for PROC

 

如果只想定义GIPC的跟踪日志级别,修改为默认值2,执行:

# crsctl set log css COMMCRS:2242

为所有的组件打开GIPC跟踪((NM, GM,等等),设置:

# crsctl set log css COMMCRS:3 or

# crsctl set log css COMMCRS:4

级别为4的话,会产生大量的跟踪日志,因此ocssd.log就会很快的进行循环覆盖。

 

通过GIPC_TRACE_LEVEL和GIPC_FIELD_LEVEL设置跟踪级别

Another option is to set a pair of environment variables for the component using GIPC as communication e.g. ocssd. In order to achieve this, a wrapper script is required. Taking  ocssd as an example, the wrapper script is Grid_home/bin/ocssd that invokes ‘ocssd.bin’. Adding the variables below to the wrapper script (under the LD_LIBRARY_PATH) and restarting ocssd will enable GIPC tracing. To restart ocssd.bin, perform a crsctl stop/start cluster.

case `/bin/uname` in Linux)

LD_LIBRARY_PATH=/scratch/grid_home_11.2/lib export LD_LIBRARY_PATH

export GIPC_TRACE_LEVEL=4

export GIPC_FIELD_LEVEL=0x80

#   forcibly    eliminate   LD_ASSUME_KERNEL    to  ensure  NPTL    where available

LD_ASSUME_KERNEL=

export LD_ASSUME_KERNEL LOGGER=”/usr/bin/logger”

if [ ! -f “$LOGGER” ];then

LOGGER=”/bin/logger”

fi

LOGMSG=”$LOGGER -puser.err”

;;

这将设置跟踪级别为4,环境变量的值

GIPC_TRACE_LEVEL=3  (valid range [0-6])

GIPC_FIELD_LEVEL=0x80 (only 0x80 is supported)

 

通过GIPC_COMPONENT_TRACE设置跟踪级别

使用GIPC_COMPONENT_TRACE环境变量进行更细粒度的跟踪。定义的组建为GIPCGEN, GIPCTRAC, GIPCWAIT, GIPCXCPT, GIPCOSD, GIPCBASE, GIPCCLSA, GIPCCLSC, GIPCEXMP, GIPCGMOD, GIPCHEAD, GIPCMUX, GIPCNET, GIPCNULL, GIPCPKT, GIPCSMEM, GIPCHAUP, GIPCHALO,  GIPCHTHR,  GIPCHGEN,  GIPCHLCK,  GIPCHDEM, GIPCHWRK

例如:

# export GIPC_COMPONENT_TRACE=GIPCWAIT:4,GIPCNET:3

跟踪信息样子如下:本文永久地址:https://www.askmac.cn/archives/oracle-clusterware-11-2.html

2009-10-23 05:47:40.952: [GIPCMUX][2993683344]gipcmodMuxCompleteSend: [mux] Completed send req 0xa481c0e0 [00000000000093a6] { gipcSendRequest : addr ”, data 0xa481c830, len 104, olen 104, parentEndp 0x8f99118, ret gipcretSuccess (0), objFlags 0x0, reqFlags 0x2 }

2009-10-23 05:47:40.952: [GIPCWAIT][2993683344]gipcRequestSaveInfo: [req]

Completed req 0xa481c0e0 [00000000000093a6] { gipcSendRequest : addr ”, data 0xa481c830, len 104, olen 104, parentEndp 0x8f99118, ret gipcretSuccess (0), objFlags 0x0, reqFlags 0x4 }

 

只有一些层级CSS,GPnPD,GNSD,和很小部分的MDNSD现在使用GIPC。

其他的如CRS/EVM/OCR/CTSS 从11.2.0.2开始使用GIPC。设置GIPC跟踪日志级别对于调试连接问题将很重要。

 

1.9 Cluster time synchronization service daemon (CTSS):

The CTSS is a new feature in Oracle Clusterware 11g release 2 (11.2), which takes care of time synchronization in a cluster, in case the network time protocol daemon is not running or is not configured properly.

The CTSS synchronizes the time on all of the nodes in a cluster to match the time setting on the CTSS master node. When Oracle Clusterware is installed, the Cluster Time Synchronization Service (CTSS) is installed as part of the software package. During installation, the Cluster Verification Utility (CVU) determines if the network time protocol (NTP) is in use on any nodes in the cluster. On Windows systems, CVU checks for NTP and Windows Time Service.

If Oracle Clusterware finds that NTP is running or that NTP has been configured, then NTP is not affected by the CTSS installation. Instead, CTSS starts in observer mode (this condition is logged in the alert log for Oracle Clusterware). CTSS then monitors the cluster time and logs alert messages, if necessary, but CTSS does not modify the system time. If Oracle Clusterware detects that NTP is not running and is not configured, then CTSS designates one node as a clock reference, and synchronizes all of the other cluster member time and date settings to those of the clock reference.

Oracle Clusterware considers an NTP installation to be misconfigured if one of the following is true:

  • NTP is not installed on all nodes of the cluster; CVU detects an NTP installation by a configuration file, such as conf
  • The primary and alternate clock references are different for all of the nodes of the cluster
  • The NTP processes are not running on all of the nodes of the cluster; only one type of time synchronization service can be active on the

To check whether CTSS is running in active or observer mode run crsctl check ctss

 

CRS-4700: The Cluster Time Synchronization Service is in Observer mode.

or

 

CRS-4701: The Cluster Time Synchronization Service is in Active mode. CRS-4702: Offset from the reference node (in msec): 100

The tracing for the ctssd daemon is written to the octssd.log. The alert log (alert<hostname>.log) also contains information about the mode in which CTSS is running.

 

[ctssd(13936)]CRS-2403:The Cluster Time Synchronization Service on host node1 is in observer mode.

[ctssd(13936)]CRS-2407:The new Cluster Time Synchronization Service reference node

is host node1.

[ctssd(13936)]CRS-2401:The Cluster Time Synchronization Service started on host node1.

 

  • CVU checks

There are pre-install CVU checks performed automatically during installation, like: cluvfy stage –pre crsinit <>

This step will check and make sure that the operating system time synchronization software (e.g. NTP) is either properly configured and running on all cluster nodes, or on none of the nodes.

During the post-install check, CVU will run cluvfy comp clocksync –n all. If CTSS is in observer mode, it will perform a configuration check as above. If the CTSS is in active mode, we verify that the time difference is within the limit.

 

  • CTSS resource

When CTSS comes up as part of the clusterware startup, it performs step time sync, and if everything goes well, it publishes its state as ONLINE. There is a start dependency  on ora.cssd but note that it has no stop dependency, so if for some reasons (maybe faulted CTSSD), CTSSD dumps core or exits, nothing else should be affected.

The chart below shows the start dependency build on ora.ctssd for other resources.

crsctl stat res ora.ctssd -init –t

———————————————————————- NAME              TARGET STATE      SERVER      STATE_DETAILS

———————————————————————-

 

ora.ctssd

 

1     ONLINE ONLINE     node1                 OBSERVER

 

 

1.10 mdnsd

 

Debugging mdnsd

In  order  to  capture  mdnsd  network  traffic,  use  the  mDNS  Network  Monitor  located in

Grid_home/bin:

# mkdir Grid_home/log/$HOSTNAME/netmon

 

# Grid_home/bin/oranetmonitor &

The output from oranetmonitor will be captured in netmonOUT.log in the above directory.

 

 

2. Voting Files and Oracle Cluster Repository Architecture

 

在ASM上存储OCR和voting files 消除了第三方卷管理器和消除了安装Oracle集群时的OCR和投票文件复杂的磁盘分区。

 

2.1 Voting File in ASM

ASM管理存储投票文件和其他文件不一样。当投票文件放在ASM磁盘组的磁盘上时,Oracle集群正确的记录是存放在哪个磁盘组上的哪个磁盘。如果ASM坏了,CSS还能继续访问投票文件。如果你选择存放投票文件在ASM上,所有的投票文件都要存放在ASM上。我们不支持有一部分投票文件在ASM上有一部分在NAS上。

在一个磁盘组上能够存放的投票文件的数量依赖于你的ASM磁盘组冗余 。

  • 一个磁盘组外部冗余,只能存放一个投票文件
  • 一个磁盘组标准冗余,可以存放三个投票文件
  • 一个磁盘组高度冗余:可以存放五个投票文件

By default, Oracle ASM puts each voting file in its own failure group within the disk group. A failure group is a subset of the disks in a disk group, which could fail at the same time because they share hardware, e.g. a disk controller. The failure of common hardware must be tolerated. For example, four drives that are in a single removable tray of a large JBOD (Just a Bunch of Disks) array are in the same failure group because the tray could be removed, making all four drives fail at the same time. Conversely, drives in the same cabinet can be in multiple failure groups if the cabinet has redundant power and cooling so that it is not necessary to protect against failure of the entire cabinet. However, Oracle ASM mirroring is not intended to protect against a fire in the computer room that destroys the entire cabinet. If voting files stored on Oracle ASM with Normal or High redundancy, and the storage hardware in one failure group suffers a failure, then if there is another disk available in a disk group in an unaffected failure group, Oracle ASM recovers the voting file in the unaffected failure group.

 

2.2 Voting File Changes

  • The voting files formation critical data are stored in the voting file and not in the OCR anymore. From a voting file perspective, the OCR is not touched at all. The critical data each node must agree on to form a cluster are e.g. misscount and the list of voting files configured。
  • In Oracle Clusterware 11g release 2 (11.2), it is no longer necessary to back up the voting disk. The voting disk data is automatically backed up in OCR as part of any configuration change and is automatically restored to any voting disk that is being added. If all voting disks are corrupted, however, you can restore them as described in the Oracle Clusterware Administration and Deployment
  • New blocks added to the voting files are the voting file identifier block (needed for voting file stored in ASM), and it contains the cluster GUID and the file UID. The committed and pending configuration incarnation number (CCIN and PCIN) contain this formation critical

 

  • 查询投票文件的配置和用crsctl query cssvotedisk查询配置文件的位置:

$ crsctl query css votedisk

## STATE File Universal Id File Name Disk group
— —– —————– ——— ———-
  1. ONLINE 3e1836343f534f51bf2a19dff275da59 (/dev/sdf10) [DATA]
  2. ONLINE  138cbee15b394f3ebf57dbfee7cec633 (/dev/sdg11) [DATA] 3.  ONLINE   462722bd24c94f70bf4d90539c42ad4c (/dev/sdu12) [DATA] Located 3 voting file(s).
  • 投票文件存放在ASM里

o  投票文件存放在ASM里,一个现存的投票文件损坏可能会自动删除和添加回去。

  • 投票文件可以从/迁移到NAS/ASM和从ASM迁移到ASM,例如

$ crsctl replace css votedisk /nas/vdfile1 /nas/vdfile2 /nas/vdfile3

$ crsctl replace css votedisk +OTHERDG

 

  • 如果索引的投票文件都损坏了,你可以用下面的方法恢复。如果因为投票文件丢失而使集群已经关闭并无法重启,你必须赢独占模式启动CSS,并输入下面命令替换投票文件:

 

  • # crsctl start crs –excl (on one node only) o # crsctl delete css votedisk FUID
  • # crsctl add css votedisk path_to_voting_disk

 

假如是扩展的oracle集群/扩展的RAC配置, 第三投票文件必须存放在第三方存储上的三个位置防止数据中心宕机。我们支持第三方投票文件在标准的NFS上. 更多信息参考附录 “Oracle Clusterware 11g release 2 (11.2) – Using standard NFS to support a third voting file on a stretch cluster configuration”.

 

参见: Oracle Clusterware Administration and Deployment Guide, “Voting file, Oracle Cluster Registry, and Oracle Local Registry” for more information. For information about extended clusters and how to configure the quorum voting file see the Appendix.

 

2.3 Oracle Cluster Registry (OCR)

在11.2,OCR可以存放在ASM中。ASM的成员关系和状态表(PST)在多个磁盘上复制并存放在OCR。因此OCR可以容忍丢失相同数量的磁盘和底层磁盘组,针对错误磁盘,可以重定位/重新均衡。

为了在磁盘组中存放OCR,磁盘组有一个特殊的文件类型叫’ocr’.

默认的配置文件的位置是/etc/oracle/ocr.loc

# cat /etc/oracle/ocr.loc

ocrconfig_loc=+DATA

local_only=FALSE

 

From a user and maintenance perspective, the rest remains the same. The OCR can only be configured in ASM when the cluster completely migrated to 11.2 (crsctl query crs activeversion >= 11.2.0.1.0). We still support mixed configurations, so we could have OCR’s stored in ASM and another stored on a supported NAS device, as we support up to 5 OCR locations in 11.2.0.1. We do not support raw or block devices for neither OCR nor voting files anymore.

 

在ASM实例启动时,OCR磁盘组自动挂载。CRSD和ASM维护依赖于OHASD。

OCRCHECK

There are small enhancements in ocrcheck like the –config which is only checking the configuration. Run ocrcheck as root otherwise the logical corruption check will not run. To check OLR data use the –local keyword.

Usage: ocrcheck [-config] [-local]

Shows OCR version, total, used and available space Performs OCR block integrity (header and checksum) checks Performs OCR logical corruption checks (11.1.0.7)

‘-config’ checks just configuration (11.2) ‘-local’ checks OLR, default OCR

Can be run when stack is up or down

输出结果就像:

# ocrcheck

Status of Oracle Cluster Registry is as follows: Version    :                       3

Total space (kbytes)   :    262120 Used space (kbytes)  :   3072 Available space (kbytes) :    259048 ID              : 701301903

Device/File Name         :     +DATA

Device/File integrity check succeeded Device/File Name                   : /nas/cluster3/ocr3

Device/File integrity check succeeded Device/File Name                   : /nas/cluster5/ocr1

Device/File integrity check succeeded Device/File Name                   : /nas/cluster2/ocr2

Device/File integrity check succeeded Device/File Name                   : /nas/cluster4/ocr4

Device/File integrity check succeeded

Cluster registry integrity check succeeded Logical corruption check succeeded

2.4 Oracle Local Registry (OLR)

 

OLR结构和OCR相似,是一个节点的本地信息库,是由OHASD管理的。OLR的配置信息只属于本地几点,不和其他节点共享。

配置信息存放在‘/etc/oracle/olr.loc’ (on Linux)或其他操作系统的类似位置上。在安装好Oracle集群后的默认位置:

  • RAC: Grid_home/cdata/<hostname.olr>
  • Oracle Restart: Grid_home/cdata/localhost/hostname。

在OLR里存放信息,是必须由OHASD启动或添加到集群的;包括的数据关于GPnP钱夹,集群配置和版本信息。

OLR的密匙属性和OCR是一样的,检查或者转储OLR信息的工具和OCR也是一样的。

查看OLR的位置,运行命令:

# ocrcheck -local –config

Oracle Local Registry configuration is :  Device/File Name : Grid_home/cdata/node1.olr

 

转储OLR的内容,执行命令:

# ocrdump -local –stdout (or filename)

ocrdump –h to get the usage

 

参见:Oracle Clusterware Administration and Deployment Guide, “Managing the Oracle Cluster Registry and Oracle Local Registries” for more information about using the ocrconfig and ocrcheck.

 

2.5 Bootstrap and Shutdown if OCR is located in ASM

ASM挂载磁盘组之前OCR操作必须能执行。强制卸载OCR或ASM实例被强制关闭会报错。

当堆栈是运行的,CRSD保持读写OCR。

OHASD maintains the resource dependency and will bring up ASM with the required diskgroup mounted before it starts CRSD.

Once ASM is up with the diskgroup mounted, the usual ocr* commands (ocrcheck,  ocrconfig, etc.) can be used.

执行关闭有活动的OCR的ASM实例会报ORA-15097错误。(意味着在这个节点上运行着CRSD)。为了查看哪个客户端在访问ASM,执行命令:

asmcmd lsct (v$asm_client)

DB_Name Status   Software_Version Compatible_version Instance_Name Disk_Group

+ASM   CONNECTED        11.2.0.1.0         11.2.0.1.0           +ASM2          DATA

 

asmcmd lsof

DB_Name  Instance_Name Path

+ASM     +ASM2         +data.255.4294967295

+data.255用来标识在ASM上的OCR。

2.6 OCR in ASM diagnostics

产生了一些错误,

  • 确认ASM实例是启动的和相应的磁盘组是挂载的,检查log看ASM实例的日志。
  • 核实OCR文件创建在磁盘组上了,用asmcmd ls 查看。集群堆栈保持访问OCR文件,大多数时候在log里可能会有CRSD的错误信息。一些错误关于ocr* 命令(如crsd,在客户端经常考虑),将会在Grid_home/log/<hostname>/client目录里产生跟踪文件; 其他情况下,在错误堆栈的头部寻找kgfo / kgfp / kgfn 。
  • Confirm that the ASM compatible.asm property of the diskgroup is set to at least 11.2.0.0.

 

The ASM Diskgroup Resource

当一个磁盘组被创建,磁盘组资源将自动创建名字,ora.<DGNAME>.dg,状态被设置成ONLINE。如果磁盘组卸载了,那么状态就会设置成OFFLINE,由于这是CRS管理的资源。当删除一个磁盘组时,磁盘组资源也会被删除。

数据库要访问ASM文件时会在数据库和磁盘组之间自动建立依赖关系。然而,当数据库不再使用ASM文件或者ASM文件被移除了,我们没法自动移除依赖关系,这就需要用srvctl命令行工具了。

典型的ASM alert.log 里的成功/失败和警告信息:

Success:

NOTE: diskgroup resource ora.DATA.dg is offline

NOTE: diskgroup resource ora.DATA.dg is online

 

Failure

ERROR: failed to online diskgroup resource ora.DATA.dg

ERROR: failed to offline diskgroup resource ora.DATA.dg

 

Warning

WARNING: failed to online diskgroup resource ora.DATA.dg (unable to communicate with CRSD/OHASD)

This warning may appear when the stack is started WARNING: unknown state for diskgroup resource ora.DATA.dg

 

如果错误发生了,查看alert.log里关于资源操作的状态信息,如:

“ERROR”: the resource operation failed; check CRSD log and Agent log for more details

Grid_home/log/<hostname>/crsd/

Grid_home/log/<hostname>/agent/crsd/oraagent_user/

“WARNING”: cannot communicate with CRSD.

在引导ASM实例启动和在CRSD之前挂载磁盘组,这个警告可以忽略。

磁盘组资源的状态和磁盘组时要一致的。在少数情况下,会出现短暂的不同步。执行srvctl让状态同步,或者等待一段时间让代理去刷新状态。如果这个不同步的时间比较长,请检查CRSD 日志和ASM日期看更多的细节信息。

打开更全面的跟踪用事件event=”39505 trace name context forever, level 1“。

 

2.7 The Quorum Failure Group

一个仲裁故障组是故障组的一种特殊类型,不包含用户数据也在决定冗余要求时也不需要考虑。

COMPATIBLE.ASM磁盘组的compatibility属性必须设置为11.2或更高,用来在磁盘组里存放OCR或投票文件。

在拓展的/延伸的集群或者两个存储阵列需要第三个投票文件时,在安装数据库软件时我们不支持创建一个仲裁故障组。

创建一个仲裁故障组的磁盘组在第三阵列可用:

SQL> CREATE DISKGROUP PROD NORMAL REDUNDANCY

FAILGROUP fg1 DISK ‘<a disk in SAN1>’

FAILGROUP fg2 DISK ‘<a disk in SAN2>’

QUORUM FAILGROUP fg3 DISK ‘<another disk or file on a third location>’

ATTRIBUTE ‘compatible.asm’ = ’11.2.0.0’;

 

如果是用asmca创建的磁盘组,添加仲裁盘到磁盘组里,Oracle集群会自动改变CSS仲裁盘的位置,例如:

$ crsctl query css votedisk

##  STATE    File Universal Id              File Name    Disk group

— —–   —————–             ———   ———

  1. ONLINE 3e1836343f534f51bf2a19dff275da59 (/dev/sdg10) [DATA]
  2. ONLINE 138cbee15b394f3ebf57dbfee7cec633 (/dev/sdf11) [DATA]
  3. ONLINE 462722bd24c94f70bf4d90539c42ad4c (/voting_disk/vote_node1) [DATA]

Located 3 voting file(s).

如果是通过SQL*PLUS,就要执行crsctl replace css votedisk。

本文永久地址:https://www.askmac.cn/archives/oracle-clusterware-11-2.html

参见:Oracle Database Storage Administrator’s Guide, “Oracle ASM Failure Groups” for more information. Oracle Clusterware Administration and Deployment Guide, “Voting file, Oracle Cluster Registry, and Oracle Local Registry” for more information about backup and restore and failure recovery.

 

2.8 ASM spfile

  • ASM spfile location

Oracle建议把ASM SPFILE存放在磁盘组上。你不能给已经存在的ASM SPFILE创建别名。

如果你没有用共享的Oracle grid家目录,Oracle ASM实例会使用PFILE。相同规则的文件名,默认位置,和查找用来适用于数据库初始化参数的文件和也适用于ASM的初始化参数文件。

ASM查找参数参数文件的顺序是:

  • 在GPnP配置文件里指定的初始化参数文件的位置。
  • 如果GPnP配置文件没有指定位置,查找顺序改变为:
    • 在ASM实例的家目录下的SPFILE

例如:在Linux环境下,SPFILE的默认路径是在Oracle grid的家目录下:

$ORACLE_HOME/dbs/spfile+ASM.ora

  • 在ASM实例的家目录下的PFILE

 

Backing Up, Moving a ASM spfile

你可以备份,复制,或移动ASM SPFILE 用ASMCMD的spbackup,spcopy或spmove命令。关于ASMCMD的命令参见Oracle Database Storage Administrator’s Guide。

 

参见:Oracle Database Storage Administrator’s Guide “Configuring Initialization Parameters for an Oracle ASM Instance” for more information.

3. Resources

Oracle 集群管理应用和进程是通过管理你在集群里注册的资源。你在集群里注册的资源数量取决于你的应用。应用只由一个进程组成,通常就只有一个资源。有些复制的应用,由多个进程或组件组成,可能需要多个资源。

3.1 资源类型

通常,所有的资源是唯一的但是有些资源可能有共同的属性。Oracle集群用资源类型来组织这些相似的资源。用资源类型有这些好处:

  • 管理只需要资源的属性Manage only necessary resource attributes
  • 管理所有的资源基于资源类型Manage all resources based on the resource type

每个在Oracle集群注册的资源都要有一个指定的资源类型。除了在Oracle集群中的资源类型,可以用crsctl工具自定义资源类型。资源类型包括:

  • 基础资源:基础类型
  • 本地资源:集群里的每个服务器上实例的本地资源(类型名是local_resource) 例如 node14.vip 。
  • 集群资源:集群资源类型(类型名是cluster_resours)are aware of the cluster environment and are subject to cardinality and cross-server switchover and failover; 例如: asm.

所有用户定义的资源类型必须是基础的,直接的或间接的,为local_resource类型或cluster_resource类型。

执行crsctl stat type命令可以列出说有的定义的类型:

 

TYPE_NAME=application

BASE_TYPE=cluster_resource

 

TYPE_NAME=cluster_resource

BASE_TYPE=resource

 

TYPE_NAME=local_resource

BASE_TYPE=resource

 

TYPE_NAME=ora.asm.type

BASE_TYPE=ora.local_resource.type

 

TYPE_NAME=ora.cluster_resource.type

BASE_TYPE=cluster_resource

 

TYPE_NAME=ora.cluster_vip.type

BASE_TYPE=ora.cluster_resource.type

 

TYPE_NAME=ora.cluster_vip_net1.type

BASE_TYPE=ora.cluster_vip.type

 

TYPE_NAME=ora.database.type

BASE_TYPE=ora.cluster_resource.type

 

TYPE_NAME=ora.diskgroup.type

BASE_TYPE=ora.local_resource.type

 

TYPE_NAME=ora.eons.type

BASE_TYPE=ora.local_resource.type

 

TYPE_NAME=ora.gns.type

BASE_TYPE=ora.cluster_resource.type

 

TYPE_NAME=ora.gns_vip.type

BASE_TYPE=ora.cluster_vip.type

 

TYPE_NAME=ora.gsd.type

BASE_TYPE=ora.local_resource.type

 

TYPE_NAME=ora.listener.type

BASE_TYPE=ora.local_resource.type

 

TYPE_NAME=ora.local_resource.type

BASE_TYPE=local_resource

 

TYPE_NAME=ora.network.type

BASE_TYPE=ora.local_resource.type

 

TYPE_NAME=ora.oc4j.type

BASE_TYPE=ora.cluster_resource.type

 

TYPE_NAME=ora.ons.type

BASE_TYPE=ora.local_resource.type

 

TYPE_NAME=ora.registry.acfs.type

BASE_TYPE=ora.local_resource.type

 

TYPE_NAME=ora.scan_listener.type

BASE_TYPE=ora.cluster_resource.type

 

TYPE_NAME=ora.scan_vip.type

BASE_TYPE=ora.cluster_vip.type

 

TYPE_NAME=resource

BASE_TYPE=

 

列出类型的所有属性和默认值,执行crsctl stat type <typeName> -f (for full configuration) or –p (for static configuration)。

  • Base Resource Type Definition

 

这节说明组成资源类型定义的属性。一个资源类型的定义是抽象的和只读的。这些类型可能只是当做其他类型的基础。在11.2.0.1的集群不允许直接拓展用户定义的类型。

查看所有的基础资源类型的名称和默认值,运行crsctl stat  type resource –p命令。

 

Name History Description
NAME From 10gR2 The name of the resource. Resource names must be unique and may not be modified once the resource is created.
TYPE From 10gR2,

modified

Semantics are unchanged; values other than application exist

Type: string Special Values: No

CHECK_INTERVAL From 10gR2 Unchanged

Type: unsigned integer Special Values: No

Per-X Support: Yes

DESCRIPTION From 10gR2 Unchanged Type: string

Special Values: No

RESTART_ATTEMPTS From 10gR2 Unchanged

Type: unsigned integer Special Values: No

Per-X Support:  Yes

START_TIMEOUT From 10gR2 Unchanged

Type: unsigned integer Special Values: No

Per-X Support: Yes

 

STOP_TIMEOUT From 10gR2 Unchanged

Type: unsigned integer Special Values: No

Per-X Support: Yes

 

SCRIPT_TIMEOUT From 10gR2 Unchanged

Type: unsigned integer Special Values: No

Per-X Support: Yes

UPTIME_THRESHOLD From 10gR2 Unchanged Type: string

Special Values: No Per-X Support:  Yes

AUTO_START From 10gR2 Unchanged Type: string

Format: restore|never|always Required: No

Default: restore Special Values: No

BASE_TYPE New The name of the base type from which this type extends. This is the value of the “TYPE” in the base type’s profile.

Type: string

Format: [name of the base type] Required: Yes

Default: empty string (none) Special Values: No

Per-X Support: No

 

 

DEGREE New This is the count of the number of instances of the resource that are allowed to run on a  single  server.  Today’s application has a fixed degree of one. Degree supports multiplicity within a server

Type: unsigned integer

Format: [number of attempts, >=1] Required: No

Default: 1

Special Values: No

ENABLED New The flag that governs the state of the resource as far as being managed by Oracle Clusterware, which will not attempt to manage a disabled resource whether directly or because of a dependency to another resource. However, stopping of the resource when requested by the administrator will be allowed

(so as to make it possible to disable a resource without having to stop it). Additionally, any change to the resource’s state performed by an ‘outside force’ will still be proxied into the clusterware.

Type: unsigned integer Format: 1 | 0 Required: No

Default: 1

Special Values: No Per-X Support: Yes

 

START_DEPENDENCIES New Specifies a set of relationships that govern the start of the resource.

Type: string Required: No Default:

Special Values: No

STOP_DEPENDENCIES New Specifies a set of relationships that govern the stop of the resource.

Type: string Required: No Default:

Special Values: No

AGENT_FILENAME New An absolute filename (that is, inclusive of the path and file name) of the agent program that handles this type. Every resource type must have an agent program that handles its resources. Types can do so by either specifying the value for this attribute or inheriting it from their base type.

Type: string Required: Yes Special Values: Yes

Per-X Support: Yes (per-server only)

 

ACTION_SCRIPT From 10gR2,

modified

An absolute filename (that is, inclusive of the path and file name) of the action script file. This attribute is used in conjunction with the AGENT_FILENAME. CRSD will invoke the script in the manner it did in 10g for all entry points (operations) not implemented in the agent binary. That is, if the agent program implements a particular entry point,  it     is invoked; if it does not, the script specified in this attribute will be executed.

Please note that for backwards compatibility with previous releases, a built-in agent for the application type will be included with CRS. This agent is implemented to always invoke the script specified with this attribute.

Type: string Required: No Default:

Special Values: Yes

Per-X Support:  Yes (per-server only)

 

 

ACL New Contains permission attributes. The value is populated at resource creation time based on the identity of the process creating the resource, unless explicitly overridden. The value can subsequently be changed using the APIs/command line utilities, provided that such a change is allowed based on the existing permissions of the resource.

 

Format:owner:<user>:rwx,pgrp:<group>:rwx,other::r—

Where

owner: the OS User of the resource owner, followed by the permissions that the owner has. Resource actions will be executed as with this user ID.

pgrp: the OS Group that is the resource’s primary group, followed by the permissions that members of the group have

other: followed by permissions that others have

Type: string Required: No Special Values: No

STATE_CHANGE_EVENT_TEM PLATE New The template for the State Change events. Type: string Required: No

Default:

Special Values: No

PROFILE_CHANGE_EVENT_TE MPLATE New The template for the Profile Change events. Type: string Required: No

Default:

Special Values: No

 

ACTION_FAILURE_EVENT_TE MPLATE New The template for the State Change events.

Type: string Required: No Default:

Special Values: No

LAST_SERVER New An internally managed, read-only attribute that contains the name of the server on which the last start action has succeeded.

Type: string

Required: No, read-only

Default: empty Special Values: No

OFFLINE_CHECK_INTERVAL New Used for controlling off-line monitoring of a resource. The value represents the interval (in seconds) to use for implicitly monitoring the resource when it is OFFLINE. The monitoring is turned off if the value is 0

Type: unsigned integer Required: No

Default: 0

Special Values: No Per-X Support: Yes

 

STATE_DETAILS New An internally managed, read-only attribute that contains details about the state of the resource. The attribute fulfills the following needs:

1.      CRSD understood resource states (Online, Offline, Intermediate, etc) may map to different resource-specific values (mounted, unmounted, open, closed, etc). In order to provide a better description of this mapping, resource agent developers may choose to provide a ‘state label’ as part of providing the value of the STATE.

2.  Providing the label, unlike the value of the resource state, is optional. If not provided, the Policy Engine will use CRSD- understood state values (Online, Offline, etc). Additionally, in the event the agent is unable to provide the label (as may also happen to the value of STATE), the Policy Engine will set the value of this attribute to do it is best at providing the details as to why the resource is in the state it is (why it is Intermediate and/or why it is Unknown)

Type: string

Required: No, read-only Default: empty

Special Values: No

 

  • Local Resource Type Definition

The local_resource type is the basic building block for resources that are instantiated for each server but are cluster oblivious and have a locally visible state. While the definition of the type is global to the clusterware, the exact property values of the resource instantiation on a particular server are stored on that server. This resource type has no equivalent in Oracle Clusterware 10gR2 and is a totally new concept to Oracle Clusterware.

The following table specifies the attributes that make up the local_resource type definition. To see all default values run the command crsctl stat type local_resource –p.

Name Description
ALIAS_NAME Type: string Required: No Special Values: Yes Per-X Support:  No
LAST_SERVER Overridden from resource: the name of the server to which the

resource is assigned (“pinned”).

 

 

Only Cluster Administrators will be allowed to register local resources.

 

 

  • Cluster Resource Type Definition

 

The cluster_resource is the basic building block for resources that are cluster aware  and  have globally visible state. 11.1‘s application is a cluster_resource. The type’s base is resource. The type definition is read-only. The following table specifies the attributes that make up the cluster_resource type definition.

 

The following table specifies the attributes that make up the cluster_resource  type definition. Run crsctl stat type cluster_resource –p to see all default values.

 

Name History Description
ACTIVE_PLACEMENT From 10gR2 Unchanged

Type: unsigned integer Special Values: No

FAILOVER_DELAY From 10gR2 Unchanged, Deprecated Special Values: No
FAILURE_INTERVAL From 10gR2 Unchanged

Type: unsigned integer Special Values: No

Per-X Support:  Yes

FAILURE_THRESHOLD From 10gR2 Unchanged

Type: unsigned integer Special Values: No

Per-X Support:  Yes

PLACEMENT From 10gR2 Format: value

where value is one of the following: restricted

Only servers that belong to the associated server pool(s) or hosting members may host instances of the resource.

favored

If     only     SERVER_POOLS     or     HOSTING_MEMBERS

attribute   is   non-empty,   servers   belonging   to    the specified server pool(s)/hosting member list will be considered first if available; if/when none are available, any other server will be used.

If both SERVER_POOLS and HOSTING_MEMBERS are populated, the former indicates preference while the latter – restricts the choices to the servers within that preference

balanced

Any ONLINE, enabled server may be used for placement. Less loaded servers will be preferred to more loaded ones. To measure how loaded a server is, clusterware will use the LOAD attribute of resources that are ONLINE on the server. The sum total of LOAD values is used as the absolute measure of the current server load.

Type: string Default: balanced Special Values: No

 

HOSTING_MEMBERS From 10g The meaning from this attribute is taken from the previous release.

Although not officially deprecated, the use of this attribute is discouraged.

Special Values: No

Required: @see SERVER_POOLS

 

SERVER_POOLS New Format:

* | [<pool name1> […]]

This attribute creates an affinity between the resource and one or more server pools as far as placement goes. The meaning of this attribute depends on what the value of PLACEMENT is.

When a resource should be able to run on any server of the cluster, a special value of * needs to be used. Note that only Cluster Administrators can specify * as the value for this attribute. Required:

restricted PLACEMENT requires either SERVER_POOLS or HOSTING_MEMBERS

favored PLACEMENT requires either SERVER_POOLS or HOSTING_MEMBERS

but allows both.

Balanced PLACEMENT does not require a value Type: string

Default: *

Special Values: No

 

 

CARDINALITY New The count of the number of servers on which a resource wants to be running simultaneously. In other words, this is the ‘upper’ limit for resource cardinality. There’s currently no support for the ‘lower’ cardinality limit.

Please note CRS special values may be used for specifying values of this attribute.

Type: string Format: max Required: No Default: 1

Special Values: Yes

LOAD New A non-negative, numeric value designed to represent a quantitative measure of how much server capacity an instance of the resource consumes. The value of this parameter is interpreted in conjunction with  that  of the PLACEMENT attribute. For balanced placement policy, the value of this attribute place a role in determining where the resource is best placed. This value is an improvement to the original behavior of the balanced placement policy which assumed that the load of every resource is a constant and equal number (1).

Type: unsigned integer Format: non-negative number

Required:

No Default:1

Special Values: No Per-X Support:  Yes

 

3.2 资源依赖性

With Oracle Clusterware 11.2 a new dependency concept is introduced, to be able to build dependencies for start and stop actions independent and have a much better granularity.

 

  • Hard Dependency

If resource A has a hard dependency on resource B, B must be ONLINE before A will be started. Please note there is no requirement that A and B be located on the same server.

A possible parameter to this dependency would allow resource B to be in either in ONLINE  or INTERMEDIATE state. Such a variation is sometimes referred to as the intermediate dependency.

Another possible parameter to this dependency would make it possible to differentiate if A requires that B be present on the same server or on any server in the cluster. In other words, this illustrates that the presence of resource B on the same server as A is a must for resource A to start.

If the dependency is on a resource type, as opposed to a concrete resource, this should be interpreted as “any resource of the type”. The aforementioned modifiers for locality/state still apply accordingly.

 

  • Weak Dependency

If resource A has a weak dependency on resource B, an attempt to start of A will attempt to start B if is not ONLINE. The result of the attempt to start B is, however, of no consequence to the result of starting A (it is ignored). Additionally, if start of A causes an attempt to start B, failure to start A has no affect on B.

A possible parameter to this dependency is whether or not the start of A should wait for start of B to complete or may execute concurrently.

Another possible parameter to this dependency would make it possible to differentiate if A desires that B be running on the same server or on any server in the cluster. In other words, this illustrates that the presence of resource B on the same server as A is a desired for resource A to start. In addition to the desire to have the dependent resource started locally or on any server in the cluster, another possible parameter is to start the dependent resource on every server where it can run。

 

If the dependency is on a resource type, as opposed to a concrete resource, this should be interpreted as “every resource of the type”. The aforementioned modifiers for locality/state still apply accordingly.

 

  • Attraction

If resource A attracts B, then whenever B needs to be started, servers that currently have A running will be first on the list of placement candidates. Since a resource may have more than one resource to which it is attracted, the number of attraction-exhibiting resources will govern the order of precedence as far as server placement goes.

If the dependency is on a resource type, as opposed to a concrete resource, this should be interpreted as “any resource of the type”.

A possible flavor of this relation is to require that a resource’s placement be re-evaluated when a related resource’s state changes. For example, resource A is attracted to B and C. At the time of starting A, A is started where B is. Resource C may either be running or started thereafter. Resource B is subsequently shut down/fails and does not restart. Then resource  A requires that at this moment its placement be re-evaluated and it be moved to C. This is somewhat similar to the AUTOSTART attribute of the resource profile, with the dependent resource’s state change acting as a trigger as opposed to a server joining the cluster.

A possible parameter to this relation is whether or not resources in intermediate  state should be counted as running thus exhibit attraction or not.

If resource A excludes resource B, this means that starting resource A on a server where B is running will be impossible. However, please see the dependency’s namesake for STOP to  find out how B may be stopped/relocated so A may start.

 

  • Pull-up

If a resource A needs to be auto-started whenever resource B is started, this dependency is used. Note that the dependency will only affect A if it is not already running. As is the case for other dependency types, pull-up may cause the dependent resource to start on any or the same server, which is parameterized. Another possible parameter to this dependency would allow resource B to go to either in ONLINE or INTERMEDIATE state to trigger pull-up  of A. Such a variation is sometimes referred to as the intermediate dependency. Note that if resource A has pull-up relation to resources B and C, then it will only be pulled up when both B and C are started. In other words, the meaning of resources mentioned in the pull-up specification is interpreted as a Boolean AND.

Another variation in this dependency is if the value of the TARGET of resource A plays a role: in some cases, a resource needs to be pulled-up irrespective of its TARGET while in others only if the value of TARGET is ONLINE. To accommodate both needs, the relation offers a modifier to let users specify if the value of the TARGET is irrelevant; by default, pull-up will only start resources if their TARGET is ONLINE. Note that this modifier is on the relation, not on any of the targets as it applies to the entire relation.

If the dependency is on a resource type, as opposed to a concrete resource, this should be interpreted as “any resource of the type”. The aforementioned modifiers for locality/state still apply accordingly.

 

  • Dispersion

The property between two resources that desire to avoid being co-located, if there’s no alternative other than one of them being stopped, is described by the use of the dispersion relation. In other words, if resource A prefers to run on a different server than the one occupied by resource B, then resource A is said to have a dispersion relation to resource B at start time. This sort of relation between resources has an advisory effect, much like that of attraction: it is not binding as the two resources may still end up on the same server.

A special variation on this relation is whether or not crsd is allowed/expected to disperse resources, once it is possible, that are already running. In other words, normally, crsd will  not disperse co-located resources when, for example, a new server becomes online: it will not actively relocate resources once they are running, only disperse them when starting them. However, if the dispersion is ‘active’, then crsd will try to relocate one of the  resources that disperse to the newly available server.

A possible parameter to this relation is whether or not resources in intermediate  state should be counted as running thus exhibit attraction or not.

 

 

4. Fast Application Notification (FAN)

  • Event Sources

在11.2,CRSD所有者组织了大量的事件,RLB事件是来源于数据库。如果eONS 没有在运行,ReporterModule尝试缓存事件直到eONS启动。事件确保发送和接收发生动作发生的顺序。

 

  • Event Processing architecture in oraagent

 

  • database / ONS / eONS agents

每个节点在crsd的oraagent进程里运行一个数据库代理,一个ONS代理,和一个eONS代理。这些代理复制停止/启动/检查操作。每一个代理不是用专用的线程,用一个线程池来执行多种资源的操作。

 

  • eONS subscriber threads

在oraagent日志里,可以通过字符串”Thread:[EonsSub ONS]”, “Thread:[EonsSub EONS]” 和”Thread:[EonsSub FAN]”辨识出eONS subscriber线程。在下面的例子中,一个服务已经停止,这个节点的crsd oraagent程序和三个eONS会受到这个事件:

2009-05-26 23:36:40.479: [AGENTUSR][2868419488][UNKNOWN] Thread:[EonsSub FAN]

process {

2009-05-26 23:36:40.500: [AGENTUSR][2868419488][UNKNOWN] Thread:[EonsSub FAN]

process }

2009-05-26 23:36:40.540: [AGENTUSR][2934963104][UNKNOWN] Thread:[EonsSub ONS]

process }

2009-05-26 23:36:40.558: [AGENTUSR][2934963104][UNKNOWN] Thread:[EonsSub ONS]

process {

2009-05-26 23:36:40.563: [AGENTUSR][2924329888][UNKNOWN] Thread:[EonsSub EONS]

process {

2009-05-26 23:36:40.564: [AGENTUSR][2924329888][UNKNOWN] Thread:[EonsSub EONS]

process }

 

  • Event Publishers/processors in general

 

On one node of the cluster, the eONS subscriber of the following agents also assumes the role of a publisher or processor or master (pick your favorite terminology):

  • One dbagent’s eONS subscriber assumes the role “CLSN.FAN.pommi.FANPROC”; this subscriber is responsible for publishing ONS events (FAN events) to the HA alerts queue for database ‘pommi’. There is one FAN publisher per database in the
  • One onsagent’s eONS subscriber assumes the role “CLSN.ONS.ONSPROC”, publisher for ONS events; this subscriber is responsible for sending eONS events to ONS clients.
  • Each eonsagent’s eONS subscriber on every node publishes eONS events as user callouts. There is no single eONS publisher in the cluster. User callouts are no longer produced by

The publishers/processors can be identified by searching for “got lock”:

 

staiu01/agent/crsd/oraagent_spommere/oraagent_spommere.l01:2009-05-26 19:51:41.549:               [AGENTUSR][2934959008][UNKNOWN] CssLock::tryLock,  got   lock CLSN.ONS.ONSPROC

staiu02/agent/crsd/oraagent_spommere/oraagent_spommere.l01:2009-05-26 19:51:41.626:               [AGENTUSR][3992972192][UNKNOWN] CssLock::tryLock,  got   lock CLSN.ONS.ONSNETPROC

staiu03/agent/crsd/oraagent_spommere/oraagent_spommere.l01:2009-05-26 20:00:21.214:               [AGENTUSR][2856319904][UNKNOWN] CssLock::tryLock,  got   lock

CLSN.RLB.pommi

staiu02/agent/crsd/oraagent_spommere/oraagent_spommere.l01:2009-05-26 20:00:27.108:               [AGENTUSR][3926576032][UNKNOWN] CssLock::tryLock,  got   lock CLSN.FAN.pommi.FANPROC

These CSS-based locks work in such a way that any node can grab the lock if it is not already held. If the process of the lock holder goes away, or CSS thinks the node went away, the lock is released and someone else tries to get the lock. The different processors try to grab the lock whenever they see an event. If a processor previously was holding the lock, it doesn’t have to acquire it again. There is currently no implementation of a “backup” or designated failover-publisher.

 

  • ONSNETPROC

In a cluster of 2 or more nodes, one onsagent’s eONS subscriber will also assume the role of CLSN.ONS.ONSNETPROC, i.e. is responsible for just publishing network down events. The publishers with the roles of CLSN.ONS.ONSPROC and CLSN.ONS.ONSNETPROC cannot and will not run on the same node, i.e. they must run on distinct nodes.

 

If both the CLSN.ONS.ONSPROC and CLSN.ONS.ONSNETPROC simultaneously get their public network interface pulled down, there may not be any event.

 

  • RLB publisher

Another additional thread tied to the dbagent thread in the oraagent process of only one node in the cluster, is ” Thread:[RLB:dbname]”, and it dequeues the LBA/RLB/affinity    event from the SYS$SERVICE_METRICS queue, and publishes the event to eONS clients. It assumes the lock role of CLSN.RLB.dbname. The CLSN.RLB.dbname publisher can run on any node,  and is not related to the location of the MMON master (who enqueues LBA events into the SYS$SERVICE_METRICS queue. So since the RLB publisher (RLB.dbname) can run on a different node than the ONS publisher (ONSPROC), RLB events can be dequeued on one node, and published to ONS on another node. There is one RLB publisher per database in  the cluster

 

Sample trace, where Node 3 is the RLB publisher, and Node 2 has the ONSPROC role:

– Node 3:

2009-05-28 19:29:10.754: [AGENTUSR][2857368480][UNKNOWN]

Thread:[RLB:pommi] publishing message srvname = rlb

2009-05-28 19:29:10.754: [AGENTUSR][2857368480][UNKNOWN]

Thread:[RLB:pommi] publishing message payload = VERSION=1.0 database=pommi service=rlb { {instance=pommi_3 percent=25 flag=UNKNOWN aff=FALSE}{instance=pommi_4 percent=25 flag=UNKNOWN aff=FALSE}{instance=pommi_2 percent=25 flag=UNKNOWN aff=FALSE}{instance=pommi_1 percent=25 flag=UNKNOWN aff=FALSE} } timestamp=2009-05-28 19:29:10

The RLB events will be received by the eONS subscriber of the ONS publisher (ONSPROC) who then posts the event to ONS:

 

 

– Node 2:

 

2009-05-28 19:29:40.773: [AGENTUSR][3992976288][UNKNOWN] Publishing the

ONS event type database/event/servicemetrics/rlb

 

  • Example

 

 

  • Node 1
    • assumes role of FAN/AQ publisher CLSN.FAN.dbname.FANPROC, enqueues HA events into HA alerts queue
    • assumes role of eONS publisher to generate user callouts MMON enqueues RLB events into SYS$SERVICE_METRICS queue
  • Node 2
    • assumes role of ONS publisher CLSN.ONS.ONSPROC to publish ONS and RLB events to ONS subscribers (listener, JDBC ICC/UCP)
    • assumes role of eONS publisher to generate user callouts
  • Node 3
    • assumes role of ONSNET publisher CLSN.ONS.ONSNETPROC to publish ONS events to ONS subscribers (listener, JDBC ICC/UCP)
    • assumes role of eONS publisher to generate user callouts
  • Node 4
    • assumes role of RLB publisher CLSN.RLB.dbname, dequeues RLB events from SYS$SERVICE_METRICS queue and posts them to eONS
    • assumes role of eONS publisher to generate user callouts

 

  • Coming up in 2.0.2

The above description is only valid for 11.2.0.1. In 11.2.0.2, the eONS proxy a.k.a  eONS server will be removed, and its functionality will be assumed by evmd. In addition, the tracing as described above, will change significantly. The major reason for this change was the high resource usage of the eONS JVM.

In order to find the publishers in the oraagent.log in 11.2.0.2, search for these patterns:

 

“ONS.ONSNETPROC CssLockMM::tryMaster I am the master” “ONS.ONSPROC CssLockMM::tryMaster I am the master” “FAN.<dbname> CssLockMM::tryMaster I am the master” “RLB.<dbname> CssSemMM::tryMaster I am the master”

 

5. Configuration best practices

  • Cluster interconnect

Oracle不建议为集群件和RAC配置单独的接口。如果配置多个私有接口我们建议绑定成一个单独的接口,为了给网卡故障提供冗余。除非绑定,多个私有接口只是提供负载均衡,不能故障转移。

改变接口名字的后果取决于你改变了那个接口的名字和你是否也改变了IP地址。如果你只是改变了接口名字,那么后果是次要的。如果你改变的是公共接口的名字存储在OCR中,那么你必须在每个节点上修改应用。因此,你要停掉节点上的应用来进行修改。

可以用oifcfg delif / setif修改集群的网络互连,也可以修改集群的私有网络互连,在集群件重启时生效。

Oracle RAC网络互连必须用相同的接口。不要配置私有的网络互连在集群件上没有定义的不同接口。

参见: Oracle Clusterware Administration and Deployment Guide, “Changing Network Addresses on Manually Configured Networks” for more information.

 

  • misscount

misscount的值很重要,Oracle不支持修改misscount得默认值。可以通过下面命令获取misscount的值:

 

# crsctl get css misscount

 

CRS-4678: Successful get misscount 30 for Cluster Synchronization Services.

 

第三方集群软件misscount的默认值是600,是为了给第三方软件提供更多的时间来做节点的加入/删除的决定。不要修改第三方集群软件的misscount默认设置.

 

 

 

 

6  Clusterware Diagnostics and Debugging

6.1 Check Cluster Health

当一个集群成功安装或者一个节点启动了,那么就可以检查整个集群或者一个节点的健康了。

本地节点的OHASD已经启动和如果守护进程是健康运行的,就可以进行‘crsctl check has’检查。

# crsctl check has

CRS-4638: Oracle High Availability Services is online

 

‘crsctl check crs’可以检查OHASD,CRSD,OCSSD和EVM守护进程。

# crsctl check crs

CRS-4638: Oracle High Availability Services is online CRS-4537: Cluster Ready Services is online

CRS-4529: Cluster Synchronization Services is online CRS-4533: Event Manager is online

 

‘crsctl check cluster –all’将检查集群里所有节点的所有守护进程

# crsctl check cluster –all

************************************************************** node1:

CRS-4537: Cluster Ready Services is online

CRS-4529: Cluster Synchronization Services is online CRS-4533: Event Manager is online

************************************************************** node2:

CRS-4537: Cluster Ready Services is online

CRS-4529: Cluster Synchronization Services is online CRS-4533: Event Manager is online

**************************************************************

 

在用crsctl start cluster命令启动集群时,监控输出,尝试启动所有资源应该是成功的,如果有资源启动失败,到相应的日志里查找错误信息。

# crsctl start cluster

CRS-2672: Attempting to start ‘ora.cssdmonitor’ on ‘node1’

CRS-2676: Start of ‘ora.cssdmonitor’ on ‘node1’ succeeded

CRS-2672: Attempting to start ‘ora.cssd’ on ‘node1’

CRS-2672: Attempting to start ‘ora.diskmon’ on ‘node1’

CRS-2676: Start of ‘ora.diskmon’ on ‘node1’ succeeded

CRS-2676: Start of ‘ora.cssd’ on ‘node1’ succeeded

CRS-2672: Attempting to start ‘ora.ctssd’ on ‘node1’

CRS-2676: Start of ‘ora.ctssd’ on ‘node1’ succeeded

CRS-2672: Attempting to start ‘ora.evmd’ on ‘node1’

CRS-2672: Attempting to start ‘ora.asm’ on ‘node1’

CRS-2676: Start of ‘ora.evmd’ on ‘node1’ succeeded

CRS-2676: Start of ‘ora.asm’ on ‘node1’ succeeded

CRS-2672: Attempting to start ‘ora.crsd’ on ‘node1’

CRS-2676: Start of ‘ora.crsd’ on ‘node1’ succeeded

 

6.2 crsctl command line tool

 

Oracle 集群管理工具有命令可以用来管理集群框架下的所有实体。包括集群的守护进程,钱夹管理在集群的所有节点上。

你可以用CRSCTL命令在集群上进行一些炒作,比如:

  • 启动和停止集群资源
  • 启动和停止集群守护进程
  • 检查集群的监控状态
  • 代表第三方应用管理资源
  • 整合集群的智能平台管理接口(IPMI),提供故障隔离支持和集群完整性。
  • 调试Oracle集群组件

几乎所有的操作都是这个集群范围的。

参见:Oracle Clusterware Administration and Deployment Guide, “CRSCTL Utility Reference” for more information about using crsctl.

 

可以在root用户下用crsctl set log命令启动动态调试CRS,CSS,EVM和集群的子构件。你可以动态修改调试级别用crsctl debug命令。调试信息保存在OCR中,在下次启动时使用。你可以始终开启资源调试。

调试性能和选项的完整列表在“Oracle Clusterware Administration and Deployment Guide”的“Troubleshooting and Diagnostic Output”章节里有列出。

 

6.3 Trace File Infrastructure and Location

 

Oracle集群用统一的日志目录结构来合并组件的日志文件。这种合并结构简化了诊断信息的收集和在分析问题时提供帮助。

Oracle集群在日志文件里使用循环的方法。如果你不能在文件里找到指定的告警细节信息,那么这个文件可能被循环成一个循环版本,典型的结尾是 *.lnumber,这个数字从01开始,产生更多的日志时这个数字会增长,总是能够不同的日志对应于不同的日志文件。一般不需要参考下面这些文件除非Oracle支持提出要求。你可以在文件里查看循环版本的日志文件。日志的保留策略,The log retention policy, however, foresees that older logs are be purged as required by the amount of logs generated

GRID_HOME/log/<host>/diskmon – Disk Monitor Daemon

GRID_HOME/log/<host>/client –  OCRDUMP,  OCRCHECK, OCRCONFIG, CRSCTL   – edit the

GRID_HOME/srvm/admin/ocrlog.ini file to increase the trace level

GRID_HOME/log/<host>/admin – not used

GRID_HOME/log/<host>/ctssd – Cluster Time Synchronization Service

GRID_HOME/log/<host>/gipcd – Grid Interprocess Communication Daemon

GRID_HOME/log/<host>/ohasd – Oracle High Availability Services Daemon

GRID_HOME/log/<host>/crsd – Cluster Ready Services Daemon

GRID_HOME/log/<host>/gpnpd – Grid Plug and Play Daemon

GRID_HOME/log/<host>/mdnsd – Mulitcast Domain Name Service Daemon

GRID_HOME/log/<host>/evmd – Event Manager Daemon GRID_HOME/log/<host>/racg/racgmain – RAC RACG

GRID_HOME/log/<host>/racg/racgeut – RAC RACG GRID_HOME/log/<host>/racg/racgevtf – RAC RACG

GRID_HOME/log/<host>/racg – RAC RACG (only used if pre-11.1 database is installed)

GRID_HOME/log/<host>/cssd – Cluster Synchronization Service Daemon GRID_HOME/log/<host>/srvm – Server Manager

GRID_HOME/log/<host>/agent/ohasd/oraagent_oracle11 – HA Service Daemon Agent

GRID_HOME/log/<host>/agent/ohasd/oracssdagent_root – HA Service Daemon CSS Agent

GRID_HOME/log/<host>/agent/ohasd/oracssdmonitor_root    –  HA  Service Daemon ocssdMonitor Agent

GRID_HOME/log/<host>/agent/ohasd/orarootagent_root – HA Service Daemon Oracle Root Agent

GRID_HOME/log/<host>/agent/crsd/oraagent_oracle11 – CRS Daemon Oracle Agent

GRID_HOME/log/<host>/agent/crsd/orarootagent_root – CRS Daemon Oracle Root Agent

GRID_HOME/log/<host>/agent/crsd/ora_oc4j_type_oracle11 – CRS Daemon OC4J Agent (11.2.0.2 feature and not used in 11.2.0.1)

GRID_HOME/log/<host>/gnsd – Grid Naming Services Daemon

 

6.4 Diagcollection

获取某个事件所有的相关的跟踪文件最好的路径是Grid_home/bin/diagcollection.pl。收集所有的trace和root用户在所有节点运行一个OCRDUMP命令“diagcollection.pl –collect –crshome <GRID_HOME>”。

 

# Grid_home/bin/diagcollection.pl

Production Copyright 2004, 2008, Oracle. All rights reserved Cluster Ready Services (CRS) diagnostic collection tool diagcollection

–collect

[–crs] For collecting crs diag information

[–adr] For collecting diag information for ADR [–ipd] For collecting IPD-OS data

[–all] Default.For collecting all diag information.

[–core] UNIX only. Package core files with CRS data

 

 

[–afterdate] UNIX only. Collects archives from the specified date. Specify in mm/dd/yyyy format

[–aftertime] Supported with -adr option. Collects archives after the specified time. Specify in YYYYMMDDHHMISS24 format

[–beforetime] Supported with -adr option. Collects archives before the specified date. Specify in YYYYMMDDHHMISS24 format

[–crshome] Argument that specifies the CRS Home location

[–incidenttime] Collects IPD data from the specified time.Specify in MM/DD/YYYY24HH:MM:SS format If not specified, IPD data generated in the past 2 hours are collected

[–incidentduration] Collects IPD data for the duration after the specified time.  Specify in HH:MM format.If not specified, all IPD data after incidenttime are collected

 

NOTE:

  1. You can also do the following

./diagcollection.pl –collect –crs –crshome <CRS Home>

 

–clean cleans up the diagnosability information gathered by this script

–coreanalyze UNIX only. Extracts information from core files and stores it in a text file

 

更多的关于收集IPD的信息看6.4章节

如果是安装的供应商的集群软件,就需要给Oracle支持提供更多的关于集群的文件。

 

6.5 Alert Messages Using Diagnostic Record Unique IDs

从11.2开始。有些集群的信息里有用”(:” and “:)”用包含起来的文本。通常情况下,和下面的例子类似,这个标识符在文件中以”Details in…”开始和包含日志文件路径。这个标识符叫做DRUID或者诊断记录的唯一ID:

 

2009-07-16 00:18:44.472

[/scratch/11.2/grid/bin/orarootagent.bin(13098)]CRS-5822:Agent

‘/scratch/11.2/grid/bin/orarootagent_root’ disconnected from server.

Details at (:CRSAGF00117:)  in

/scratch/11.2/grid/log/stnsp014/agent/crsd/orarootagent_root/orarootagent_root.log.

 

DRUID是用来关联外部产品信息和数据库集群的内部诊断日志文件。诊断问题时对用户没有直接帮助,主要是用来提供给Oracle支持人员。

 

6.6 OUI / SRVM / JAVA related GUI tracing

 

有一些基于Java的GUI工具在遇到问题时能够运行用来设置跟踪级别:

 

“setenv SRVM_TRACE true” (or “export SRVM_TRACE=true”)

“setenv SRVM_TRACE_LEVEL 2” (or “export SRVM_TRACE_LEVEL=2″)

在OUI安装出错时可用运行-debug选项(如安装时执行”./runInstaller -debug”

 

 

6.7 Reboot Advisory

集群在某种情况下,会重启一个节点来确保整个集群上的数据库和其他应用的健康运行。当决定重启问题节点时,普通的活动日志(比如集群的alert日志)就不可靠了:重启往往发生在操作系统刷写缓存日志到磁盘之前,这就意味着关于导致重启的原因可能丢失了。

在11.2集群里有个新特性叫Reboot Advisory,用来提高保留集群重启的说明内容。这时集群发生了重启,一个短的解释性消息会产生和试图在下面两种途径发布:

重启决策信息写到一个小文件里(通常在本地连接的存储),没有I/O缓存请求。这个文件在发生失败时(重启集群)被创建和提前格式化好的,因此I/O会有非常高的成功率,即使是在失败的系统。重启决策信息会被广播到可用的网络接口。

这些操作是并行的并有时间限制,因此不会对重启有延时。尝试多个磁盘和网络来获取这些信息,至少有一个会成功,往往是都成功的。成功的存储和发送Reboot Advisory信息,最后出现在集群的一个或多个节点上的alert日志里。

当网络广播Reboot Advisory信息成功后,在集群的其他节点的告警日志里就会出现相关的信息。这个事情是稍纵即逝的,因此立马就能看到和确定产生重启的原因。这些消息包含要进行重启节点的主机名用来区别集群里的其他节点。只是同一个集群里的失败节点会显示这些信息。

如果Reboot Advisory成功的吧信息写到一个磁盘文件里,在这个节点下次启动集群时,在告警日志的前面会产生相关的信息。

Reboot Advisory 有一个时间戳,3天内的启动都会扫描这些文件。这个扫描不能是空文件或被标记成已经公布了的文件,因此如果3天内在一个节点上多次重启,那么同一个Reboot Advisory会在告警日志里多次出现。

Reboot Advisories用相同的告警日志,一般有两个部分。一部分是CRS-8011,显示重启节点的主机名和时间戳(重启的大约时间点)。例如:

[ohasd(24687)]CRS-8011:reboot advisory message from host: sta00129, component: CSSMON, with timestamp: L-2009-05-05-10:03:25.340

在CRS-8011信息后面的是CRS-8013,表达了强制重启的信息,例如:

[ohasd(24687)]CRS-8013:reboot advisory message text: Rebooting after limit 28500 exceeded; disk timeout 27630, network timeout 28500, last heartbeat from ocssd at epoch seconds 1241543005.340, 4294967295 milliseconds ago based on invariant clock value of 93235653

 

 

请注意所有的在CRS-8013里“text”后面的集群组件的重启信息。这可能会产生重要的紧急信息,这些文本信息不是来自于Oracle的NLS信息文件,通常是用英语和USASCII7字符集。

在某些情况下,Reboot Advisories可能会在文本信息里添加二进制诊断数据。那么可能就会出现CRS-8014和一个或多个CRS-8015信息。这些二进制文件只要在重启问题报告给Oracle解决时有用。

不同的组件可以在同一时间往告警日志里写数据,因此关于Reboot Advisory的信息可能会出现在其他信息的中间。然而不同的Reboot Advisory参数的信息不会交叉在一起,一个Reboot Advisory产生的所有信息会在另一个Reboot Advisory产生的信息之前。

更多的信息,可以参照Oracle Errors manual discussion of messages CRS- 8011 and –8013。

 

7. Other Tools

7.1 ocrpatch

ocrpatch 开发于2005年,是为了给开发和支持人员提供一个修复错误和修改OCR的工具,当官方的工具如ocrcofig或crsctl无法处理这些变化时。ocrpatch不是集群版本的一部分。ocrpathd的功能描述在单独的文档里,因此在这里我们不会深入细节,ocrpatch文档的位置在stcontent的public RAC Performance Group Folder 里。

 

7.2 vdpatch

介绍

vdpatch是一个适用于11.2集群的新的Oracle内部工具。vdpatch和ocrpatch有很多相同的代码,比如look和feel就很像。这个工具的目的是便于诊断CSS关于投票文件连接的问题。vdpatch是基于每个块的操作,例如,它可以从投票文件通过块数目或者名字读取(不是写)512字节块。

 

一般用法

vdpatch只能root用户运行,其他用户会受到报错:

$ vdpatch

VD Patch Tool Version 11.2 (20090724) Oracle Clusterware Release 11.2.0.2.0

Copyright (c) 2008, 2009, Oracle. All rights reserved. [FATAL] not privileged

[OK] Exiting due to fatal error …

 

投票文件的名字和路径可以通过’crsctl query css votedisk’命令获取。这个命令只能是OCSSD是运行状态下执行。如果OCSSD没有启动,crsct将没有信号

# crsctl query css votedisk

Unable to communicate with the Cluster Synchronization Services daemon.

 

如果OCSSD是运行的,你能收到下面的输出:

$ crsctl query css votedisk

##  STATE    File Universal Id  File Name        Disk group

— —–   —————–    ———       ———

  1. ONLINE 0909c24b14da4f89bfbaf025cd228109 (/dev/raw/raw100) [VDDG]
  2. ONLINE 9c74b39a1cfd4f84bf27559638812106 (/dev/raw/raw104) [VDDG]
  3. ONLINE 1bb06db216434fadbfa3336b720da252 (/dev/raw/raw108) [VDDG]

Located 3 voting file(s).

 

上面的输出表明定义了三个投票文件在磁盘组+VDDG上面,每个位于特定的裸设备上,属于哪个ASM磁盘组。vdpatch可以每次只查看一个设备的内容:

# vdpatch

VD Patch Tool Version 11.2 (20090724)

Oracle Clusterware Release 11.2.0.2.0

Copyright (c) 2008, 2009, Oracle. All rights reserved.

vdpatch> op /dev/raw/raw100

[OK] Opened /dev/raw/raw100, type: ASM

 

如果投票文件在裸设备上,crsctl和vdpatch可以显示:

  1. ONLINE 9f862a63239b4f52bfdbce6d262dc349 (/dev/raw/raw134) [] Located 3 voting file(s).

 

# vdpatch

VD Patch Tool Version 11.2 (20090724) Oracle Clusterware Release 11.2.0.2.0

Copyright (c) 2008, 2009, Oracle. All rights reserved. vdpatch> op /dev/raw/raw126

[OK] Opened /dev/raw/raw126, type: Raw/FS

 

要打开其他投票文件,简单的再运行’op’:

vdpatch> op /dev/raw/raw126

[OK] Opened /dev/raw/raw126, type: Raw/FS

vdpatch> op /dev/raw/raw130

[INFO] closing voting file /dev/raw/raw126

[OK] Opened /dev/raw/raw130, type: Raw/FS

 

用’h’命令,可以列出所有的可用命令:

vdpatch> h

Usage: vdpatch

 

BLOCK operations

op <path to voting file>    open voting file

rb <block#> read block by block# rb status|kill|lease <index> read named block

index=[0..n] => Devenv nodes 1..(n-1) index=[1..n] => shiphome nodes 1..n

rb toc|info|op|ccin|pcin|limbo  read named block

du  dump native block from offset

di  display interpreted block

of <offset> set offset in block, range 0-511 MISC operations

i   show parameters, version, info

h   this help screen

exit / quit exit vdpatch

 

  • Common Use Case

投票文件块可以读块号和块类型名。TOC, INFO, OP, CCIN, PCIN 和 LIMBO类型只会出现在投票文件的块上,因此读一个块可以执行如’rb toc’; 将输出512比特块的十六进制/ASCII 的dump文件,解释块的内容:

 

vdpatch> rb toc [OK] Read block 4

[INFO] clssnmvtoc block

0 73734C63 6B636F54 01040000 00020000 00000000 ssLckcoT…………

20 00000000 40A00000 00020000 00000000 10000000 ….@……………

40 05000000 10000000 00020000 10020000 00020000 ………………..

420 00000000 00000000 00000000 00000000 00000000 ………………..

440 00000000 00000000 00000000 00000000 00000000 ………………..

460 00000000 00000000 00000000 00000000 00000000 ………………..

480 00000000 00000000 00000000 00000000 00000000 ………………..

500 00000000 00000000 00000000  …………

[OK] Displayed block 4 at offset 0, length 512 [INFO] clssnmvtoc block

magic1_clssnmvtoc: 0x634c7373 – 1665954675

magic2_clssnmvtoc: 0x546f636b – 1416586091

fmtvmaj_clssnmvtoc: 0x01 – 1

fmtvmin_clssnmvtoc: 0x04 – 4

resrvd_clssnmvtoc: 0x0000 – 0

maxnodes_clssnmvtoc: 0x00000200 – 512

incarn1_clssnmvtoc: 0x00000000 – 0

incarn2_clssnmvtoc: 0x00000000 – 0

filesz_clssnmvtoc: 0x0000a040 – 41024

blocksz_clssnmvtoc: 0x00000200 – 512

hdroff_clssnmvtoc: 0x00000000 – 0

hdrsz_clssnmvtoc: 0x00000010 – 16

opoff_clssnmvtoc: 0x00000005 – 5

statusoff_clssnmvtoc: 0x00000010 – 16

statussz_clssnmvtoc: 0x00000200 – 512

killoff_clssnmvtoc: 0x00000210 – 528

killsz_clssnmvtoc: 0x00000200 – 512

leaseoff_clssnmvtoc: 0x0410 – 1040

leasesz_clssnmvtoc: 0x0200 – 512

ccinoff_clssnmvtoc: 0x0006 – 6

pcinoff_clssnmvtoc: 0x0008 – 8

limbooff_clssnmvtoc: 0x000a – 10

volinfooff_clssnmvtoc: 0x0003 – 3

 

块类型STATUS, KILL 和LEASE,存在一个块在每个集群节点上,因此用’rb‘命令必须包括一个十六进制的数来表示节点号。在开发环境,十六进制从0开始,在生产环境,十六进制从1开始。因此要读开发环境下第五个节点的KILL块,执行’rb kill 4’,在生成环境就要执行’rb kill 5’。

在开发环境下读第三个节点的STATUS块:

vdpatch> rb status 2 [OK] Read block 18

[INFO] clssnmdsknodei vote block

0 65746F56 02000000 01040B02 00000000 73746169 etoV…………stai

20 75303300 00000000 00000000 00000000 00000000 u03……………..

40 00000000 00000000 00000000 00000000 00000000 ………………..

60 00000000 00000000 00000000 00000000 00000000 ………………..

80 00000000 3EC40609 8A340200 03000000 03030303 ….>   4……….

100 00000000 00000000 00000000 00000000 00000000 ………………..

120 00000000 00000000 00000000 00000000 00000000 ………………..

140 00000000 00000000 00000000 00000000 00000000 ………………..

160 00000000 00000000 00000000 00000000 00000000 ………………..

180 00000000 00000000 00000000 00000000 00000000 ………………..

200 00000000 00000000 00000000 00000000 00000000    ………………..

220 00000000 00000000 00000000 00000000 00000000    ………………..

240 00000000 00000000 00000000 00000000 00000000    ………………..

260 00000000 00000000 00000000 00000000 00000000    ………………..

280 00000000 00000000 00000000 00000000 00000000    ………………..

300 00000000 00000000 00000000 00000000 00000000    ………………..

320 00000000 00000000 00000000 00000000 00000000    ………………..

340 00000000 00000000 00000000 8E53DF4A ACE84A91    ………….S.J..J.

360 E4350200 00000000 03000000 441DDD4A 6051DF4A    .5……….D..J`Q.J

380 00000000 00000000 00000000 00000000 00000000    ………………..

400 00000000 00000000 00000000 00000000 00000000    ………………..

420 00000000 00000000 00000000 00000000 00000000    ………………..

440 00000000 00000000 00000000 00000000 00000000    ………………..

460 00000000 00000000 00000000 00000000 00000000    ………………..

480 00000000 00000000 00000000 00000000 00000000    ………………..

500 00000000 00000000 00000000          …………

[OK] Displayed block 18 at offset 0, length 512

[INFO] clssnmdsknodei vote block

magic_clssnmdsknodei: 0x566f7465 – 1450144869

nodeNum_clssnmdsknodei: 0x00000002 – 2

fmtvmaj_clssnmdsknodei: 0x01 – 1

fmtvmin_clssnmdsknodei: 0x04 – 4

prodvmaj_clssnmdsknodei: 0x0b – 11

prodvmin_clssnmdsknodei: 0x02 – 2

killtime_clssnmdsknodei: 0x00000000 – 0

nodeName_clssnmdsknodei: staiu03

inSync_clssnmdsknodei: 0x00000000 – 0

reconfigGen_clssnmdsknodei: 0x0906c43e – 151438398

dskWrtCnt_clssnmdsknodei: 0x0002348a – 144522

nodeStatus_clssnmdsknodei: 0x00000003 – 3

nodeState_clssnmdsknodei[CLSSGC_MAX_NODES]:

node 0: 0x03 – 3 – MEMBER

node 1: 0x03 – 3 – MEMBER

node 2: 0x03 – 3 – MEMBER

node 3: 0x03 – 3 – MEMBER

timing_clssnmdsknodei.sts_clssnmTimingStmp: 0x4adf538e – 1256149902 – Wed Oct 21 11:31:42 2009

timing_clssnmdsknodei.stms_clssnmTimingStmp: 0x914ae8ac – 2437605548

timing_clssnmdsknodei.stc_clssnmTimingStmp: 0x000235e4 – 144868

timing_clssnmdsknodei.stsi_clssnmTimingStmp: 0x00000000 – 0

timing_clssnmdsknodei.flags_clssnmdsknodei: 0x00000003 – 3

unique_clssnmdsknodei.eptime_clssnmunique: 0x4add1d44 – 1256004932 – Mon Oct 19 19:15:32 2009

ccinid_clssnmdsknodei.cin_clssnmcinid: 0x4adf5160 – 1256149344 – Wed Oct 21 11:22:24 2009

ccinid_clssnmdsknodei.unique_clssnmcinid: 0x00000000 – 0

pcinid_clssnmdsknodei.cin_clssnmcinid: 0x00000000 – 0 – Wed Dec 31 16:00:00 1969

pcinid_clssnmdsknodei.unique_clssnmcinid: 0x00000000 – 0

我们不允许vdpatch计划改变投票文件。删除和重建投票文件建议用crsctl命令。

 

7.3 Appvipcfg – adding an application VIP

 

在11.2你可以通过Grid_home/bin/appvipcfg创建和删除应用或uservip

Production Copyright 2007, 2008, Oracle.All rights reserved  Usage:

appvipcfg create -network=<network_number>

-ip=<ip_address>

-vipname=<vipname>

-user=<user_name>[-group=<group_name>]

delete -vipname=<vipname>

appvipcfg命令行工具在默认的网络上(默认创建的资源ora.net.network)只能创建一个应用VIP。如果要创建应用 VIP在不同的网络或子网上,必须进行手工配置。

例如创建一个uservip在一个不同的网络上(ora.net2.network)。

srvctl add vip -n node1 -k 2 -A appsvip1/255.255.252.0/eth2

crsctl add type coldfailover.vip.type -basetype ora.cluster_vip_net2.type

crsctl add resource coldfailover.vip -type coldfailover.vip.type -attr \

 

“DESCRIPTION=USRVIP_resource,RESTART_ATTEMPTS=0,START_TIMEOUT=0, STOP_TIMEOUT=0, \

CHECK_INTERVAL=10, USR_ORA_VIP=10.137.11.163, \

START_DEPENDENCIES=hard(ora.net2.network)pullup(ora.net2.network), \

STOP_DEPENDENCIES=hard(ora.net2.network), \

ACL=’owner:root:rwx,pgrp:root:r-x,other::r–,user:oracle11:r-x'”

 

这个区域,有一些已知的bug:

–  8623900 srvctl remove vip -i <ora.vipname> is removing the associated ora.netx.network

–  8620119 appvipcfg should be expanded to create a network resource

–  8632344 srvctl modify nodeapps -a will modify the vip even if the interface is not valid

–  8703112 appsvip should have the same behavior as ora.vip like vip failback

–  8758455 uservip start failed and orarootagent core dump in clsn_agent::agentassert

–  8761666 appsvipcfg should respect /etc/hosts entry for apps ip even if gns is configured

–  8820801 using a second network (k 2) I’m able to add and start the same ip twice

 

 

7.4 Application and Script Agent

应用程序或脚本代理通过特定的用户代码管理应用资源。Oracle集群件包含一个特殊的共享库,允许用户插入应用用定义好的接口进行制定的操作。

下面的章节介绍如何用Oracle的集群件代理框架接口创建一个代理。

 

  • Action Entry Points

在一个资源上进行操作时,行动入口点用来指向用户定点的代码。每个资源类型,集群件要求行动入口点定义了下面的行动:

 

start : 启动资源的行动Actions to be taken to start the resource

stop  : 关闭资源的温和的行动Actions to gracefully stop the resource

check : 检查资源状态的行动Actions taken to check the status of the resource

clean : 强制关闭资源的行动Actions to forcefully stop the resource.

 

这些行动入口点可以用C++ 代码来定义或在脚本里。如果这些行动没有明确的定义,集群件假定他们默认的定义在脚本里。这些脚本位置通过ACTION_SCRIPT属性。因此它可能是混合的代理,一些行动的图库点用脚本,其他的一些用C++。

 

  • Sample Agents

考虑到集群件要管理资源的文件,一个代理管理这些资源有下面的任务:

 

On startup  : 创建文件Create the file.

On shutdown : 温和的删除文件Gracefully delete the file.

On check command:检查是否存在改文件 Detect whether the file is present or not.

On clean command: 强制删除文件Forcefully delete the file.

为了描述Oracle集的这个特殊的资源,第一次创建一个专门的资源类型,它包含了所有该资源类的特征属性。在这种情况下,所描述的唯一的特殊属性是要监控的文件名。这可以用CRSCTL命令来完成。在定义的资源类型,我们也可以指定ACTION_SCRIPT和代理FILENAME属性。这些被用来指shell脚本和包含用于代理的动作的入口点的可执行文件。

一旦资源类型定义,完成所需的任务一个专门的代理有几种选择写-代理可以写成一个脚本,作为C / C ++程序或混合。

 

  • Shell script agent

Grid_home/crs/demo/demo脚本文件是一个已经包含所有行动入口点和资源文件代理的shell 脚本。通过实现下面几步来测试这个脚本:

(1)启动集群件安装

(2)用crsctl工具添加一个新的资源类型

$ crsctl add type test_type1 -basetype cluster_resource -attr \

“ATTRIBUTE=PATH_NAME,TYPE=string,DEFAULT_VALUE=default.txt” -attr \

“ATTRIBUTE=ACTION_SCRIPT,TYPE=string,DEFAULT_VALUE=/path/to/demoActionScript”

适当的修改文件路劲,给集群件添加一个新的资源类型。在文本文件里会添加属性并当做一个参数传递给CRSCTL工具

(3)用CRSCTL工具添加新的资源到集群里。命令如下:

$ crsctl add resource r1 -type test_type1 -attr “PATH_NAME=/tmp/r1.txt”

$ crsctl add resource r2 -type test_type1 -attr “PATH_NAME=/tmp/r2.txt”

指定资源路径是必须的。

(4)用CRSCTL工具启动/停止资源

$ crsctl start res r1

$ crsctl start res r2

$ crsctl check res r1

$ crsctl stop res r2

 

  • Option 2: C++ agent

Grid_home/crs/demo目录下,Oracle提供了一个demoagent1.cpp。这是一个简单的C++程序,功能和上面的shell脚本类似。这个程序还监控本地机器上指定的文件。测试这个程序,执行下面的步骤:

(1)编译demoagent1.cpp和生成文件。

makefile文件需要根据当地的编译器/连接路径和安装位置进行修改。输出将是一个可执行命名demoagent1。

(2)启动集群件

(3)用crsctl工具添加一个新的资源类型

$ crsctl add type test_type1 -basetype cluster_resource -attr \

“ATTRIBUTE=PATH_NAME,TYPE=string,DEFAULT_VALUE=default.txt” -attr \

“ATTRIBUTE=ACTION_SCRIPT,TYPE=string,DEFAULT_VALUE=/path/to/demoActionScript”

适当的修改文件路劲,给集群件添加一个新的资源类型。在文本文件里会添加属性并当做一个参数传递给CRSCTL工具

(4)用CRSCTL工具添加新的资源到集群里。命令如下:

$ crsctl add resource r3 -type test_type1 -attr “PATH_NAME=/tmp/r1.txt”

$ crsctl add resource r4 -type test_type1 -attr “PATH_NAME=/tmp/r2.txt”

指定资源路径是必须的。

(5)用CRSCTL工具启动/停止资源

$ crsctl start res r3

$ crsctl start res r4

$ crsctl check res r3

$ crsctl stop res r4

 

  • Option 3: Hybrid agent

Grid_home/crs/demo目录下,Oracle提供了一个demoagent2.cpp。这是一个简单的C++程序,功能和上面的shell脚本类似。这个程序还监控本地机器上指定的文件。不过,这一方案只定义了检查行动的切入点 – 所有其他操作入口点没有定义,并从ACTION_SCRIPT属性被读取。测试这个程序,执行下面的步骤:

(1)编译demoagent2.cpp和生成文件。

makefile文件需要根据当地的编译器/连接路径和安装位置进行修改。输出将是一个可执行命名demoagent2。

(2)启动集群件

(3)用crsctl工具添加一个新的资源类型

$ crsctl add type test_type1 -basetype cluster_resource -attr \

“ATTRIBUTE=PATH_NAME,TYPE=string,DEFAULT_VALUE=default.txt” -attr \

“ATTRIBUTE=ACTION_SCRIPT,TYPE=string,DEFAULT_VALUE=/path/to/demoActionScript”

适当的修改文件路劲,给集群件添加一个新的资源类型。在文本文件里会添加属性并当做一个参数传递给CRSCTL工具

(4)用CRSCTL工具添加新的资源到集群里。命令如下:

$ crsctl add resource r5 -type test_type1 -attr “PATH_NAME=/tmp/r1.txt”

$ crsctl add resource r6 -type test_type1 -attr “PATH_NAME=/tmp/r2.txt”

指定资源路径是必须的。

(5)用CRSCTL工具启动/停止资源

$ crsctl start res r5

$ crsctl start res r6

$ crsctl check res r5

$ crsctl stop res r6

 

7.5 Oracle Cluster Health Monitor – OS Tool (IPD/OS)

 

Overview

此工具(以前称为瞬时问题检测工具)是用来检测和分析操作系统(OS)和集群资源相关的退化和失败,以带来更多的解释许多Oracle Clusterware和Oracle RAC的问题,如节点驱逐。

它连续不断地跟踪节点,进程和设备级操作系统资源的消耗。它收集并分析了集群范围内的数据。在实时模式下,达到临界值时,警报显示给操作者。分析根本原因,历史数据可以重现以了解在出现故障时发生了什么。这个工具安装非常简单,在zip文件里的README里有描述。最新的版本上传到OTN。下面的连接

http://www.oracle.com/technology/products/database/clustering/ipd_download_homepag e.html

  • Install the Oracle Cluster Health Monitor

为了一个节点列表上安装该工具中,运行以下基本步骤(更详细的信息,请阅读REAMDE):
– 解压包
– 创建用户crfuser:oinstall在所有节点上
– 确保crfuser的家目录在所有节点上是相同的
– 设置crfuser密码在所有节点上
– 身份登录crfuser和运行crfinst.pl用适当的选项
– 要完成安装,以root身份登录,并安装的所有节点上运行crfinst.pl-f
– 在Linux上 CRF_home设置为/ usr / lib目录/ oracrf

 

  • Running the OS Tool stack

这个OS工具必须通过/etc/init.d/init.crfd启动。此命令启动相应osysmond程序,衍生为ologgerd守护进程。该ologgerd然后挑选一个副本节点(如>=2个节点),并通知该节点启动相应osysmond程序,衍生为ologgerd守护进程。
这个OS工具堆栈可以在一个节点上关闭如下:

# /etc/init.d/init.crfd disable

 

  • Overview of Monitoring Process (osysmond)

osysmond(每个节点上的一个收获进程)执行下面的操作来收集数据:

– 监控和定期采集系统指标
– 运行作为实时过程
– 违背了系统指标验证规则
– 基于阈值标记颜色编码的警报
– 将数据发送到主记录器守护进程
– 记录数据到本地磁盘失败的情况下发送

该osysmond将提醒对感知节点挂起(尽管有许多潜在的用户任务未充分利用的资源)

  • CPU usage < 5%
  • CPU Iowait > 50%
  • MemFree < 25%
  • # Disk IOs persec < 10% of max possible Disk IOs persec
  • # bytes of outbound n/w traffic limited to data sent by SYSMOND
  • # tasks node-wide > 1024

 

  • CRFGUI

Oracle集群健康监控器附带有两个数据检索工具,一个是CRF GUI,这是主要的GUI显示。
crfgui连接到本地或远程主LOGGERD。它是自动检测LOGGERD集群内安装了图形用户界面,否则,群集节点必须在“-m”开关指定集群外运行。
该GUI提醒关键的资源使用率事件和感知系统挂起。启动它后,我们支持不同的GUI视图如集群视图,节点视图和设备视图。

Usage:  crfgui  [-m <node>] [-d <time>] [-r <sec>]  [-h <sec>]

[-W <sec>] [-i] [-f <name>] [-D <int>]

-m <node>   Name of the master node (tmp)

-d <time>   Delayed at a past time point

-r <sec>    Refresh rate

-h <sec>    Highlight rate

-W <sec>    Maximal poll time for connection

-I  interactive with cmd prompt

-f <name>   read from file, “.trc” added if no suffix given

-D <int>    sets an internal debug level

 

oclumon

一个命令行工具包括在可用于查询Berkeley DB后端打印出到终端节点的特定指标为指定的时间周期的包。该工具还支持在查询过程中一个特定的时间内打印一个节点上的资源持续时间和状态。这些状态是基于为每个资源度量的预定义的阈值和被表示为红,橙,黄,绿,指示减小临界的顺序。例如,你可以要求显示节点“节点1”在CPU的最后1小时内保持红色状态多少秒。 Oclumon也可用于执行复杂的管理任务,如改变调试级别,查询工具的版本,改变度量数据库大小等。
该oclumon的使用帮助可以通过oclumon -h打印。要获得有关每个动词选项运行oclumon <动词> -h了解更多信息。
目前支持的动词:
showtrail, showobjects, dumpnodeview, manage, version, debug, quit 和help。

下面是可以传递给oclumon一些有用的属性的例子。对于oclumon的默认位置是/usr/lib/oracrf/bin/oclumon。

Showobjects

oclumon showobjects –n node –time “2009-10-07 15:11:00”

 

Dumpnodeview

oclumon dumpnodeview –n node

 

Showgaps

oclumon showgaps -n node1 -s “2009-10-07 02:40:00” \

-e “2009-10-07 03:59:00”

 

Number of gaps found = 0

 

Showtrail

oclumon showtrail -n node1 -diskid sde qlen totalwaittime \

-s “2009-07-09 03:40:00” -e “2009-07-09 03:50:00” \

-c “red” “yellow” “green”

Parameter=QUEUE LENGTH

2009-07-09 03:40:00 TO  2009-07-09 03:41:31 GREEN

2009-07-09 03:41:31 TO  2009-07-09 03:45:21 GREEN

2009-07-09 03:45:21 TO  2009-07-09 03:49:18 GREEN

2009-07-09 03:49:18 TO  2009-07-09 03:50:00 GREEN

Parameter=TOTAL WAIT TIME

 

oclumon showtrail -n node1 -sys cpuqlen -s \

“2009-07-09 03:40:00” -e “2009-07-09 03:50:00” \

-c “red” “yellow” “green” Parameter=CPU QUEUELENGTH

 

Parameter=CPU QUEUELENGTH

 

2009-07-09 03:40:00 TO  2009-07-09 03:41:31 GREEN

2009-07-09 03:41:31 TO  2009-07-09 03:45:21 GREEN

2009-07-09 03:45:21 TO  2009-07-09 03:49:18 GREEN

2009-07-09 03:49:18 TO  2009-07-09 03:50:00 GREEN

 

  • What to collect for cluster related issues

Oracle集群11g第2版的Grid_home/bin/diagcollection.pl正在收集Oracle集群健康监测数据,以及如果发现它安装在群集,它是由Oracle建议的。

节点夯住或被提出后收集数据,执行下面的步骤来分析问题:

–  在IPD的所有者下执行’Grid_home/bin/diagcollection.pl –collect –ipd –incidenttime <inc time> — incidentduration <duration>’ 命令 ,LOGGERD node, where – incidenttime格式为 MM/DD/YYYY24HH:MM:SS, –incidentduration 格式为HH:MM

–  用/usr/lib/oracrf/bin/oclumon manage -getkey “MASTER=”命令辨认出OGGERD 节点. 在Grid_home/bin目录下启动11.2.0.2的oclumonStarting 。

–  最少收集时间前后30分钟的数据。masterloggerhost:$./bin/diagcollection.pl –collect –ipd –incidenttime 10/05/200909:10:11 –incidentduration 02:00 Starting with 11.2.0.2 and the CRS integrated IPD/OS the syntax to get the IPD data collected is “masterloggerhost:$./bin/diagcollection.pl –collect –crshome /scratch/grid_home_11.2/ –ipdhome /scratch/grid_home_11.2/ –ipd — incidenttime 01/14/201001:00:00 –incidentduration 04:00”

–  IPD数据文件看起来像: ipdData_<hostname>_<curr time>.tar.gz ipdData_node1_20091006_2321.tar.gz

–  需要多长时间来运行diagcollect?

4 node cluster, 4 hour data – 10 min

32 node cluster, 1 hour data – 20 min

 

  • Debugging

为了开启osysmond或loggerd 的调试,root用户执行‘oclumon debug log all allcomp:5’。这将打开调试的所有组件。

开启的11.2.0.2 的 IPD/CH日志文件会在: Grid_home/log/<hostname>/crfmond Grid_home/log/<hostname>/crfproxy Grid_home/log/<hostname>/crflogd

 

  • For ADE users

 

在开发环境上安装和启动IPD/OS更简单:

$ cd crfutl && make setup && runcrf

 

osysmond通常会立即启动,而这可能需要几秒钟(几分钟,如果你的I / O子系统比较慢)为ologgerd和oproxyd启动,由于Berkeley数据库(BDB)的初始化。第一个节点称之为“runcrf’将被配置为主。主后第一个节点运行’runcrf“将被配置为复制品。从那里,如果需要的话事情会移动。守护进程看出来的是:osysmond(所有节点),ologgerd(主服务器和副本节点),oproxyd(所有节点上)。
在开发环境中,IPD/ OS进程不以root或实时运行。

Oracle 数据整合架构探讨

服务器整合以及数据整合

广义来说,数据整合就是服务器整合的架构之一。在服务器整合之中,有很多种架构。一般而言,应该以理论整合、地址整合、物理整合为焦点来讨论,所以这次不会说到应用整合。并且,数据整合是服务器整合的架构之一,但本文并不打算将数据整合特殊化,所以我们故意将数据整合以及服务器整合来分开说明。没有特别含义的情况下,“服务器整合”意味着服务器理论整合、服务器为止整合、服务器位置整合、然后数据整合也以为和需要将数据库进行再次架构、变更的数据的整合。

在此,为了明确服务器整合以及数据整合所需要的理由、环境的变化以及问题点,我们将说明导入了分散配置的系统的背景。

导入分散配置服务器的系统的背景是上世纪90年代,提倡技术的开源化的时代。伴随着开源技术的渗透,以PC服务器的使用为中心的终端Computing得到了增加。这样的架构是一个,对于终端用户所需要的信息,用必要的形式,在需要时,可以使用的方法。

并且,上世纪90年代的网络与其他因素相比较(服务器、软件、管理者的人工费等),价格稍高,所以系统都被尽量设计成不经过网络而得到数据的形式。另外,因为服务器自身的处理能力也是有限度的,一般而言系统架构都是在Downsizing之名之下,之下分散处理。

 

接下来,我想说明Downsizing、分散,在开源的世界中,环境发生了怎样的变换。

上世纪90年代使人们都选择分散配置系统的IT环境,如今也发生了翻天覆地的变换。首先是飞跃性的技术进步,服务器性能得到了飞跃性地提高,网络带宽也得到了扩展以及成本也得到了降低。服务器的能力单纯就CPU clock数来说,提高了几十倍到几百倍,而网络带宽的性能则提高了几百倍到几千倍。因此,至今不得不分散就无法处理的业务,都可以聚集到极少数几个服务器中来执行处理。

另外,在如今IT泡沫破灭的当今的各大企业中,正在积极推行提高资源利用效率、减少成本。比如,如利用Outsourcing来扩张自己的核心竞争力一样,经常可以看到有尽量减少核心业务以外所花费的时间来提高竞争力的情况。伴随着这样的变化,服务器以及系统的管理业务等,由这方面的专家,信息系统部,外包商来集中执行。用户为了更高效执行业务,利用系统,渐渐将其移动到不执行这些运用以及管理的架构中。

 

由这些背景,与环境的变换,我们就明确问题是什么,要解决什么。我们可以想到有以下四种有问题的要素。

 

a.TCO

b.系统可信性

c.安全水平

d.数据质量

 

a. TCO

相对于硬件的性能提高以及成本性能的提高,系统维护、管理业务中所必需的人工费却并没有下降。即使是在现在这个不景气的环境下,人工费的价格刚性还是较高,特别在日本人工费的高昂都被当做一个社会问题来研究了。换言之,要就这样一直维持进行了分散配置的架构的情况下,即使硬件、软件、网络的成本都下降了,在使用以及管理时所花费的成本也并不会下降。当之前分散配置是主流时,减少网络成本是个重要的课题,而现在最重要的是减少人工费。换言之,减少人工费对减少成本产生的效果更好。那么要减少人工费的话,就需要减少将会成为使用、管理对象的服务器数、种类以及对象软件的种类。

另外,在将服务器于每个用户部门中进行分散配置的系统中,执行使用以及管理的就不是信息系统部门,而是用户部门了。备份工作等使用工作以及面向故障的一次性对应,现在都变成由用户部门的用户来执行了。由此,使用管理处理就会从信息系统部门移动到用户部门,后果就是用户本来应该花费在执行的最优先业务上的时间,变成花在了使用、管理上了,造成资源利用效率降低。虽然通过将服务器从用户部门移动到信息系统部门,或者系统运用管理员配置到各个用户部门中,有望解决这个问题,但实际上要在各个用户部门中分配管理员的费用都是非常高的。

 

b.系统可信性

在进行分散配置开始时,我想通过分散配置多个服务器,从而提高系统整体的可信度,但实际上,在每个服务器的可用性都较低的情况下,我发现系统整体的可信性并不会继续提高。特别是实时指向较高,在流程都被明确地定义,每个业务进程的关联都得到加强的先到业务系统中,可能因为一个系统停止,导致全部的流程也停止。另外,被分散配置的服务器使用比较便宜的PC服务器的情况较多,无法取得足够的冗长结构从而无法提高可信性。要解决这个问题,就应该使用具有充分可信性的服务器,但要将现有的所有服务器全部切换成高可信性服务器的话,可能需要花费大量成本。并且考虑到使用管理多台服务器的成本的话,集中配置Fault-tolerant machine, cluster system以及大规模SMP machine来使用反而可以减少总体成本,并且可以提高整体可信性。特别是对于cluster system需要大量费用的情况,效果很好。并且,通过与便宜的存储组合,构成服务器的情况下,就无法对发生故障的磁盘进行热插拔,会出现无法取得由于冗长镜像所进行的高速备份的限制。通过使用SAN、NAS Storage,可以提高所有服务器的可信性。

在用各用户部门执行用户管理的情况下,特别是备份、恢复相关的应用水平可能发生错误。服务水平、复原顺序、系统复原优先顺序、备份保持期间,根据各个部门不同会有差异,根据发生故障的系统不同,可能会使得系统整体的MTTR产生变动,从故障发生时的故障转移地址的能力预测是很难的等系统使用的观点来看的话,不确定因素太多,风险也太大。解决方法有,对系统整体进行备份,恢复方案等,由信息系统部指定多的,将各部门管理这作为对象来训练的方案,但对于必须优先业务的用户部门的资源来说,这对成本的负担太过沉重,所以在没有如方案所述取得备份的情况下,就无法使用通常的恢复顺序,导致故障长期化。引起,要减少服务器的聚集数,从remote进行备份、恢复也是可行的。

 

c. 安全水平

在用户部门中执行服务器管理时,有在安全性较低的环境中使用/管理的情况。将业务处理中成为关键的服务器放在安全水平较低的环境中不管的话,这不仅可能危害到整个部门,甚至可能危害到全公司。如果是储存对于那个部分相当关键的数据的情况下,如果产生故障,就应该立即停止业务。并且,部门服务器连接公共网络的情况较多,因为网络的分割,对于网上数据的保护就不够充分,可能造成数据流出。如果在设置地点不安排专用的空间的话,就可能导致不相干的人也可以访问数据,并且无法对抗火灾、地震。要防止数据泄露,在发生故障时也能继续业务,就需要维持充分的安全性。聚集服务器,补充设置地点的设备,导入安全管理软件,重新架构网络。

d.数据质量

在分散配置系统中,用户部门会用架构业务上必要的处理的单位来架构。因此,对于全公司的必须得到统一管理的数据,各自系统就可以保持独自的形态来构筑系统。因此,分散系统的系统架构中,就会发生被称为Information Island的数据服务器。系统之间无法协作,或者说因为不够充分,会经常有数据重复等数据非一致的状态。比如,订购业务系统中的顾客数据与支持业务系统中顾客数据的重复与不一致。换言之,我们可以说这就是数据质量低下。另外,数据重复并被保持是指,出现了白白增加储存数据的存储设备、内存等浪费性的IT投资。在系统之间,对顾客的数据进行维护,但维护的时间不太准确的情况下,就会破坏数据的一致性。最近的趋势都是追求实时性,请大家尽可能回避这样的情况,可能的话,请在所有系统中都保持数据的一贯性。

以上整理如下表1.1所示。

  CTO 信赖性 安全性 数据品质
问题 管理者增加

服务器很多

配置地址多样

SW种类

HW种类

->管理成本增加

不准备备份

不充分的冗长性

对整个系统的冲击

第三者的访问

不准备监视历史

耐故障性较低的机器

耐故障性较低的存放地点

欠缺一致性的数据

数据重复

未整合的数据

 

数据整合、服务器整合的现状

如上所述,服务器与数据由于分散配置会导致各种问题发生。要改善这个问题,就需要重新考虑服务器分散配置这种想法,所以就有了集中配置服务器,或者将其整合,减少台数的方法。

现在,在日本,包含已经完成的企业,这三年中,有约45%的企业都决定执行整合。另外,还有39%的企业表示对此很有兴趣(图1.1)。我们可以看出服务器整合、数据整合是非常重要的。在此,我将说明一些服务器整合、数据整合的架构、特征,然后考虑这到底适合怎样的整合模式。

 

广义的服务器整合中,有理论整合、地址整合、物理整合、数据整合等架构。在此,我将分别说明这些定义、概要以及特征。

在各用户部门中,将服务器进行分散配置来进行处理是一直以来的架构(图1.2)。但这会导致增加管理成本,可信度较低,数据重复,安全水平较低等问题。

将多个服务器看成一个理论上的一台大服务器的架构(图1.3)

从已经分散的服务器内部的结构,即是OS以及DBMS开始,执行Middleware等的标准化,就可以制作统一的运用管理的基盘,并且使用系统使用管理工具的远程监视等功能可以在中央聚集来制作可行的结构。这样的话,服务器在地理性,位置性上还是分散的,但可以达到假想式的统合系统,就不需要每个服务器都需要配备有专门技术的管理者了。

有各种各样功能的产品,需要企业选择符合自己情况的选择,另外,各种各样的产品都有与Oracle的协作功能,服务器数以及分散度较少的情况下,这是最简单的情的可以实现的整合方法。

这是将已经分散的服务器移动到一个地方或者多个地方的IT部门中,总括起来集中管理的架构。由此,用户部门可以从管理服务器等多余的工作中得到解放。

 

执行位置整合时,需要特别留意经过WAN上的network traffic。比如,将处理大容量数据(CAD数据、图像数据等)的服务器从各个分公司移动到总公司等进行位置整合的情况下,由于大容量数据的传送,WAN的traffic就会增大,系统的响应就会恶化。

另外不停止业务就执行服务器的移动的情况下,需要准备移动时的代替服务器,由此可能导致成本短期内增加。

将架构不同的多个服务器进行整合的情况下,仅仅将服务器聚集在1个地方,整合的效果非常有限所以在执行位置整合前需要讨论服务器构成的标准化以及共同化等理论整合。

物理整合

这是将多个小型服务器整合到大型服务器或者Rack mount型服务器中的架构(图1.5)。最近,支持理论区划分割功能的服务器很多,可以在一台服务器中构造多台虚拟的服务器。通过减少服务器的台数,不仅可以减少硬件成本,也可以减少运用管理成本。但因为系统的独立性较低,在一个地方发生的故障可能影响到多个业务。另外,与位置整合相同,需要考虑WAN上的traffic管理。

基本来说,物理整合是指,将执行理论结合的系统,与同一的架构上的可扩展性的高度大规模服务器进行整合的架构。但是,如电子邮件服务器以及ERP package用服务器等,不需要应用移植的情况下,不同的架构的服务器的整合也是可行的。

通过以上已经说明的一些服务器整合架构的内容,就已经可以解决TCO、安全水平、系统可信性相关的一部分问题了。但是,数据库使用,管理相关成本、数据量访问的可用性、数据质量等一些数据分散配置相关的问题还没能得到解决。要解决这些问题,就需要数据整合。接下来,我将简单介绍数据整合的架构。

 

数据整合架构是指将多个服务器的数据整理到1个服务器之中,用一个存储来管理,或者将多个服务器上的数据库进行理论性约束,实现将数据可以进行一元性管理的架构。数据整合概括分类的话有以下三种。

 

以下三种架构只是在此简单接触,详细内容从第二章开始。

只是仅仅整合数据的储存为止的架构。这种情况下,在数据分散时就会出现问题,可以说这是下一的数据整合。

这是理论性地整合数据的架构。分离需要保留的重复数据保持一致性的数据。利用其他的现有系统。实际运行提供透过性的Layer。在服务器进行理论整合是非有效的。

这是将所有的数据整合到一个数据库中的架构。通过数据库的理论设计以及物理设计,可以删除重复数据、保持数据的一贯性,从而提高数据质量。这是服务器物理整合的前提。

以上,我们讲解了服务器整合以及数据整合的架构。总结如下图所示。

    优点 缺点 前提条件
服务器整合 理论整合 便于 导入

有各种各样的整合产品

整合产品成本高

服务器多的话效果不好

无法提高可信度

无法提高数据质量

没有
位置整合 提高服务器管理效率

不需要重新设计系统

提高安全水平

需要管理每个服务器

可信性提高不明显

服务器多的话效果不好

可能导致网络负荷上升

无法提高数据质量

尽可能用理论整合来完成
物理整合 提高可信性

服务器管理效率很高

安全性得到提升

需要重新设计HW、Net

可能导致网络负荷上升

无法提高数据质量

完成了理论整合
数据整合 理论整合 容易导入

DB重新设计的工作量很少

服务器数不会减少

无法提高可信性

无法提高数据质量

 
位置整合 不需要重新设计DB

减少服务器数量

不提高数据质量

需要进行DB管理

 
物理整合 提高数据质量

DB管理效率提高

减少服务器数量

需要重新设计DB

需要安装透明层

需要服务器物理整合

 

在第一章中,我们明确了服务器整合与数据整合的关联与各自的问题。在这章中,首先我们将介绍各个架构的实装方法以及详细的特征,然后介绍该用怎样的顺序来执行数据整合。

在此,我们来看看数据整合的详细架构。数据结合中,可以将多个服务器的数据整理到一个物理服务器中,用一个存储来管理,或者将多个服务器上的数据库用理论来约束对数据进行一元化管理的架构。数据整合可分为3个架构。

这是将被聚集的数据库服务器中现有的所有的数据库进行储存的架构。比如,将选项系统、会计系统、邮件系统的3个服务器上的数据库(图2.1)全储存到一台机器上,架构所有的数据库的形式(图2.2)。执行数据位置整合的情况下,服务器位置整合或者服务器物理整合就会成为前提。适用这种架构的情况下,就不需要重新设计数据库(包括理论设计、物理设计),为了适用,需要将工作量设置在最小限度。但是,这个架构中,还有许多使用、管理方面问题未得到解决,比如,数据的非一致性、二重投资、备份等。产生变化的是可以在一个数据库中储存所有的数据库选项。这时,schema以及object产生重复的话,就需要应用进行变更。

基本而言,这是将已分散配置的服务器,使用Oracle的分散DB功能,理论上用一个数据库来展示的方法。但是,需要选出现存的数据服务器中有的重复数据以及需要保持一致性的数据,作为共通数据库分离。各自的数据库中固有的数据保持着现有的数据库服务器的情况下,对这些应用提高透过性的Layer,保持应用的独立性。

在整理重复数据的过程中,可能发生小规模的数据物理整合。不重复的数据就那样保存在现有服务器中就行了。对于分散配置的系统,,应用与数据服务器保持一对一的关系的情况较多,为了提供面向应用的单张图像,使用DB Link、View以及Synonym,使其拥有物理透过性(图2.4)。

dblink

具体而言,System A与System B中,各种各样的Client访问各自的客户数据T_Kokyaku_A、T_Kokyaku_B(图2.5)。这里的客户信息几乎是同样的,但因为分散配置,在各自的系统中分别有着重复数据。

将这个客户信息作为共通DB分离的话就可以去除重复数据,保持有一致性的状态了。System A、System B中各自分别独自使用的数据还是被保存在各自的DB中,对这些数据设定DB Link。另外,对于作为共通DB被分离的数据,也同样使用DB Link来进行访问。但是,在已经完成整合的共通DB中,以前访问的表并不是用列结构的。(Client A是访问用ID,Name,Add构成的表,Client B是访问用ID,Name,Add,Tel构成的表)。这样的话,client A就只访问列增加的表,需要变更应用。因此,通过制成以前访问过的形式的view(V_kokyaku_A、V_kokyaku_B)就可以解决这个问题。并且,对于制成对应各自形式的view,还要制成Synonym(T_kokyaku_A、T_kokyaku_B)。这是schema的不同以及同一列结构中object名不同的情况下,为了吸收差异而这样设定的。

另外,所有的DB都由Oracle构成时,提供Oracle分散功能中Transaction处理的基本功能——ACID特性,万一发生故障,可以执行Transaction自动恢复。因为可以利用oracle的基本功能,使用FTP以及EAI工具时有比较优势。虽然没有什么前提条件,但使用Oracle进行访问理论结合的情况下,如上所示,所有的DB用Oracle来构成的模式对此的合适程度更高。极端情况下,服务器数量不仅不减少,甚至会有增加的情况,这从服务器整合的观点来看的话,可能会认为这效果并不好。但DB相关内容能利用OEM等资源、并且能远程实现一次元的管理,并且可以实现减少TCO。

 

第三个架构是将所有的数据放在一个数据库中的数据物理整合。

 

通过执行数据库的理论设计、物理设计,可以实现删除重复数据以及保持数据的一致性。这是将所有的数据用单一的数据库来管理的方法。运用管理效率,数据质量最高的是适合架构的系统。但是,这些工作中,都需要对数据库重新进行架构,同时也需要花费成本。并且,也会有需要变更应用的情况。如果,能将对应用的变更限制在最小的话,与数据理论结合相同,使用View、Synonym,需要将应用设定成能访问object。另外,单一服务器中为了整合,需要采用能够确保可扩展性的基盘架构。处理特性不同的应用,对将要使用的数据进行物理整合时,需要充分考虑应用的特性与数据库的设计间的完整性。比如,伴随着在线交易的业务系数据库以及伴随着大规模搜索的信息系应用,将需要使用的数据进行物理整合的情况下,需要考虑到各应用的优先度、需要的功能配件、负载均衡、资源管理等来架构、设计系统。具体而言,就是利用Oracle Resource Manager、组成Profile的资源分割方案的设定、RAC的service设定功能等。Oracle RDBMS,将要运行的硬件,没有被物理整合的话,数据物理整合就不能成立。

以上我们讲解了3种架构,每个架构都可以适用于Oracle Real Application Clusters。但是,数据理论整合的对象数据库是多数的情况下,对所有的服务器执行共享磁盘,节点的追加的话,从成本上来看是不可能的。另外,用RAW Device制成的数据库也是可行的,但在文件系统上制成数据库的情况下,就会发生重新构筑,数据理论整合的长处——适用的简易性就会无法发挥,用户享受到的好处就会消失。数据位置整合以及数据物理整合,因为会出现这样的前提:导入新的HW、制成数据库,RAC适用非常简单。特别是数据物理整合中,为了集中之前分散的数据访问,所以一定会采用可扩展的架构。

 

在此,我将介绍数据整合的顺序。数据整合以及服务器整合有密切关联,所以将结合服务器整合的顺序来说明。

 

使用以下数据、服务器整合的进行方法,我将说明6个阶段

 

收集每个用户部门的服务器台数、规格、OS、DBMS、其他的Middleware、应用的种类与版本等,每个服务器详细的信息。网络要收集其结构、机器的信息、线的种类以及运营商。另外要遵守机器的租赁合同与维修合同。

实施物理整合时,需要选定即使整合后也能充分轻松应对负荷的高性能的服务器。不仅大型服务器中,在准备如rack mount一样很多的小型服务器的情况下,也必须考虑如何分散负荷,所以把握负荷的状况是非常重要的。

在服务集中的站点中,访问也是集中的。就可能发生以前就经常发生的问题——带宽不足。所以需要测定现在的流量,变更为合适的带宽。也可以考虑广域LAN。

整理相关业务,定义整合服务器的范围。并且定义数据整合的范围。因为范围水平不同,协定不同导致整合需要花费一定成本的情况下,能够决定不执行整合是非常重要的。

为了将整合优点扩展到最大,在选择整合架构时,需要考虑到现在的协作、整合的水平来判断。调查数据相关信息,数据库以及应用的大幅度的改变等必要情况下仅仅进行位置整合,独立的情况下就仅仅进行理论整合。另外,根据所期待的效果,需要取得的架构也发生了变换。在经营策略上,无论如何也要追求实时性的话,就需要数据物理整合以及数据理论整合以及。另外,如果是以提高可信性为目的的话,就可以选择数据物理整合以及数据位置整合。

执行数据整合时需要考虑以下4点。

选出数据相关内容

-数据的主从/上下关系

-数据的重复

-区域的重复

-判断这是否是系统固有的数据

-判断这是否是系统固有的文件

数据的协作方法

-是否可以替换掉固有的数据

-是否可以替换掉固有的文件

-数据的跟新时机的同期、调整

数据正规化

-排除重复数据

-选出重复项目与费重复项目进行调整

数据的方法

-独立(物理整合时是单独表,理论整合时访问DB Link)

-snapshot(吸收到master中)

-外部协作/其他资源管理

经过以上讨论,就可以看见以及整合化的骨骼了,可以作成整合化的计划。伴随硬件成本、网络流量、负荷平衡、结构变更的成本,需要充分再次考虑。一边平均运营维持成本的降低度以及故障时造成的影响的大学,一边制成计划。

以上,我讲解了数据整合的各架构以及作业的流程。数据整合与服务器结合是互相关联的,因为是完全独立的,所以需要非常注意前提条件来完成整合工作的计划。

 

3.用实测值来比较数据整合架构

 

此章中,我们将比较数据整合架构——数据理论整合与数据物理结合。比较方法是对比各种的架构中使用的oracle的功能造成的性能变化。

使用oracle数据库执行数据整合时,推测将要使用的功能以及处理的有

  • 数据库链接
  • 远程交易
  • 分散交易
  • 2-phase commit
  • Real Application Clusters(RAC)

能举出以上例子

 

 

在上述举出的Oracle功能之中,在执行数据物理整合之后才使用的是Real Application Clusters。其他功能是在所有数据的理论整合时使用的项目。此章中,可以确认到理论整合物理整合中性能的差异。以下我将叙述各功能的概要

远程交易仅通过访问1个远程节点的语句构成。远程交易有1个以上的远程语句,所有请参照1个远程节点。

分散交易是指由1个以上的语句变成的单独地或者抱团地,想更新分散数据库的多个节点的数据的交易。

与本地数据库的交易不同,分散数据库中伴随着多个数据库的变更。因此,Oracle是交易的变更的Commit以及需要作为自我完结单位来调整roll back。决定是commit交易全体或者进行roll back。

Oracle通过使用2阶段提交机制,保证了分散交易中数据的完整性。准备阶段中,交易内的开始节点对于其他参加节点,要求能确保commit交易或者进行roll back。Commit节点中,开始节点对于所有参加节点,要求commit所有交易。无法达成这个结果的话,要求roll back所有节点。

分散交易中参加的所有节点一定会执行同样的操作。换言之,所有节点都commit交易或者所有节点都roll back 交易。Oracle自动控制或者监视分散交易的commit或者roll back,使用2阶段提交机制,可以维持global数据库的完整性。这个机制是完全透过的,用户与应用开发者不需要编程。

 

这些功能是理论性以及物理性的,对于执行数据整合时是非常重要的。但是,通过使用这个功能,会造成overhead以及还有一些需要注意的问题,这需要我们对这个功能有正确的理解。考虑到这些内容,即使完成了数据整合,也要从性能、使用、成本等方面,考虑现有的系统是否发生了劣化。

 

 

在此章中,我将以实机验证结果为基础,来考虑会发生的数据的理论整合,远程交易以及2阶段commit的处理的影响。

 

以下叙述执行实机验证的概要

  • 本地交易以及远程交易的比较

下章《远程交易对性能的影响》

  • 1阶段commit与2阶段commit的比较

下章《2阶段commit对性能造成的影响》

 

基于以上验证,我叙述分别发生的性能影响。

《本地交易与远程交易的比较》中,需要确认数据的物理整合与理论整合到底有怎样的性能差异以及是否会发生overhead。另外,《1阶段commit2两阶段commit的比较》中,分散交易时,2阶段commit会对性能产生影响,并导致overhead。

验证环境

验证使用的环境如下所示。

DELL OptiPlex Gxi

OS: Red Hat Advanced Server 2.1

CPU:PentiumⅢ 600MHz

Memory:640MB

Oracle9i Enterprise Edition for Linux R9.2.0.3

 

Sun Enterprise E4500

CPU :Sun Ultra SPARC 400MHz x 8

Memory:2GB

Oracle9i Enterprise Edition for Solaris(32bit) R9.2.0.3

此章中,通过与本地数据库执行处理的情况进行比较,确认远程交易导致的性能的影响。同时,确认本地交易到远程交易之中的overhead。

执行本地交易以及远程交易时的环境如下所示。实际执行SQL语句处理的服务器是Solaris服务器,远程交易的情况下,经过在Linux服务器上构筑的本地服务器(数据库链接元)来访问。

 

验证方法有连续执行10000次(1次commit)Select从EMP表开始1行的数据的SQL语句。

通过经过数据库链接的使其变成远程交易,再与本地交易比较,可以发现对性能的影响有了重大变化,有4.94倍之多。

经过本地服务器,不仅是Select语句的处理,远程交易也导致了剧烈的性能恶化。

从statspack中确认Oracle数据库(远程服务器)中的处理时间的话,我们可以看出执行语句所需要的CPU时间是有差异的。处理SQL语句需要的CPU时间是0.82秒,而数据库全体所需要的时间就增加了1.51秒。实际应用中,处理SQL语句的数据库中,我们可以观察到远程交易造成的overhead。

 

远程服务器中的比较 Local Tx Remote Tx
处理时间(s) 2.78 13.74
CPU CPU Time(SQL) (s) 1.88 2.7
CPU used by this session(s) 3.74 5.25
Elapsd Time(SQL) 1.75 2.16

 

一方面,可以用Statspack确认远程交易执行时的本地服务的状况(数据库连接元)。(表2)

CPU Time 与Elapsed Time的比较 ~本地服务器~

  CPU Time 与Elapsed Time的比较 LocalTx RemoteTx
処理時間(s) 2.78 13.74
CPU CPU Time(SQL) (s) 1.88 4.24
CPU used by this session(s) 3.74 6.51
Elapsd Time(SQL) 1.75 12.36

 

远程交易执行时的本地服务器的性能会对整体的性能有重大影响。这是由于虽然远程服务器中的SQL处理时间(Elapsed Time)的增加了,但本地服务器中的SQL处理时间增加得更多。

这是因为使用本地服务器与远程服务器直接发生的数据库连接导致网络缓慢。Statspack开始可以确认数据库链接地址的与远程数据库的信息交换相关的待机项目「SQL*Net message from dblink」的合计待机时间是9秒。

如上所述,为了执行远程交易,通过使用数据库链接,可能造成网络延迟,从而导致整体的处理性能受到重大影响。

然后是Oracle内部的操作,我们从远程交易给处理性能带来的overhead的角度考虑。

远程交易造成overhead的发生可以从表1和表2的CPU Time的增加中确认。CPU Time是指Oracle执行某个处理时所使用的CPU时间,不包含其他(网络或磁盘I/O)原因导致延迟的时间。这里的时间增加是指,Oracle执行的内部操作不同的可能性。

从Statspack中试着确认内部操作是否有错误的话,就如表3所示,我们可以发现latch的获得次数也会有重大差异。这些latch是不会在本地交易时发生的,而在远程交易时大量发生。(表3)

表 3 远程交易导致大量获得latch ~远程服务器~

  Local Tx Remote Tx
Latch enqueues 76 40,124
enqueue hash chain 359 40,399
global tx hash mapping 0 20,003
transaction branch allocation 1 20,003

 

enqueues / enqueue hash chain latch相关是Oracle在开始分散交易时获得的DX队列(Distributed Transaction entry)造成的项目。这个队列是在分散开一开始时,Oracle在内存上持有的X$K2GTE表中写入entry时必需的东西。Oracle中对于远程数据库,在参照处理(SELECT语句)发行的情况下,因为认识为分散交易,就会发生上述的entry。

另外,global tx hash mapping / transaction branch allocation latch是在发生global交易的时候发生的。在Oracle中发生的Latch的获得(发生spin时排除)时不会对CPU负荷造成太大的负担,但是如果一般不发生latch的获得却突然大量发生的话,CPU时间以及性能就会受到影响。

为了确认之前所述latch获得到底能给CPU时间以及性能造成多大影响,在处理开始之前宣布”set transaction read only”,就可以减少这里latch的获得次数,执行测试。

表4 与Read Only 交易的操作比较

Read Only
処理時間(s) 13.74 12.64
CPU CPU Time(SQL) (s) 2.7 2.82
CPU used by this session(s) 5.25 4.56
Latch enqueues 40,124 91
enqueue hash chain 40,399 350
global tx hash mapping 20,003 0
transaction branch allocation 20,003 1

 

通过减少latch的获得次数,SQL语句执行时使用的CPU时间的变化是无法见到的,但可以观察到数据库使用的CPU时间的减少(15%)性能比提升了8%。

=====================

PARSING IN CURSOR #1 len=19 dep=0 uid=350 oct=3 lid=350 tim=23071407270 hv=3079259369 ad=’2bd66c28′

SELECT * FROM “EMP”   ç

END OF STMT

PARSE #1:c=0,e=14123,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=4,tim=23071407147 ç

WAIT #1: nam=’SQL*Net message to client’ ela= 5 p1=1413697536 p2=1 p3=0

WAIT #1: nam=’SQL*Net message from client’ ela= 1156 p1=1413697536 p2=1 p3=0

WAIT #1: nam=’SQL*Net message to client’ ela= 2 p1=1413697536 p2=1 p3=0

WAIT #1: nam=’SQL*Net message from client’ ela= 1030 p1=1413697536 p2=1 p3=0

=====================

PARSING IN CURSOR #1 len=123 dep=0 uid=350 oct=3 lid=350 tim=23071412179 hv=327337135 ad=’2bd5d150′

SELECT “A1″.”EMPNO”,”A1″.”ENAME”,”A1″.”JOB”,”A1″.”MGR”,”A1″.”HIREDATE”,”A1″.”SAL”,”A1″.”COMM”,”A1″.”

DEPTNO” FROM “EMP” “A1”

END OF STMT

上述的Trace是在执行远程交易时取得的,远程交易的SQL Trace的结果。我们可以看到实际处理的SQL语句(SELECT EMPNO, ENAME …)之前,有”SELECT * FROM EMP”这样一句SQL语句。

这章中,我们仅仅讲到了远程交易时参照系(select)的测试,但我们可以发现更新系(insert以及update)的处理也是同样的结果。

这章中,将讲授对于多个远程DB,执行更新处理的情况下发生的2阶段commit对性能的影响。同时,确认2阶段commit在Oracle内部造成的overhead。

 

观察这里的原因的话,会发现SQL处理(Insert语句)与使用的CPU时间的增加相比,COMMIT处理时使用的CPU时间的增加变得非常大了。

比较SQL处理时间(2个Insert语句的合计处理时间)的话,1阶段commit时是48.3秒,2阶段commit时是56.14秒。而COMMIT的处理时间从1阶段commit到2阶段commit的话,从71.9秒大幅增加到了288.7秒。这样,由于变成了2阶段commit,COMMIT的处理时间差对于全体的处理性能会有重大影响。

2阶段commit中有准备阶段,commit阶段以及消除信息阶段这3个阶段。这些阶段,从用户开始发行COMMIT的话,Oracle就会进行内部处理。各阶段中,本地服务器与各个远程服务器互相交换信息,管理状态。这时被执行的处理的overhead表示为COMMIT处理时的处理时间。

为了探究这里的原因,我们将确认COMMIT处理相关oracle数据库的操作。在执行COMMIT处理时,有oracle数据库中发生的代表性的待机项目,”log file sync”。这是COMMIT发行的时机,Oracle数据库将日志缓存上的信息写出到Redo日志文件中发生的待机项目

 

表6  待机项目“log file sync“的统计信息

  1PC 2PC
DB Link Remote DB DB Link Remote DB(1DB当)
log file sync Waits 1 10,003 30,001 20,006
Wait Time (s) 0 53 23 98

 

在Statspack中,在1阶段commit执行时与2阶段commit执行时,可以发现”log file sync”的待机次数与伴随其的待机时间有重大差异。2阶段commit执行时,1次的交易中(COMMIT发行),在本地服务器中发生3次“log file sync”,在各个远程服务器中发生两次“log file sync”。

为了确认这件事,展示在本地服务器中取得的SQL Trace的结果。

 

PARSING IN CURSOR #4 len=6 dep=1 uid=34 oct=44 lid=34 tim=1033533710847208 hv=1053795750 ad=’556257a

c’

COMMIT

END OF STMT

PARSE #4:c=0,e=655,p=0,cr=0,cu=0,mis=1,r=0,dep=1,og=4,tim=1033533710847185

XCTEND rlbk=0, rd_only=1

WAIT #4: nam=’log file sync’ ela= 1230 p1=21526 p2=0 p3=0

WAIT #4: nam=’SQL*Net message to dblink’ ela= 5 p1=675562835 p2=1 p3=0

WAIT #4: nam=’SQL*Net message from dblink’ ela= 14650 p1=675562835 p2=1 p3=0

WAIT #4: nam=’log file sync’ ela= 652 p1=21529 p2=0 p3=0

WAIT #4: nam=’SQL*Net message to dblink’ ela= 3 p1=675562835 p2=1 p3=0

WAIT #4: nam=’SQL*Net message from dblink’ ela= 10912 p1=675562835 p2=1 p3=0

WAIT #4: nam=’log file sync’ ela= 652 p1=21530 p2=0 p3=0

WAIT #4: nam=’SQL*Net message to dblink’ ela= 2 p1=675562835 p2=1 p3=0

WAIT #4: nam=’SQL*Net message from dblink’ ela= 4830 p1=675562835 p2=1 p3=0

WAIT #4: nam=’SQL*Net message to dblink’ ela= 3 p1=675562835 p2=1 p3=0

WAIT #4: nam=’SQL*Net message from dblink’ ela= 5327 p1=675562835 p2=1 p3=0

EXEC #4:c=0,e=40295,p=0,cr=0,cu=13,mis=0,r=0,dep=1,og=4,tim=1033533710887741

 

由于上述Trace,我们发现执行1次COMMIT却执行了3次”log file sync”。

伴随着这里的COMMIT发行的Redo日志的输入工作就成为了导致CPU资源使用以及磁盘I/O的发生原因。

另一方面,在远程数据库中,通过执行2阶段COMMIT,可以确认overhead。

我们可以发现1阶段commit时,同一实例内有一个已获得的latch,2阶段commit时有从各远程服务器中获得的事项。这些latch是远程交易时获得的enqueues、enqueue hash chain、global tx hash mapping、transaction branch allocation。

另外各个远程数据库以及本地数据库之间的网络延迟也会造成影响。

最后,我们将谈到1阶段commit与2阶段commit时发生的磁盘I/O最大的原因之一,我们将比较UNDO尺寸与Redo日志尺寸。(图4)通过使其变成2阶段commit,伴随着分散交易发生,UNDO以及Redo日志记录会在各数据库中被大量写出来。

这样,通过使其变成2阶段commit,Orace的内部操作(COMMIT发行时)会发生变化,就会对处理性能产生重大影响。不仅是CPU的使用率,生成的UNDO记录以及Redo记录的尺寸都会有涨到2倍以上的情况,需要好好考虑本地服务器以及远程服务器的磁盘性能。

与本地交易相比,我们可以发现因为执行分散处理所必要的处理(远程交易以及2阶段commit)的overhead都非常大。并不只是网络延迟,根据Orace的内部操作(latch获得以及Redo日志的增加等)的不同,也会导致性能劣化。

这些影响不仅经常在远程数据库中发生,也会经常在本地数据库中发生,在构筑实际系统时,需要考虑各个服务器的硬件资源。

远程交易以及2阶段commit都是主要在数据的理论整合时发生的处理,这些overhead会对性能造成重大影响。

由此,比起使用分散功能的数据理论整合,还是使用仅仅使用不会发生overhead的本地交易功能的数据物理整合在性能上才更好

 

理想的数据整合与移动路径

 

随着数据整合推进,架构的不同会对性能产生影响,甚至还会使得资源产生变化。

在数据理论整合中,远程交易以及2阶段commit对性能的影响非常大,所以使用、设计、架构时要充分注意,可能的话,对数据进行物理整合,希望其可以在数据发生理论整合时压抑overhead。

考虑到各种方法的性能,我们决定阶段性地完成数据整合。现在,将分散的系统同时整合是不太可能的。因此,这次数据整合的目标暂定为数据的物理真核,从其他整合形式开始的移行路径来考虑。

 

首先,考虑将现有的系统数据进行理论性地整合的“移动阶段”。在此阶段中,是以被分散的各系统的数据一致性以及提高自应用开始的物理高透过性为目的的。使用的Oracle功能有数据库链接。

这个系统的形态在第三章中陈述过的远程交易以及2阶段commit导致的overhead。

然后,将数据进行物理性的整合的整合模式。技术上来说,因为要在一个数据库中整合所有的数据,所以Oracle执行的处理全都会变成本地交易。由此,就会减少在移动模式中的overhead。另外,通过聚集到一个数据库中,会成为一个更方便管理的系统。

为了确保更高级别的可扩展性以及可用性,数据的物理整合是将已执行的数据库服务器进行集群构成。在这里的发展阶段中,就变成了使用Oracle的Real Application Clusters(RAC)系统结构,性能和使用方面都是最优秀的系统。

 

我们需要充分理解各阶段以及在各阶段使用的各功能的优缺点之后,再进行数据整合。在此,阶段性的“发展阶段”的为止是使用Real Application Clusters(RAC)的数据物理整合,但根据系统不同,在初期的阶段,需要考虑构成RAC。

 

根据验证结果,我们已经知道了我们需要一边考虑在各处理中发生的overhead一边进行数据整合这是非常重要的。

具体而言,分散交易中发生的远程交易以及2阶段commit造成的性能劣化等。

另外之前我就已经作为追加内容讲解并验证过的,如《分散交易导致Redo尺寸增加》所述,根据处理的组合(交易的内容)不同,所输出的Redo日志尺寸也有很大不同。配合这个结果,第三章中接触到的“远程交易对性能造成的影响”以及“2阶段commit对性能造成的影响”中的需要注意的地方,我们在此讨论一下进行数据整合时一些需要注意的点。

执行分散交易(包含远程交易)时,需要尽可能减少成为对象的远程服务器。首先对对由于分散交易导致的追加Redo日志进行确认测试结果后,根据成为处理对象的远程服务器的数量不同,我们可以看出被输出的Redo日志尺寸也有很大变化。Redo日志尺寸增加会使得磁盘I/O发生,会对系统全体产生重大影响。

另外,在对处理性能要求严格系统中,需要尽可能压制远程交易的发生,希望尽可能作为本地交易来处理。

 

因为远程交易发生,Oracle内部追加的处理就会消除,对性能的影响也亏变大。因此,为了尽可能减少远程交易,需要将多个数据库中存在的重复数据,尽量物理整合到本地服务器之中。

 

通过将执行更新的服务器合为一个,就可以防止2阶段commit的发生。由此,各交易就会变成远程交易处理,所以即使执行更新处理,也只能用1阶段commit来执行。因此,就不会有2阶段commit导致的overhead,就可以将对处理性能的影响限制在最小。

将数据进行理论性的或者物理性的结合,但前提必须是能保证系统的可扩展性与可用性。

执行数据理论结合的情况下,各数据库分别是作为其他的系统而存在的,对于各自数据库服务器,需要考虑可用性。

一方面,执行数据理论整合的情况下,因为数据库聚集到一个里了,需要充分考虑那个数据库服务器的可用性。

将各数据库改成HA结构或者RAC结构,就可以更加提高可用性。

考虑了如上所述几点的话,在数据整合的初期阶段,我推荐数据的物理整合以及理论整合的相组合的方法。这些方式的特征如下所示。

  • 本地服务器中使用RAC功能的结构

确保可扩展性以及可用性

  • 本地服务器中对重复数据进行物理整合

尽可能减少远程交易

抑制对性能的影响

  • 使用数据库连接,执行数据的理论结合

有效活用现有的系统资产,抑制初期投资成本

通过采取这些方法,就可以比较简单地进行RAC构成的数据物理整合的全面移行。

在本文中,讲解了现在大家比较重视的数据整合的架构以及整合的进行方法。进行了各种比较实验,结果是数据物理整合比数据理论整合、数据位置整合效果好。TCO减少、系统的可信性、安全水平、数据质量等,以服务器物理整合为基础的数据物理整合要更好。

但是,考虑到将现在所有系统一口气进行整合的风险,调和各个要整合的用户部门等麻烦的话,将所有系统一次整合的成本是非常大的,要求技术也是非常高的。由此,在第4章中,我们展示了一边向完成型迈步一边讲解整合这样的路线图。

最后要求与Real Application Clusters的匹配。数据物理整合是最适合与RAC的匹配的。2.1.3中我们也稍微谈到过,通过与RAC的组合,可以大幅提高信赖性、安全性、可扩展性、管理效率。本文中给发展阶段定位了,但考虑到整合的重要性,实时指向的话,RAC的数据物理整合就可以能成为标准形式。所以我们最终应该追求的形式,也应该是RAC的数据物理整合。

此章中,通过执行分散交易,会稍微谈到被输出的Redo日志尺寸。

通过执行远程交易以及分散交易,Redo日志尺寸会发生变化,所以无论执行怎样的处理,都需要调查Redo日志的输出。

作为测试方法,将需要处理的SQL语句按① DB Link(本地数据库) ② Remote1(远程数据库)③ Remote2(远程数据库)这样的顺序发行,确认在各服务器中输出了Redo日志。

由测试结果,会在各个服务器中执行怎样的处理呢?被输出的追加Redo日志总结在表7中了。

 

下述就是Redo日志dump的结果,对应表8中Redo的日志记录

另外,本文中使用的Redo日志记录的输出内容相对的名称是这个验证中独立的。不是Oracle数据库中正式的名称,请大家注意。

2阶段commit时的Redo日志dump

 

REDO RECORD – Thread:1 RBA: 0x00003a.00000012.0010 LEN: 0x00d4 VLD: 0x01

 

>>> Remote

 

SCN: 0x0000.0ed8f8eb SUBSCN:  1 07/01/2003 21:00:36

CHANGE #1 TYP:0 CLS:21 AFN:2 DBA:0x00801409 SCN:0x0000.0ed8f8e6 SEQ:  1 OP:5.2

ktudh redo: slt: 0x0010 sqn: 0x000000b1 flg: 0x0011 siz: 52 fbi: 0

uba: 0x00801c09.000a.07    pxid:  0x0000.000.00000000

CHANGE #2 TYP:0 CLS:22 AFN:2 DBA:0x00801c09 SCN:0x0000.0ed8f8e4 SEQ:  2 OP:5.1

ktudb redo: siz: 52 spc: 6850 flg: 0x0012 seq: 0x000a rec: 0x07

xid:  0x0003.010.000000b1

ktubl redo: slt: 16 rci: 0 opc: 5.7 objn: 0 objd: 0 tsn: 0

Undo type:  Regular undo        Begin trans    Last buffer split:  No

Temp Object:  No

Tablespace Undo:  No

0x00000000  prev ctl uba: 0x00801c09.000a.04

prev ctl max cmt scn:  0x0000.0ed6667a  prev tx cmt scn:  0x0000.0ed666dd

CHANGE #3 MEDIA RECOVERY MARKER SCN:0x0000.00000000 SEQ:  0 OP:5.20

session number   = 7

serial  number   = 1103

transaction name =

 

REDO RECORD – Thread:1 RBA: 0x00003a.00000012.00e4 LEN: 0x00d4 VLD: 0x01

 

>>> 分散

 

SCN: 0x0000.0ed8f8eb SUBSCN:  1 07/01/2003 21:00:36

CHANGE #1 TYP:0 CLS:21 AFN:2 DBA:0x00801409 SCN:0x0000.0ed8f8eb SEQ:  1 OP:5.2

ktudh redo: slt: 0x0010 sqn: 0x00000000 flg: 0x0004 siz: 96 fbi: 1

uba: 0x00801c09.000a.08    pxid:  0x0000.000.00000000

CHANGE #2 TYP:0 CLS:22 AFN:2 DBA:0x00801c09 SCN:0x0000.0ed8f8eb SEQ:  1 OP:5.1

ktudb redo: siz: 96 spc: 6796 flg: 0x0024 seq: 0x000a rec: 0x08

xid:  0x0003.010.000000b1

ktubu redo: slt: 16 rci: 0 opc: 0.0 objn: 0 objd: 0 tsn: 0

Undo type:  Regular undo       Undo type:  Last buffer split:  No

Tablespace Undo:  No

0x00000000

Dumping kcocv element #2 size 64:

Dump of memory from 0x405DA378 to 0x405DA3B8

405DA370                   00000002 0004AC1E          [……..]

405DA380 00000015 00000000 07060005 43415200  [………….RAC]

405DA390 6662632E 63323332 2E332E37 312E3631  [.cbf232c7.3.16.1]

405DA3A0 43533737 6F54544F 6C636172 6F6D7465  [77SCOTToracletmo]

405DA3B0 32306972 00000000                    [ri02….]

 

REDO RECORD – Thread:1 RBA: 0x00003a.00000012.01b8 LEN: 0x0228 VLD: 0x01

 

>>> site信息

 

SCN: 0x0000.0ed8f8eb SUBSCN:  1 07/01/2003 21:00:36

CHANGE #1 TYP:0 CLS:22 AFN:2 DBA:0x00801c09 SCN:0x0000.0ed8f8eb SEQ:  2 OP:5.1

ktudb redo: siz: 496 spc: 6698 flg: 0x0024 seq: 0x000a rec: 0x09

xid:  0x0003.010.000000b1

ktubu redo: slt: 16 rci: 8 opc: 0.0 objn: 0 objd: 0 tsn: 0

Undo type:  Regular undo       Undo type:  Last buffer split:  No

Tablespace Undo:  No

0x00000000

Dumping kcocv element #2 size 464:

Dump of memory from 0x0AAF784C to 0x0AAF7A1C

AAF7840                            00000001              [….]

AAF7850 00000022 02020100 00000000 00000000  [“……………]

AAF7860 4D455207 3145544F 00000000 00000000  [.REMOTE1……..]

AAF7870 00000000 00000000 00000000 00000000  […………….]

Repeat 1 times

AAF7890 00000000 00000000 0AA91394 00000000  […………….]

AAF78A0 0040013C 0000006E 0000006E 00030000  [<.@.n…n…….]

AAF78B0 00001FE8 00000000 0AA91394 00000000  […………….]

AAF78C0 00000000 00000000 00000000 00000000  […………….]

AAF78D0 00000000 00000000 0000005B 0AA8F0FC  [……..[…….]

AAF78E0 37620830 38633261 0AA86135 0AA8F72C  [0.b7a2c85a..,…]

AAF78F0 00000000 00000022 030A0104 B1001000  [….”………..]

AAF7900 01000000 00000004 00000000 00060000  […………….]

AAF7910 00000005 00000000 00000000 00000000  […………….]

AAF7920 00000000 00000000 00000000 00000000  […………….]

AAF7930 00000000 00000000 0040013D 4D455207  [……..=.@..REM]

AAF7940 3245544F 00030000 00001FE8 00000001  [OTE2…………]

AAF7950 00000000 0AA91394 00000000 516DE014  […………..mQ]

AAF7960 00100400 090C46D2 BFFE828C 090C79F4  […..F…….y..]

AAF7970 00000000 00000000 090C5B0C 0AA8F69C  [………[……]

AAF7980 00000000 00000000 00000000 00000000  […………….]

AAF7990 FFFFFFFF 0000FFFF 00000000 00000214  […………….]

AAF79A0 00000000 00000001 000007BC 00000000  […………….]

AAF79B0 00000000 00000000 00000000 38360800  […………..68]

AAF79C0 65613364 00403762 0000006E 0000006E  [d3aeb7@.n…n…]

AAF79D0 00000022 030A0003 B1001000 01000000  [“……………]

AAF79E0 014B0003 00000000 00000000 00000000  [..K………….]

AAF79F0 0000014B 0000FFFF 0040013D 0000014A  [K…….=.@.J…]

AAF7A00 0AA8F8BC 00000000 0AA8F69C 00000000  […………….]

AAF7A10 00000000 00000018 00400000           [……….@.]

 

REDO RECORD – Thread:1 RBA: 0x00003a.00000013.01f0 LEN: 0x0040 VLD: 0x01

 

>>> Commit(2PC

 

SCN: 0x0000.0ed8f8eb SUBSCN:  1 07/01/2003 21:00:36

CHANGE #1 TYP:0 CLS:21 AFN:2 DBA:0x00801409 SCN:0x0000.0ed8f8eb SEQ:  2 OP:5.12

ktust redo: slt: 16 sqn: 0x000000b1 sta: 1 cfl: 0x2

 

REDO RECORD – Thread:1 RBA: 0x00003a.00000015.0010 LEN: 0x0040 VLD: 0x01

SCN: 0x0000.0ed8f8ef SUBSCN:  1 07/01/2003 21:00:36

CHANGE #1 TYP:0 CLS:21 AFN:2 DBA:0x00801409 SCN:0x0000.0ed8f8eb SEQ:  3 OP:5.12

ktust redo: slt: 16 sqn: 0x000000b1 sta: 2 cfl: 0x2

 

REDO RECORD – Thread:1 RBA: 0x00003a.00000016.0010 LEN: 0x0048 VLD: 0x01

SCN: 0x0000.0ed8f8f1 SUBSCN:  1 07/01/2003 21:00:36

CHANGE #1 TYP:0 CLS:21 AFN:2 DBA:0x00801409 SCN:0x0000.0ed8f8ef SEQ:  1 OP:5.4

ktucm redo: slt: 0x0010 sqn: 0x000000b1 srt: 1 sta: 3 flg: 0x1 scn:  0x0000.0ed8f8f1

 

REDO RECORD – Thread:1 RBA: 0x00003a.00000017.0010 LEN: 0x0040 VLD: 0x01

SCN: 0x0000.0ed8f8f3 SUBSCN:  1 07/01/2003 21:00:36

CHANGE #1 TYP:0 CLS:21 AFN:2 DBA:0x00801409 SCN:0x0000.0ed8f8f1 SEQ:  1 OP:5.12

ktust redo: slt: 16 sqn: 0x000000b1 sta: 9 cfl: 0x0

 

>>> Commit至此

 

 

REDO RECORD – Thread:1 RBA: 0x00003a.00000008.0028 LEN: 0x0040 VLD: 0x01

 

>>> Commit (1PC

 

SCN: 0x0000.0ed8f8dc SUBSCN:  1 07/01/2003 21:00:33

CHANGE #1 TYP:0 CLS:21 AFN:2 DBA:0x00801409 SCN:0x0000.0ed8f8dc SEQ:  1 OP:5.12

ktust redo: slt: 8 sqn: 0x000000b1 sta: 1 cfl: 0x2

 

REDO RECORD – Thread:1 RBA: 0x00003a.00000009.0010 LEN: 0x0050 VLD: 0x01

SCN: 0x0000.0ed8f8de SUBSCN:  1 07/01/2003 21:00:33

CHANGE #1 TYP:0 CLS:21 AFN:2 DBA:0x00801409 SCN:0x0000.0ed8f8dc SEQ:  2 OP:5.4

ktucm redo: slt: 0x0008 sqn: 0x000000b1 srt: 0 sta: 9 flg: 0x2

ktucf redo: uba: 0x00801c09.000a.03 ext: 8 spc: 7500 fbi: 0

 

>>> Commit至此

 

沪ICP备14014813号-2

沪公网安备 31010802001379号