6.16.2013

ORA-01115: IO error reading block from file (block # ) - a list of common causes

There are situations when a single issue could arise for different reasons. Will list out some of the common causes of an 'ORA-01115: IO error reading block from file  (block # )' error over here.

Typically, when Oracle failed to read a data block from an open data file, it throws an ORA-01115 error.  Before you suspect any database issue, it is advised to have a close look at the error message stack presented before and after the ORA-01115 error in the database alert.log file. As there could be a different reason for this error when comparing the same error over the net or previous occurrence, it is pretty important that you isolate the issue looking at the other error messages represented along with this error.

One of the following would be the most common reasons for the error:
  • the datafile in the context is OFFLINE
  • database might have lost communication with the underlying ASM instance
  • caused by any hardware problems
  • physical data block corruption at the storage level
  • a Oracle BUG
We have encountered similar issue in one of our RAC databases due to communication loss with the underlying ASM instance. Here is the alert.log entries:

WARNING: ASM communication error: op 0 state 0x0 (15055)
ERROR: direct connection failure with ASM
ERROR: paging ASM fault extent map failed gn=28 fn=256 extet=715
Errors in file /u00/app/oracle/diag/rdbms/xxxDB/xxxDB2/trace/xxxDB2D2_ora_21886.trc:
ORA-00704: bootstrap process failure
ORA-01115: IO error reading block from file  (block # )
ORA-01110: data file 1: '+DG_DATA/xxxdb/datafile/system.256.680619545'
ORA-15055: unable to connect to ASM instance
ORA-15055: unable to connect to ASM instance
ORA-00020: maximum number of processes (100) exceeded
ORA-00704: bootstrap process failure
ORA-01115: IO error reading block from file  (block # )
ORA-15055: unable to connect to ASM instance
ORA-15055: unable to connect to ASM instance
ORA-00020: maximum number of processes (100) exceeded
Error 704 happened during db open, shutting down database
USER (ospid: 21886): terminating the instance due to error 704
Instance terminated by USER, pid = 21886



In a nutshell, you must examine the error stack message when you encounter similar issue to diagnose the real cause of the problem.

NOTE: I welcome your inputs, additions and you want to share your experience on this issue.

No comments: