发生原因:
关闭数据库是shutdown 后面没有接关闭参数中的任何一个。
nomal --->所有连接都断开时才能关闭;
transactional --->等待事务结束后,主动断开连接;
immediate --->主动断开事务和连接
abort --->立刻关闭数据库,这个操作是危险的,不会同步数据,不触发检查点,回滚段直接清 空,相当于掉电,每次启动都要实例恢复。
所以,数据库关闭很慢,这时我一心急,就直接退出了sqlplus,造成oracle文件被lock,当我再次startup时,操作失败,因为文件依然被锁定状态。报错ORA-01012: not logged on。
解决办法:
解决问题思路:
1、等数据库访问连接数下降用户再登录
2、sqlplus “/ as sysdba”登陆后
shutdown abort
3、ps -ef|grep ora_dbw0_$ORACLE_SID
kill -9 pid
4、kill掉一些不重要的session
5、sqlplus /nolog
conn /as sysdba
startup
我用第二种方法:shutdown abort之后,重新启动sqlplus,就没有问题了