最后到网上查,说非法关机有可能引起oracle自身的bug.解决方法如下:
D:\Program Files\ORC>sqlplus /nolog
SQL*Plus: Release 10.2.0.3.0 - Production on 星期二 3月 8 14:35:36 2011
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
SQL> conn sys@实例名 as sysdba
输入口令:
已连接。
SQL> shutdown immediate;
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup nomount
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
SQL> alter database mount;
数据库已更改。
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-00600: ?????????: [kcratr1_lostwrt], [], [], [], [], [], [], []
SQL> startup
ORA-01081: ????????? ORACLE --- ?????
SQL> shutdown abort
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
ORA-00600: 内部错误代码,参数: [kcratr1_lostwrt], [], [], [], [], [], [], []
SQL> shutdown immediate
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
SQL> recover database
完成介质恢复。
SQL> alterdatabase open;
SP2-0734: 未知的命令开头 "alterdatab..." - 忽略了剩余的行。
SQL> alter database open;
数据库已更改。
SQL>
至此,问题已经解决。
评论