今天启动数据库时莫名其妙的来了一个,ORACLE initialization or shutdown in progress。
排查过程:services.msc检查oracle服务,均为开启状态;重启后还是不能解决问题。看来,问题可能出在数据库服务器上,那就先检查数据库服务器,通过网上各路教程:总之,根据提示的错误代号就是数据库的归档日志文件有问题,找到了问题根源后,通过下面步骤,最终解决。
cmd命令进入DOS环境登陆数据库服务器
第一步:
C:\Users\Administrator>sqlplus/nolog
第二步:
SQL> connect sys/mt123 as sysdba
第三步:
SQL> shutdown normal
第四步:
SQL> startup mount
第五步:(这步可能需要反复执行,直到出现下面的错误提示。执行后,程序报错,提示数据库错误ORA-16040和ORA-00312,在百度上搜这两个错误的解决方法,基本上都是说数据库的归档日志文件有问题,需要修复才能继续。)
SQL> alter database open
ERROR at line 1:
ORA-00314: log 2 of thread 1, expected sequence# doesn't match
ORA-00312: online log 2 thread 1:
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG
第六步:执行这三个命令,清除归档日志。
SQL>alter database clear unarchived logfile group 1;
SQL>alter database clear unarchived logfile group 2;
SQL>alter database clear unarchived logfile group 3;
第七步:
SQL> alter database open
第八步:查看状态
SQL>select instance_name,status from v$instance;
出现下面 orcl open即显示回复成功
INSTANCE_NAME STATUS
---------------- ------------
orcl OPEN