今天遇到一个系统,数据库无法正常运行,查看数据库的进程发现数据库已宕,结果如下:
[oracle@xiaowu ~]$ ps -ef | grepora_
oracle 6218 6161 0 09:39 pts/2 00:00:00 grepora_
用超级管理员用户登录数据库时,系统报 ORA-00020的错误,很奇怪,数据库未启动,还报进程数超上限的错误。
[oracle@xiaowu ~]$ sqlplus / assysdba
SQL*Plus: Release 11.2.0.1.0Production on Wed Oct 23 10:48:12 2013
Copyright (c) 1982, 2009, Oracle.
All rights reserved.
ERROR:
ORA-00020:maximum number ofprocesses (500) exceeded
Enter user-name:
解决 ORA-00020错误,加大processes的参数值即可,但是需要正常启动数据库并成功登陆后才能修改,但是现在数据库都无法正常启动,
一时想不到解决方法,最后求助资深DBA解决,方法如下:
首先通过加参数 “-prelim” 成功登陆数据库,注意空格
[oracle@xiaowu ~]$ sqlplus
-prelim / as sysdba
SQL*Plus: Release 11.2.0.1.0Production on Wed Oct 23 11:10:09 2013
Copyright (c) 1982, 2009, Oracle.
All rights reserved.
SQL>
此时就可以正常关闭和开启数据库,安装如下命令操作解决问题:
shutdown immediate;
startup;
show parameter processes;
alter system set
processes=1000 scope=spfile;
startup force;
show parameterprocesses;
exit;
有个参数 “-prelim”的详细介绍,请看文章:
http://blog.sina.com.cn/s/blog_ad6555610101ar46.html
原文:http://blog.sina.com.cn/s/blog_ad6555610101ar4t.html
原文:http://blog.sina.com.cn/s/blog_ad6555610101ar4t.html