客户反应工作站软件偶尔会出现连接不上后台的情况,等待一段时间可以连接上,初步怀疑是连接数不够问题。以下为日志一部分报错内容。

 

第一处日志

Mon Sep 26 15:06:59 2011

Process m000 died, see its trace file

Mon Sep 26 15:06:59 2011

ksvcreate: Process(m000) creation failed

Mon Sep 26 15:08:06 2011

Process m001 died, see its trace file

Mon Sep 26 15:08:06 2011

ksvcreate: Process(m001) creation failed

Mon Sep 26 15:11:26 2011

Process J000 died, see its trace file

Mon Sep 26 15:11:26 2011

kkjcre1p: unable to spawn jobq slave process

Mon Sep 26 15:11:26 2011

Errors in file /home/oracle/orabase/admin/ORACLE/bdump/oracle_cjq0_28852.trc:

第二处日志

ORA-00444: background process "EMN0" failed while starting

ORA-00020: maximum number of processes () exceeded

Mon Sep 26 15:16:08 2011

Process J000 died, see its trace file

Mon Sep 26 15:16:08 2011

kkjcre1p: unable to spawn jobq slave process

Mon Sep 26 15:16:08 2011

Errors in file /home/oracle/orabase/admin/ORACLE/bdump/oracle_cjq0_28852.trc:

根据提示信息可以了解到系统无法生成job相关的进程,同时达到processes最大限制而出错的。

 

查看系统processessessions

SQL> show parameter processes

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

aq_tm_processes                      integer     0

db_writer_processes                  integer     1

gcs_server_processes                 integer     0

job_queue_processes                  integer     10

log_archive_max_processes            integer     2

processes                            integer     150

SQL> show parameter sessions

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

java_max_sessionspace_size           integer     0

java_soft_sessionspace_limit         integer     0

license_max_sessions                 integer     0

license_sessions_warning             integer     0

logmnr_max_persistent_sessions       integer     1

sessions                             integer     170

shared_server_sessions               integer

SQL>

查看当前系统的processes

SQL> select count(*) from v$process;

 

  COUNT(*)

----------

       148

 

SQL>

明显是processes数目不够导致报错信息。修改processes连接数为300.重启数据库问题不再出现。

 

备注:

 

1kkjcre1p: unable to spawn jobq slave process

报错原因大约有几种可能:

 

    1、参数job_queue_processes设置过小。

    2、参数sessionprocesses设置的会话数及连接数不能满足业务需求。

    3、参数pga_aggregate_target被耗尽。

    4OS资源被耗尽。

 

本案例中为processes最大数已达到最大限制所以出现报错。

 

2:

Oracle后台进程中含有ora_j000_ORACLEora_j0001_ORACLE,该进程都是由后台进程cjq0(协调程序作业队列后台进程)产生的slave process,这些ora_j000就是job进程,也正是由初始化参数 job_queue_processes控制其最大数量。