rdbms从11g升级到12c。11.2的ogg版本启动失败?诊断方法

复制进程启动失败的诊断方法:

Replicat Abends with Error OGG-01082 Call To The Dboci_Check_For_Virtual_Column: Oci Error (100-Ora-01403: No Data Found) Determining If Column Is Virtual (文档 ID 1556577.1)

In this Document 

APPLIES TO:

Oracle GoldenGate - Version 11.2.1.0.3 and later
Information in this document applies to any platform.

SYMPTOMS

Replicat process abends with following 
The call to the DBOCI_check_for_virtual_column: OCI error (100-ORA-01403: no data found) determining if column is virtual. Table: ERPDM.TWHWMD920628, Column: T$CONU$B$2 function from get_odbc_table_def failed with return code 0.

CAUSE


This issue occurs due to bug. Replicat abended with ERROR OGG-01082 THE CALL TO THE DBOCI_CHECK_FOR_VIRTUAL_CO. The hash value used to convert the column and table returned same value. So replicat assumes column name of one table as table name of another table and vice versa.
This is explained in the following bug:
Bug 16426333 - REPLICAT ABEND WITH ERROR OGG-01082 THE CALL TO THE DBOCI_CHECK_FOR_VIRTUAL_CO
Bug 16501008 - HASH FUNCTION CANNOT BE USED TO UNIQUELY IDENTIFY A STRING
 

 

SOLUTION

Workaround:

1. Enable SQL TRACE level 12 and check the SQL Query which has incorrect column name instead of table name and move the table to separate replicat

SQLEXEC "ALTER SESSION SET TRACEFILE_IDENTIFIER='OGG_DEBUG'" 

SQLEXEC  "ALTER SESSION SET EVENTS '10046 trace name context forever, level  12'"

Eg:

SELECT col#, segcol# FROM sys.col$ c, sys.obj$ o, sys.user$ u WHERE c.name = 'COMPANY' AND       c.obj# = o.obj# AND       o.name = 'T$CONU$B$2' AND        o.owner# = u.user# AND       u.name = 'ERPDM' 

 Here o.name is should be TWHWMD215609. Instead it shows o.name = 'T$CONU$B$2'. T$CONU$B$2 is the column of different table TWHWMD920628. .

 

2. Solution is to apply the patch which contains fix for bug 16426333 and 16501008.

 

REFERENCES


BUG:16573838 - NEED BUILD ON TOP OF 11.2.1.0.5 WITH FIX FOR BUG 16501008

NOTE:1259884.1 - ERROR OGG-01082 When Running A Replicat against an Oracle Database

BUG:16426333 - REPLICAT ABEND WITH ERROR OGG-01082 THE CALL TO THE DBOCI_CHECK_FOR_VIRTUAL_CO

posted on 2018-03-21 16:12  erwadba  阅读(225)  评论(0编辑  收藏  举报

导航