11.2.0.3 in Oracle Linux 6.3
Scenario1:
After a maintenance activity, I was trying to bring up the DB. I got ORA-03113 error during STARTUP
$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Thu Feb 26 11:55:42 2015
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORA-03113: end-of-file on communication channel
SQL>
SQL>
SQL> select open_mode from v$database;
ERROR:
ORA-03114: not connected to ORACLE
SQL> desc v$instance
ORA-24324: service handle not initialized
ERROR:
ORA-03114: not connected to ORACLE
This was due to an ORA-0600 error internally happening which I wasn't aware of. It was recorded in the alert log.
Since v$database.open_mode gave me ORA-03114 error I informed application team that the DB is down. But few minutes later they informed me that they can access the DB. I was a bit embarrassed.
Later I discovered from the alert log that the DB actually came up 3 minutes after I tried STARTUP. But I didn't know this because I was still connected to the SQL*Plus client session which has lost connectivity with the server/shadow process , I was always getting ORA-03114: not connected to ORACLE error .
ML note 1506805.1 explains that 03113 occurs when the Client is disconnected from the 'Shadow process'. I assume that Shadow process is another name for Server process.
But, why don’t I get ORA-03113 error in the below scenario (Scenario 2) . After the instance is shutdown there won't be any 'Shadow Process' ; but from same SQL Plus session I can still startup the DB !!!! I don't get ORA-03113 error here.
Scenario2:
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL>
SQL> startup
ORACLE instance started.
Total System Global Area 4008656896 bytes
Fixed Size 2288088 bytes
Variable Size 2634024488 bytes
Database Buffers 1367343104 bytes
Redo Buffers 5001216 bytes
Database mounted.
Database opened.
SQL>
SQL>
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
READ WRITE