周末机房UPS故障,一台Win2003服务器断电后Oracle无法启动,报错如下:
SQL> startup
ORACLE instance started.
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
ORA-00214: controlfile 'D:\ORACLE\ORADATA\ORCL\CONTROL02.CTL' version 1121
inconsistent with file 'D:\ORACLE\ORADATA\ORCL\CONTROL01.CTL' version 1119
经分析为控制文件错误,使用'D:\ORACLE\ORADATA\ORCL\CONTROL03.CTL' 覆盖错误的控制文件
覆盖后,startup mount 成功,但切换到open状态时报错:
Errors in file d:\oracle\admin\orcl\udump\orcl_ora_1168.trc:
ORA-00600: internal error code, arguments: [kcratr1_lostwrt], [], [], [], [], [], [], []
ORA-600 signalled during: alter database open...
检查trc文件:
Redo thread mounted by this instance: 1
Oracle process number: 15
Windows thread id: 1168, image: ORACLE.EXE
*** SESSION ID:(9.23) 2010-08-23 08:54:02.000
----- Redo read statistics for thread 1 -----
Read rate (ASYNC) = 97802Kb/sec => 195605 blocks in 1s
Read buffer = 8192Kb (16384 blocks)
Longest record = 8Kb
Record moves = 9/353811 (0%)
----------------------------------------------
Last BWR afn: 2 rdba: 0x8006fd(blk 1789) ver: 0x03a7.40852daa.01 flg: 0x04
Disk version: 0x03a7.3f6f3d7c.01 flag: 0x04
*** 2010-08-23 08:54:02.000
ksedmp: internal or fatal error
, [], [], [], [], [], [], []
Current SQL statement for this session:
alter database open
经分析为介质错误,执行数据库介质恢复:
startup mount
conn /as sysdba
recover database
修复后数据库启动成功
阅读(1696) | 评论(1) | 转发(0) |