In a RAC environment the Capture may be behaving erratically in that the transactions are not captured at times, the flush are sometimes gathered and at other times are not, or the Capture core dumps. Most importantly, the following messages are written in *ocap* log (the Capture log) located in $SP_SYS_VARDIR/log directory:
ocap 2009-09-21 20:27:36.566141 1331378 1 parse_supp_log_info: discarding record 0x030e60.000069dd.00b8: due to missing supplemental data
ocap 2009-09-21 20:27:36.566264 1331378 1 parse_supp_log_info: discarding record 0x030e60.000069e8.00e4: due to missing supplemental data
Though the above messages may be pointing to lack of supplemental logging on the database, the event log mentions that it is enabled:
Info 2009-09-21 12:57:23.036006 1331378 1 Capture now replicating actid 14, for sid o.SID
Notice 2009-09-21 12:57:23.036358 1331378 1 Capture: The database supplemental logging state = Enabled, primary_key = Enabled, unique_key = Enabled (capturing from SID) [module oct]
Notice 2009-09-21 12:57:23.058652 1331378 1 Capture: iot object: 321507 (capturing from SID) [module osp]
The supplemental logging may not have been enabled for all nodes in a RAC environment.
It is necessary to enable supplemental logging for all nodes in a RAC environment, and not just few. The event log may incorrectly suggest that supplemental logging is enabled as it may be saying so for some of the nodes and not all. Issue the following query to determine if supplemental logging is enabled for all nodes:
select INST_ID, SUPPLEMENTAL_LOG_DATA_UI,SUPPLEMENTAL_LOG_DATA_PK,SUPPLEMENTAL_LOG_DATA_MIN from
If the query returns at least one YES for each of the node of RAC, then the supplemental logging has been enabled for all nodes and the issue needs to be referred to Support for further investigation. If not, then the following actions need to be taken:
A.Turn on the supplemental logging for each node by issuing the following at SQL prompt:
SQL>ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
B.Then perform at least one or preferably a few log switches by:
SQL>alter database switch logfile;
C.Resync the target database at a later time.
It may be noted that the resolution described here may pertain to a specific situation and there can be other reasons for seeing this error. If the above steps do not help, then it is advised to contact Support for further investigation.
The following excerpt is taken from Oracle9i Database README Release 2 (9.2) which points to issues with supplemental logging in a RAC environment:
25.4 ALTER DATABASE ADD SUPPLEMENTAL LOG DATA
The ALTER DATABASE ADD SUPPLEMENTAL LOG DATA statement is not properly handling the Real Application Cluster environment. For environments with multiple instances the following workarounds are available:
Issue the ALTER DATABASE ADD SUPPLEMENTAL LOG DATA statement when only one instance has the database mounted or open. Then, as other instances open the database, they will read the control file settings and perform the correct operations.
If multiple instances already have the database mounted or open, repeat the ALTER DATABASE ADD SUPPLEMENTAL LOG DATA statement on each instance.