日期:2014-05-16  浏览次数:20579 次

Oracle undo表空间损坏的修复(转)

?

Oracle undo表空间损坏的修复(转)

?

来自:http://blog.csdn.net/cockcrow/archive/2006/02/14/598703.aspx
环境:
windows 2003
oracle 9.2.0.1
noarchivelog

故障行为:
数据库运行时,直接拔电导致无法启动。

我把他发来的数据库文件在本地建了个库,然后启动,检查故障信息。

C:\>sqlplus /nolog

SQL*Plus: Release 9.2.0.1.0 - Production on Tue Feb 14 13:49:00 2006

Copyright (c) 1982, 2002, Oracle Corporation.? All rights reserved.

SQL> connect sys/manager as sysdba
Connected.
SQL> startup pfile='d:\oracle92\ora92\database\inittest.ora'
ORA-01081: cannot start already-running ORACLE - shut it down first
SQL> shutdown abort
ORACLE instance shut down.
SQL> startup pfile='d:\oracle92\ora92\database\inittest.ora'
ORACLE instance started.

Total System Global Area?? 93395628 bytes
Fixed Size?????????????????? 453292 bytes
Variable Size????????????? 75497472 bytes
Database Buffers?????????? 16777216 bytes
Redo Buffers???????????????? 667648 bytes
Database mounted.
ORA-03113: end-of-file on communication channel

SQL>

查看alert log:

Beginning crash recovery of 1 threads
Tue Feb 14 13:50:53 2006
Started recovery at
?Thread 1: logseq 368, block 1462, scn 0.0
Recovery of Online Redo Log: Thread 1 Group 1 Seq 368 Reading mem 0
? Mem# 0 errs 0: D:\ORACLE92\ORADATA\TEST\REDO01.LOG
***
Corrupt block relative dba: 0x0080000e (file 2, block 14)
Fractured block found during media/instance recovery
Data in bad block -
?type: 2 format: 2 rdba: 0x0080000e
?last change scn: 0x0000.0646b03b seq: 0x3 flg: 0x04
?consistency value in tail: 0xec0b0203
?check value in block header: 0x2790, computed block checksum: 0x7ca0
?spare1: 0x0, spare2: 0x0, spare3: 0x0
***
Reread of rdba: 0x0080000e (file 2, block 14) found same corrupted data
***
Corrupt block relative dba: 0x0080078e (file 2, block 1934)
Fractured block found during media/instance recovery
Data in bad block -
?type: 2 format: 2 rdba: 0x0080078e
?last change scn: 0x0000.064a39c9 seq: 0x1 flg: 0x04
?consistency value in tail: 0xac2e0201
?check value in block header: 0x23b8, computed block checksum: 0xf3e9
?spare1: 0x0, spare2: 0x0, spare3: 0x0
***
Reread of rdba: 0x0080078e (file 2, block 1934) found same corrupted data
***
Corrupt block relative dba: 0x008005ee (file 2, block 1518)
Fractured block found during media/instance recovery
Data in bad block -
?type: 2 format: 2 rdba: 0x008005ee
?last change scn: 0x0000.064a43e1 seq: 0x3 flg: 0x04
?consistency value in tail: 0x49c30201
?check value in block header