ocap_ddl log:
ocap_ddl 2016-04-18 13:18:19.620162 56623354 1 DDL = create table "RMS13".DBMS_TABCOMP_TEMP_CMP organization heap tablespace "RETEK_DATA_SSD" compress for all operations nologging as select * from "RMS13".DBMS_TABCOMP_TEMP_UNCMP mytab
ocap_ddl 2016-04-18 13:18:19.620162 56623354 1 Oracle Time: 04/17/16 18:24:25 object=RMS13.DBMS_TABCOMP_TEMP_CMP
Capture parameter SP_OCT_REPLICATE_CTAS 0 . This parameter default value of 0 generates create table and DML with dload separately. It depends on the amount of data it selects from the other table and can cause capture to run out of memory leading to capture core dumping.
Workaround:
On affected source:
1. Remove tables DBMS_TABCOMP_TEMP_UNCMP and DBMS_TABCOMP_TEMP_CMP from replication, as they are generated as part of the Oracle compression advisor job.
2. set param SP_OCT_REPLICATE_CTAS 1
3. stop capture
4. start capture
Note:
The requirement for SP_OCT_REPLICATE_CTAS 1 is that the table selecting from needs to exist on target and should be replicated. Capture will replicate the create table as select (CTAS) as a DDL statement instead of create table plus DML. If table selecting from is not being replicated, then the CTAS may result in different row count. Based on this, it should be considered whether to continue setting SP_OCT_REPLICATE_CTAS 1, after bypassing a capture core dumping issue.
If replicating schema tables with wildcard, it would be necessary to remove the following two tables part of the compression advisor job.
Example:
expand owner1.% (not DBMS_TABCOMP_TEMP_UNCMP, DBMS_TABCOMP_TEMP_CMP) owner2.% target_route
expand owner2.% (not DBMS_TABCOMP_TEMP_UNCMP, DBMS_TABCOMP_TEMP_CMP) owner2.% target_route