ORA-00020:maximum number of processes (500) exceeded 错误解决方法

2015-07-23 18:07:59 · 作者: · 浏览: 10

今天刚以上收到了系统预警短信,是OA的数据库系统,登录到服务器上,发现链接数据库报错。


SQL*Plus: Release 11.2.0.4.0 Production on Tue Jul 21 10:38:28 2015


Copyright (c) 1982, 2013, Oracle.? All rights reserved.


ERROR:
ORA-00020: maximum number of processes (500) exceeded


根据报错信息是由于processes进程数达到了最大值。


?此参数是静态参数,修改后需要启动数据库。


SQL> set linesize 1000
SQL> show parameter processes


NAME? ? ? ? TYPE? ? ? VALUE
?------------------------------------ ---------------------- ------------------------------
?aq_tm_processes? ? ? ? integer? ? ? 1
?db_writer_processes? ? ? integer? ? ? 3
?gcs_server_processes? ? ? integer? ? ? 0
?global_txn_processes? ? ? integer? ? ? 1
?job_queue_processes? ? ? integer? ? ? 1000
?log_archive_max_processes? ? ? integer? ? ? 4
?processes? ? ? ? integer? ? ? 500


系统生产系统,不能重启数据库,好在系统过了一会儿恢复正常了。
?此系统是一套OA系统,由于早晨过多人处理办公事务,过多的用户访问造成的。
?解决方案:
?在系统空闲时,修改系统参数,重启数据库。
SQL> alter system set processes=1000 scope=spfile;
?SQL>SHUTDOWN IMMEDIATE;
?SQL>STARTUP;
?SQL> show parameter processes


NAME? ? ? ? TYPE? ? ? VALUE
?------------------------------------ ---------------------- ------------------------------
?aq_tm_processes? ? ? ? integer? ? ? 1
?db_writer_processes? ? ? integer? ? ? 3
?gcs_server_processes? ? ? integer? ? ? 0
?global_txn_processes? ? ? integer? ? ? 1
?job_queue_processes? ? ? integer? ? ? 1000
?log_archive_max_processes? ? ? integer? ? ? 4
?processes? ? ? ? integer? ? ? 1000