Urgent: how to solve ORA-01172 and ORA-01151?
JinranOct 11 2006 — edited Oct 18 2006I don't know exactly when and how the machine froze. As a result, we couldn't access the 10g database after we rebooted the machine. it's 10g R2, and OS is Win 2003 Server. We took the following troubleshooting steps --
1. reboot machine - DONE - no change
2. attempt recovery / restart - DONE - error indicating init.ora files are out of sync
3. copy init.ora to C:\ as a backup - DONE
4. edit original init.ora to point at control file on P drive - DONE
5. restart - DONE - no change
6. edit original init.ora to point at control file on Q drive - DONE
7. restart - DONE - listener came up but DB still down
8. tried restart - received this error:
"SQL*Plus: Release 10.2.0.1.0 - Production on Tue Oct 10 18:58:17 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> SQL> Connected.
SQL> ALTER DATABASE open
*
ERROR at line 1:
ORA-01172: recovery of thread 1 stuck at block 627892 of file 26
ORA-01151: use media recovery to recover block, restore backup if needed"
When we tried recovery --
1. logged in as DBA, now prompted with this screen when i attempt recovery:
---- prompted with "restore all datafiles"
---- then prompted with: The database is currently in NOARCHIVELOG mode. To restore the whole database, you need to restore both the control file and the whole database from the same backup. The database will be shut down and brought to the NOMOUNT (STARTED) state to restore the control file first. Are you sure you want to shut down the database now? - selecting YES
2. after a few minutes - screen refreshed with no status change to db - listener is up, but agent and instance are down
3. tried a few more things to no avail.
And here's a piece in alert log file --
"Hex dump of (file 26, block 636287) in trace file o:\oracle\admin\content2\udump\content2_ora_2756.trc
Corrupt block relative dba: 0x0689b57f (file 26, block 636287)
Fractured block found during crash/instance recovery
......
......
Errors in file o:\oracle\admin\content2\udump\content2_ora_2756.trc:
ORA-01172: recovery of thread 1 stuck at block 627892 of file 26
ORA-01151: use media recovery to recover block, restore backup if needed
......"
The situation is we don't have datafile backup (big lesson to learn). I asked around and people said that I can offline file 26 or maybe do an offline drop. But how can I know which file is file 26? (I checked alert log file, didn't find any information on that.) And which steps should I take to make it offline? Or what can I do to skip file 26? Did I do anything wrong so far in the above steps?
Luckily we have exported the latest data. So if I could make the database up (or rebuild an empty database), I still have good data to import. But I couldn't even access DB right now.
Anything I can do to make the database work?
I'm new in DBA area. And it's urgent. Any recommendation/suggestion/instruction is welcomed. Thanks a lot!
Message was edited by:
Jinran
Message was edited by:
Jinran