之前使用oracle的时候出现过两次这种错误,后来发现是由于某些操作误删了日志文件导致的。所以这里提供可以解决的办法:库是oracle 9i,具体就是90的。
现象:Plsqldeveloper无法连接,显示以下错误: ORA-01033: ORACLE initialization or shutdown in progress ,Enterprise Manager Console中也是同样的错误。
原因:应该是Oracle在启动后,用户登录时是要将方案中原有配置信息装载进入,装载过程中遇到原有文件指定的位置上没有找到,所以就报出错误。
这里解决的方法是重做日志:
1
先在windows下运行cmd,进入DOS环境
2
以DBA用户登录,具体命令是
sqlplus /NOLOG
SQL>connect sys/change_on_install as sysdba
提示:已成功
3
SQL>shutdown normal
提示:数据库已经关闭
已经卸载数据库
ORACLE 例程已经关闭
SQL>startup mount
提示:ORACLE例程已经启动
数据库装载完毕
4
SQL>select * from v$log;
查看系统日志,看看与oracle/oradata/oradb的日志是否匹配,发现目录下丢失某些日志文件
5
创建新的日志组
alter database add logfile group 4 ('C:/ORACLE/ORADATA/ORADB/REDO04.LOG') size 1024k;
alter database add logfile group 5 ('C:/ORACLE/ORADATA/ORADB/REDO05.LOG') size 1024k;
6
切换当前日志到新的日志
alter system switch logfile;
alter system switch logfile;
7
删除旧的日志组
alter database drop logfile group 2;
alter database drop logfile group 3;
alter database add logfile group 2 ('C:/ORACLE/ORADATA/ORADB/REDO02.LOG') size 10M;
alter database add logfile group 3 ('C:/ORACLE/ORADATA/ORADB/REDO03.LOG') size 10M;
alter system switch logfile;
alter system switch logfile;
alter database drop logfile group 4;
alter database drop logfile group 5;
SQL>connect internal
SQL> alter database backup controlfile to trace resetlogs
已经卸载数据库。
ORACLE 例程已经关闭。
SQL>startup;
ORACLE 例程已经启动。
数据库装载完毕。
数据库已经打开。
问题解决!