ORA-01012 :not logged on的原因及其解决办法
最近安装现场的数据库后遇到了这个错误
sqlplus / as sysdba
发生原因有2个:
1.关闭数据库是shutdown 后面没有接关闭参数中的任何一个。
nomal --->所有连接都断开时才能关闭; transactional --->等待事务结束后,主动断开连接; immediate --->主动断开事务和连接 abort --->立刻关闭数据库,这个操作是危险的,不会同步数据,不触发检查点,回滚段直接清 空,相当于掉电,每次启动都要实例恢复。
如果关闭的时候没有更后面任何一个参数,直接使用了“shutdown” ,并退出了sqlplus,造成Oracle文件被lock,下次登陆数据库就会报这个错
2.当process达到数据库最大限时,sysdba登录也会报告此错误
解决办法
1.临时解决办法,shutdown abort ,重新startup 便可登陆
2.永久解决办法
不再使用shutdown 不跟参数的方式关闭数据库
扩容连接数
--查看当前连接数
select count(*) from v$process;
--查看数据库最大允许连接数
show parameter processes;
修改oracle最大允许参数值
SQL> alter system set processes=200 scope = spfile;
系统已更改。
SQL> show parameter processes;
processes integer 150
SQL> create pfile from spfile;
文件已创建。
这时重启数据库。 重启后才会生效。
SQL> show parameter processes;
processes integer 200