今天登录oracle数据时遇到了 ora-01033 : oracle initialization or shutdown in progress这个问题,公司服务器的数据库是9i的,用vm登录把服务器上的db和API都重启了登录还是报错,然后在网上查了下ora-01033相关的资料我的解决方法具体如下:
首先,我先确定oracle服务oracle实例和监听服务是否启动,我查看时这两个服务是出于正常启动的状态,所以为了以防万一我把这两个服务重新启动了一次,再次登录还是无法登录成功;
然后,查看注册表里的oracle_sid,在HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEO里没有发现ORACLE_SID,所以在我的电脑-属性-高级-环境变量里面新增了一个系统变量,新增的系统变量:变量名=oracle_sid,变量值就是登录sqlplus输入的主机字符串(即tnsnames.ora文件里面配置的名称),创建好改变量后,接着登录发现问题依然存在。
接着在cmd里面使用sqlplus/nolog进行登录,
然后sql>conn sys/sys as sysdba如图:
SQL>startup 启动服务,观察启动时有无数据文件加载报错,并记住出错数据文件如图:
sql>select group#,sequence#,archived,status from v$log 如图:
可以发现,被删除的日志不是当前日志组的成员,解决就比较简单了:
因为我的库是非归档的,所以所以要用alter database clear unarchived logfile group1;
到这步,在重新登录数据库,顺利进入,问题算是解决了。
ps:之前因为公司有oracle开发的项目让我了解了下,但是后面就没有下文了,上个月正式被调到oracle开发组,算是一个新的学习机会吧,希望大家多多指导!