conn / as sysdba 报错ORA-01012: not logged on
发生原因:关闭数据库是shutdown 后面没有接关闭参数中的任何一个。
nomal --->所有连接都断开时才能关闭;
transactional --->等待事务结束后,主动断开连接;
immediate --->主动断开事务和连接
abort --->立刻关闭数据库,这个操作是危险的,不会同步数据,不触发检查点,回滚段直接清 空,相当于掉电,每次启动都要实例恢复。
所以,数据库关闭很慢,这时我一心急,就直接退出了sqlplus,造成Oracle文件被lock,当我再次startup时,操作失败,因为文件依然被锁定状态。报错ORA-01012: not logged on.
后来重启服务,就可以用了,看了oracle的报错解释,更让我费解。虽然问题解决了,但是生产环境是不能随便down机的,所以,这个问题待续…
kill oracle 进程 或者关掉oracle
ps -ef|grep ora_dbw0_$ORACLE_SID
kill -9 pid
重新启动oracle
sqlplus sys as sysdba
startup;