您的位置:首页 > 其它

"ORA-01012: not logged on"以及"Connected to an idle instance."解决思路

2015-09-10 15:52 501 查看
今天测试用的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(立即关闭数据库,由于该操作不会同步数据,清空回滚段,不触发检查点,所以比较危险,每次启动需要实例恢复)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: