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