今天遇到一个系统,数据库无法正常运行,查看数据库的进程发现数据库已宕,结果如下:
[oracle@xiaowu ~]$ ps -ef | grep ora_
oracle 6218 6161 0 09:39 pts/2 00:00:00 grep ora_
用超级管理员用户登录数据库时,系统报 ORA-00020 的错误,很奇怪,数据库未启动,还报进程数超上限的错误。
[oracle@xiaowu ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Wed Oct 23 10:48:12 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
ERROR:
ORA-00020:maximum number of processes (500) exceeded
Enter user-name:
解决 ORA-00020 错误,加大processes的参数值即可,但是需要正常启动数据库并成功登陆后才能修改,但是现在数据库都无法正常启动,
一时想不到解决方法,最后求助资深DBA解决,方法如下:
首先通过加参数 “-prelim” 成功登陆数据库
[oracle@xiaowu ~]$ sqlplus
-prelim
/ as sysdba
SQL*Plus: Release 11.2.0.1.0 Production 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 parameter processes;
exit;
有个参数 “-prelim”的详细介绍,请看文章:
http://blog.sina.com.cn/s/blog_ad6555610101ar46.html
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8109090/viewspace-2120626/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8109090/viewspace-2120626/