如题,今天遇到的问题。一个小客户,运行环境:Oracle 8i单机数据库,windows XP SP3系统。数据库连接时报 ORA-01033: ORACLE initialization or shutdown in progress 的错误。
ORA-01033 本身没什么意义。sqlplus system/manager@orcl 无法登陆。随后使用命令如下:
>sqlplus "/as sysdba"
>shutdown immediate;
>startup;
无法启动,报错:ORA-00214: control file 控制文件版本不一致
根据错误代码,百度解决方法。一路各种命令运行,又先后遇到了:
ORA-01113,ORA-01110;
ORA-01139;
ORA-01033;
ORA-01079;
ORA-00940;
ORA-01192;
ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项;
ora-01122, ora-01110, ora-01207 一组我比较熟悉的错误,可以通过恢复控制文件来解决。只是这次恢复控制文件直接报错。最后在resetlogs模式下(把重新生成控制文件命令里的noresetlogs改为resetlogs),控制文件恢复成功了。然后又在初始化配置文件中(init.ora)加上:_allow_resetlogs_corruption=true(Oracle隐藏参数,允许以resetlogs模式打开数据库),然后
>recover database until cancel;
>cancel
>alter database open resetlogs; 数据库终于成功打开。
赶紧把数据exp出来。然后删掉orcl数据库,重建orcl数据库,再把数据Imp进去。问题解决。
由于当时有点着急,没有详细记录下遇到的所有错误信息,总之是遇到一个问题就百度解决方法。
总结一下:这次数据库崩溃造成了控制文件、日志文件、system表空间文件等不一致,问题比较严重。