未完全关闭数据库导致ORA-01012: not logged的解决
首先使用SHUTDOWN NORMAL方式关闭数据库,在数据库未关闭时CTRL+Z停止执行,退出用SQLPLUS重登陆,出现报错:ORA-01012: not logged on
实验如下:
首先执行
SYS@bys1>shutdown
ORA-01013: user requested cancel of current operation
[oracle@bys001 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Sat Sep 7 09:05:08 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected.
ERROR:
ORA-01012: not logged on
Process ID: 0
Session ID: 0 Serial number: 0
SYS@bys1>startup
ORA-01012: not logged on
SYS@bys1>conn / as sysdba
Connected to an idle instance.
ERROR:
ORA-01012: not logged on
Process ID: 0
Session ID: 0 Serial number: 0
SYS@bys1>conn bys/bys
ERROR:
ORA-01090: shutdown in progress - connection is not permitted
Process ID: 0
Session ID: 0 Serial number: 0
Warning: You are no longer connected to ORACLE.
解决方法:
找到进程,kill掉就可以了。
[oracle@bys001 ~]$ ps -ef |grep ora_dbw0_
oracle 6519 1 0 Sep06 ? 00:00:15 ora_dbw0_bys1
oracle 20947 20924 0 09:08 pts/0 00:00:00 grep ora_dbw0_
[oracle@bys001 ~]$ kill -9 6519
[oracle@bys001 ~]$ ps -ef |grep ora_dbw0_
oracle 20949 20924 0 09:08 pts/0 00:00:00 grep ora_dbw0_
[oracle@bys001 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Sat Sep 7 09:08:22 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
SYS@bys1>startup
ORACLE instance started.
Total System Global Area 631914496 bytes
Fixed Size 1338364 bytes
Variable Size 264242180 bytes
Database Buffers 360710144 bytes
Redo Buffers 5623808 bytes
Database mounted.
Database opened.
SYS@bys1>