Databases
cancel
Showing results for 
Search instead for 
Did you mean: 

unable to start idle instance. ORA-03113 and ORA-12571

SOLVED
Go to solution
Claudio Cilloni
Honored Contributor

unable to start idle instance. ORA-03113 and ORA-12571

Hi all.

scenario: Oracle 8.1.6.3.0 running on HP-UX B.11.00

I got a problem. I made some mess while cloning an Oracle instance and now I cannot use the name of this messed instance.

I made this:

I need to clone a production instance, named 'pok', in a new instance named 'pok1'. This new name is mandatory.
I copied the datafiles (with 'pok' down), created the pwd file (in $ORACLE_HOME/dbs), added the 'pok1:/oracle:N' line in /etc/oratab, copied and corrected the initpok1.ora file, copied the redo log files, etc... etc... everything was fine.
I made a script to create the new control files starting from the output generated by the 'ALTER DATABASE BACKUP CONTROLFILE TO TRACE' launched on 'pok', and correcting this output.
Then:

$ export ORACLE_SID=pok1
$ sqlplus /nolog
SQL> connect internal
SQL> startup nomount

then I started the create controlfile script; there was a typing error in it, so I decided to repeat the whole process; I deleted the control file that were generated, and after this I realized that there were some oracle pok1 processes. kill -9 on these.

Now every time I try to connect internal with ORACLE_SID=pok1 I get one of these two errors:

ORA-12571: TNS:packet writer failure
ORA-03113: end-of-file on communication channel

Maybe my cloning technique isn't good... so I deleted any file related with 'pok1' and I repeated the whole cloning process to an instance named 'pok2'. Everything was fine; this new instance works great. But this doesn't solve my problem.

now:
$ export ORACLE_SID=pok1
$ sqlplus /nolog
SQL> connect internal
-----> ORA-03113 or ORA-12571

$ export ORACLE_SID=foo
$ sqlplus /nolog
SQL> connect internal
-----> Connected to an idle instance.

With any non-existent instance name other than 'pok1', connect internal works.

Searching the Net about these errors, I found that Oracle believes that the 'pok1' instance is still shutting down. Could it be possible? there are no 'pok1' processes!

what happened? what can I do?

thanks,
Claudio
5 REPLIES
Massimo Bianchi
Honored Contributor
Solution

Re: unable to start idle instance. ORA-03113 and ORA-12571

Hi,
9 out of 10 the problem lies in the kill -9,
because it didn't let the oracle process to clean the shared memory and the semaphores.


You should clean them manually, using the
ipcs -ma
and
ipcs -s

to identify and
ipcrm to clean.

Pay musy attention, because if you remove the segment belonging to productive instance, it will crash badly.

HTH,
Massimo
Massimo Bianchi
Honored Contributor

Re: unable to start idle instance. ORA-03113 and ORA-12571

Hi,
also check in $ORACLE_HOME/dbs for the presence of lkpok1 files, and delete them.

Massimo

Massimo Bianchi
Honored Contributor

Re: unable to start idle instance. ORA-03113 and ORA-12571

Hi,
also check in $ORACLE_HOME/dbs for the presence of lkpok1 files, maybe sgadefpok1 file, and delete them.

Massimo

Claudio Cilloni
Honored Contributor

Re: unable to start idle instance. ORA-03113 and ORA-12571

Thanks, Massimo. I wasn't able to find what shared memory or semaphore delete, but you put me on the way to find the oracle command 'sysresv' that made this choice for me.

Ciao
Claudio
T G Manikandan
Honored Contributor

Re: unable to start idle instance. ORA-03113 and ORA-12571

What messages you have in alert log of the database.
REvert