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

  • Post author:
  • Post category:其他


今天测试用的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