On Windows Server 2008 R2, when I am trying to startup Oracle 11g database it shows an error:

SQL> startup
ORACLE instance started.

Total System Global Area 3206836224 bytes
Fixed Size                  2180024 bytes
Variable Size            1996491848 bytes
Database Buffers         1191182336 bytes
Redo Buffers               16982016 bytes
ORA-00204: error in reading (block 3, # blocks 8) of control file
ORA-27070: async read/write failed
OSD-04006: ReadFile() failure, unable to read from file
O/S-Error: (OS 1117) The request could not be performed because of an I/O device error.

The disk is online.

Can any one help me how to resolve this issue?


3 Answers 3


if you do not have problems with your disks and the controlfile is corrupted you can do the following: start the database in nomount (startup nomount), then check the output of the command

show parameter control

(run the command in sqlplus). If the command shows more than one control file, you can overwrite D:\APP\FROZEN\ORADATA\ORCL\CONTROL01.CTL with onw of the others controlfile listed in the output.

Alternatively you can try to overwrite the bad controlfile with the snapshot controlfile:

The snapshot control file is a copy of a database control file created in an operating system-specific location by RMAN. RMAN creates the snapshot control file so that it has a consistent version of a control file to use when either resynchronizing the recovery catalog or backing up the control file.

In Windows the default location should be


The name of the snapshot controlfile should be:


If you can't solve in this way, you have to restore the controlfile from backup. Regards Giova


While investigating the cause of the problem we must be able to find the problem area. The top most error(ORA-00204) says that the Oracle process is unable to read the block from control file.
Second error(ORA-00202) specifies the name of the control file which the Oracle process is unable to access and read.
The exact error is OSD-04006, that this is purely Operating System error. Check for possible faulty hardware and disk corruption on the disk device. You should check OS error logs as well as Oracle alert log. ORA-00204 error in reading (block %s, # blocks %s) of control file is raised when a disk I/O failure is detected on reading the control file.
Action: Check if the disk is online, if it is not, bring it online and try to restart the host server. If it is online, then you need to recover the disk. Also check the permission on the file. If control file or disk is corrupted then you should arrange new disk. If you have backup of control file then you are in the safe side :). In my experience, this was the cause of bad sectors in Hard Disk.


Solution that worked(SLES Linux):

  1. Cut a file cntrlSID.dbf from path /oracle/SID/origlogA to other path.
  2. Copy cntrlSID.dbf from path /oracle/SID/origlogB/ to /oracle/SID/origlogA/
  3. chown -R orasid:dba /oracle/SID/origlogA/cntrlSID.dbf SQL> startup;

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.