Email: service@parnassusdata.com 7 x 24 online support!
Unable to open the database after data block corruption
O.S-windows vista enterprise(Personal PC),
oracle 11.1.0.2.0
I am getting the following error, please help to fix:
I am unable to recover data file &open database.
SQL> conn sys as sysdba
Enter password:
Connected to an idle instance.
SQL> startup open
ORACLE instance started.
Total System Global Area 644468736 bytes
Fixed Size 1376520 bytes
Variable Size 251662072 bytes
Database Buffers 385875968 bytes
Redo Buffers 5554176 bytes
Database mounted.
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00604: error occurred at recursive SQL level 1
ORA-01578: ORACLE data block corrupted (file # 1, block # 665)
ORA-01110: data file 1: 'C:\ORACLE\ORADATA\GIRO\SYSTEM01.DBF'
Process ID: 6132
Session ID: 767 Serial number: 3
SQL> recover datafile 'C:\ORACLE\ORADATA\GIRO\SYSTEM01.DBF';
ERROR:
ORA-03114: not connected to ORACLE
SQL> shutdown immediate
ORA-24324: service handle not initialized
ORA-01041: internal error. hostdef extension doesn't exist
SQL>
Answer:
You cannot recover media failure in noarchivelog mode. The best you can do is use a data recovery service like PRM-DUL http://www.parnassusdata.com/en/oracle-dul or Oracle's expensive service unless you get lucky and Aman's suggestion works. Support might have some help since it is the system data file, but I wouldn't hold my breath.
This is why you take backups.
If all the data you need is character type, you might try the unix strings command.