今天测试用的ORACLE服务器出现卡顿情况,于是准备重启一下,在运行shutdown指令关闭数据库的时候意外断开连接,后面想再次进入ORACLE服务器启动时便遇见如下报错:
-
使用
sqlplus /nolog
进入SQL Plus后,想连接数据库
conn username/password as sysdba
时,会报
Connected to an idle instance.
错误。 -
在SQL Plus界面,想直接
startup
启动数据库时,会报
ORA-01012: not logged on
错误。
通过查阅资料,判断报错原因是在关闭数据库意外退出后,ORACLE一直处于锁定状态,不再允许其他操作。
个人的解决方法是:
- 先关闭ORACLE进程:
ps -ef|grep ora_dbw0_$ORACLE_SID //找到ORACLE进程
kill -9 PID //通过找到的进程PID号kill掉该进程
- 然后重启ORACLE:
sqlplus /nolog //进入SQL Plus
startup //启动ORACLE
最后附上关闭ORACLE的命令说明,以免造成错误的关闭操作:
- shutdown normal(所有连接断开后关闭数据库)
- shutdown transactional(所有事务结束后主动断开连接,并关闭数据库)
- shutdown immediate(主动断开连接和事务)
-
shutdown abort(立即关闭数据库,由于该操作不会同步数据,清空回滚段,不触发检查点,所以
比较危险
,每次启动需要实例恢复)
转载于:https://www.cnblogs.com/honoka/p/4798130.html