今天刚以上收到了系统预警短信,是OA的数据库系统,登录到服务器上,发现链接数据库报错。
[Oracle@oadb ~]$ sqlplus / as sysdba
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