Saturday, October 24, 2015

ORA-03113 error in Oracle 12c patch.

After upgrading to Oracle 12c (12.1.0.2) there was an issue causing a core dump and potential table metadata corruption when you ADD a column to the table with DEFAULT and ENABLE NOVALIDATE, this issue get treated as a bug 20880215 (ORA-7445 [QCSISCOLINFRO()+358] FOR ADD COLUMN WITH DEFAULT AND ENABLE NOVALIDATE)

rajesh@ORA12C> set timing off
rajesh@ORA12C> set feedback off
rajesh@ORA12C> drop table t purge;
rajesh@ORA12C> create table t(x int,y date);
rajesh@ORA12C> insert into t values(1,sysdate);
rajesh@ORA12C> commit;
rajesh@ORA12C> set feedback on
rajesh@ORA12C> select * from t;

         X Y
---------- -----------
         1 20-OCT-2015

1 row selected.

rajesh@ORA12C>
rajesh@ORA12C> alter table t add z varchar2(5) default 'YES' not null enable novalidate;

Table altered.

rajesh@ORA12C> select * from t;
select * from t
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel
Process ID: 8940
Session ID: 14 Serial number: 44088


ERROR:
ORA-03114: not connected to ORACLE


rajesh@ORA12C>

The client (in my case SQL*Plus) will disconnect with the meaningless ORA-3113, so let’s have a look at the alert.log


Exception [type: ACCESS_VIOLATION, UNABLE_TO_READ] [ADDR:0x4] [PC:0x7FEF69DB405, qcsIsColInFro()+437]
Errors in file D:\APP\VNAMEIT\diag\rdbms\ora12c\ora12c\trace\ora12c_ora_8940.trc  (incident=115395):
ORA-07445: exception encountered: core dump [qcsIsColInFro()+437] [ACCESS_VIOLATION] [ADDR:0x4] [PC:0x7FEF69DB405] [UNABLE_TO_READ] []
Incident details in: D:\APP\VNAMEIT\diag\rdbms\ora12c\ora12c\incident\incdir_115395\ora12c_ora_8940_i115395.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Tue Oct 20 11:58:34 2015
Dumping diagnostic data in directory=[cdmp_20151020115834], requested by (instance=1, osid=8940), summary=[incident=115395].
Tue Oct 20 11:58:50 2015
Sweep [inc][115395]: completed
Sweep [inc2][115395]: completed

Solution will be to apply the fix for the bug 20880215 from Oracle support.

No comments:

Post a Comment