Solved

after a power outage on a hpux box the Oracle DB will not start, I get this error ORA-03113: end-of-file on communication channel

Posted on 2008-06-17
15
631 Views
Last Modified: 2013-12-20
After a power outage on the HPUX box, I had to run fsck to get the HPUX back up.  But now my Oracle DB will not start, I get the following error:  ORA-03113: end-of-file on communication channel.  I think I reached the end of the internet and found many suggestions, but none worked.  I know it is  generic Oracle error, but someone must have face a simular situation.  I've check all the permissions, I've relinked.  I tried "repair unitl cancel"

thanks for all your help.
0
Comment
Question by:bodi77
  • 7
  • 6
  • 2
15 Comments
 
LVL 23

Expert Comment

by:David
ID: 21801958
You should be able to simply start a new client-server connection (ssh); start your listener(s) if necessary, then start SQLPLUS as sysdba.  If the instance hasn't autostarted, you need to start it manually.  The 3113 simply occurs when your network connection is broken or times out.  
0
 

Author Comment

by:bodi77
ID: 21801986
I forgot to mention, there is no network involved.  I'm trying to start the DB from the hp box where it resides.  I've logged on as sysdba and tried to restart it but I get the same error.  
0
 
LVL 34

Expert Comment

by:johnsone
ID: 21802200
Anything in the alert log or any other trace files being generated?

ORA-03113 is not necesarily a network disconnect.
0
 

Author Comment

by:bodi77
ID: 21802210
I looked in the dirctory that most people sugtested online, but there was no trace file.  
0
 
LVL 34

Expert Comment

by:johnsone
ID: 21802365
What about the alert log?
0
 

Author Comment

by:bodi77
ID: 21802387
I did a find the entire hpux box and there was no alert log.
0
 
LVL 34

Expert Comment

by:johnsone
ID: 21802966
It should be in the directory that is defined as background_dump_dest in the init.ora.  The actual name should be alert_${ORACLE_SID}.log
0
Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

 

Author Comment

by:bodi77
ID: 21803111
that's why there is no log, that option is not in the init.ora
0
 
LVL 34

Accepted Solution

by:
johnsone earned 500 total points
ID: 21803628
The default location is under ORACLE_HOME.  It varies by OS, but if you do:

find $ORACLE_HOME -name 'alert*.log' -print

you should find it
0
 

Author Comment

by:bodi77
ID: 21803661
nope no such log file, I hope that's not the only way I can fix my problem.
dialer1(admin)@/opt/oracle/OraHome1 [1029]
$ go $ORACLE_HOME
dialer1(admin)@/opt/oracle/OraHome1 [1030]
$ ls *.log
rollup.log
dialer1(admin)@/opt/oracle/OraHome1 [1031]
$
0
 
LVL 34

Expert Comment

by:johnsone
ID: 21803903
I don't see the find command I gave you.  It is not in the $ORACLE_HOME directory, it is in one of the sub directories.
0
 

Author Comment

by:bodi77
ID: 21804016
oh I see it now.  below is what I got from the bdump dir
  control_files= /opt/oracle/oradata/orastd/control01.ctl, /opt/orac
le/oradata/orastd/control02.ctl, /opt/oracle/oradata/orastd/control03.ctl
  db_block_buffers= 8192
  db_block_size= 4096
  compatible= 8.1.0
  log_buffer= 12288
  log_checkpoint_interval  = 10000
  log_checkpoint_timeout   = 1800
  transactions_per_rollback_segment= 2
  rollback_segments= RBS0, RBS1, RBS2, RBS3, RBS4, RBS5, RBS6, RBS10, RB
S11, RBS12, RBS13
  max_enabled_roles= 30
  remote_login_passwordfile= EXCLUSIVE
  instance_name= orastd
  service_names= orastd
  sort_area_size= 327680
  sort_area_retained_size  = 327680
  db_name= orastd
  open_cursors= 100
  os_authent_prefix=
  job_queue_processes= 1
  background_dump_dest     = /opt/oracle/OraHome1/admin/orastd/bdump
  user_dump_dest= /opt/oracle/OraHome1/admin/orastd/udump
  core_dump_dest= /opt/oracle/OraHome1/admin/orastd/cdump
PMON started with pid=2
DBW0 started with pid=3
LGWR started with pid=4
CKPT started with pid=5
SMON started with pid=6
RECO started with pid=7
SNP0 started with pid=8
Tue Jun 17 01:33:48 2008
ALTER DATABASE  orastd MOUNT
***
Corrupt block relative dba: 0x00000003 file=0. blocknum=3.
Fractured block found during controlfile block read
Data in bad block - type:0. format:0. rdba:0x00000000
last change scn:0x0000.00000000 seq:0x0 flg:0x00
consistancy value in tail 0x00000000
check value in block header: 0x0, check value not calculated
spare1:0x0, spare2:0x0, spare2:0x0
LGWR: terminating instance due to error 227
Instance terminated by LGWR, pid = 5574
0
 
LVL 23

Expert Comment

by:David
ID: 21804079
That's not good...  
Corrupt block relative dba: 0x00000003 file=0. blocknum=3.
Fractured block found during controlfile block read
Data in bad block - type:0. format:0. rdba:0x00000000
0
 

Author Comment

by:bodi77
ID: 21804099
those were not the words I wanted to hear.  I wanted to hear oh that's a simple fix.

So do you know how to fix it?
0
 
LVL 34

Assisted Solution

by:johnsone
johnsone earned 500 total points
ID: 21804357
You are going to have to restore at least the file that is referenced in the alert log message.

Based on the file number it is probably the SYSTEM tablespace.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

From implementing a password expiration date, to datatype conversions and file export options, these are some useful settings I've found in Jasper Server.
Never store passwords in plain text or just their hash: it seems a no-brainier, but there are still plenty of people doing that. I present the why and how on this subject, offering my own real life solution that you can implement right away, bringin…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
This video shows how to copy an entire tablespace from one database to another database using Transportable Tablespace functionality.

867 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now