Oracle ORA-01033: 错误解决办法

参考:Oracle ORA-01033: ORACLE initialization or shutdown in progress 错误解决办法

问题

好久没用数据库,最近需要导数据发现数据库已经无法连接,输入用户名密码也不起作用;之前也遇到过一次,直接重新安装。但Oracle的安装过程实在有点麻烦,所以寻找其他解决方法。

IMP-00058: 遇到 ORACLE 错误 1033
ORA-01033: ORACLE initialization or shutdown in progress用户名: system
口令:

听同学说Oracle需要定期更改密码,觉得可能是这个原因,就去查找密码重置方法,密码不能用的话重置比较麻烦。
注意到找到的文章说一般是间隔180天才需要修改密码,而我距离上次重装应该没有半年,所以猜测不是这个原因。所以直接按照Oracle的错误编号来查找(Oracle这点做得很好,这个样错误容易查找),就找到了这篇 文章 ,之后的就是按照这个教程解决,文章作者没遇到但列出的问题我这里也遇到了,顺利解决。下面记录一下解决步骤:

解决步骤

第一步、sqlplus /NOLOG

第二步、SQL>connect sys/change_on_install as sysdba

提示:已成功

第三步、SQL>shutdown normal

提示:
数据库已经关闭
已经卸载数据库
ORACLE 例程已经关闭

第四步、SQL>startup mount

提示:
Total System Global Area 5110898688 bytes
Fixed Size                  2806480 bytes
Variable Size            1107299632 bytes
Database Buffers         3992977408 bytes
Redo Buffers                7815168 bytes
数据库装载完毕。

第五步、SQL>alter database open(这一步出错)

提示:
ORA-01157: 无法标识/锁定数据文件11 - 请参阅DBWR 跟踪文件
ORA-01110: 数据文件11: ''''I:\tablesapce\APP0104_DEFAULT.dbf''

看到这个APP0104_DEFAULT.dbf 想起来了,是之前往数据库里导入DMP文件时创建的,当时是在移动硬盘上的,后来硬盘被拿走了,所以Oracle找不到这些表空间了。按照提示的数据文件编号11,对表空间进行drop操作。

第六步、SQL>alter database datafile 11 offline drop

第七步、重复第五第六步,直到所有无法连接的的表空间都已经drop为止(当时创建太多,一直drop到40才结束)

第八步、输入shutdown normal, startup mount, alter database open

最后、 无需重启,使用原来的用户名密码即可登录成功;使用SQL Developer也可以连接。

至此,问题解决。

你可能感兴趣的:(数据库)