Tuesday, January 27, 2009

ORA-07445

Problem Description
I wanted to do online redefinition on a table. Whenever I run start_redef_table procedure then, while creating materialized view it failed with ORA-03114 and ORA-03113.
Below is the scenario.

SQL> exec dbms_redefinition.start_redef_table('M', 'HISTORY', 'HISTORY_INT');

ERROR:
ORA-03114: not connected to ORACLE


BEGIN dbms_redefinition.start_redef_table('M', 'HISTORY', 'HISTORY_INT'); END;

*
ERROR at line 1:
ORA-03113: end-of-file on communication channel

In the Alert log file it displays,

Sat Dec 6 16:34:40 2008
Errors in file /var/opt/dumpfile/udump/shaikdb_ora_12860.trc:
ORA-07445: exception encountered: core dump [kghalp()+58] [SIGSEGV] [Address not mapped to object] [0x000000068] [] []
ORA-10980: prevent sharing of parsed query during Materialized View query generation
Sat Dec 6 16:36:39 2008

Cause of the Problem

This is an oracle bug. When auditing is enabled and creating materialized view or executing start_redef_table and a Commit/Rollback/Abort transaction is done, memory which is being cleaned up is accessed leading to a dump.

Solution of the Problem
As this problem is an oracle bug and this bug fires when auditing is enabled so there are two solutions.
1)Disable Audit and Restart database:

SQL> alter system set audit_trail=NONE scope=spfile;

System altered.

Since audit_trail is a static parameter so it is needed to bounce the database.
SQL> shutdown immediate;
SQL> startup


2)Apply Patch 10.2.0.3:
This bug is fixed on 10.2.0.3. So apply patch set 10.2.0.3.

No comments:

Post a Comment