Database not able to startup showing an error in reading control file On Windows Server 2008 R2, when I am trying to startup Oracle 11g database it shows an error:

SQL&gt; 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-00202: control file: 'D:\APP\FROZEN\ORADATA\ORCL\CONTROL01.CTL'
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?
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 

%ORACLE_HOME%/database


The name of the snapshot controlfile should be:

snapcf_instancename.f


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