ora-00020 超出最大进程数

本文针对Windows Server 2008环境下Oracle 11g出现的ORA-00020错误进行了详细分析。介绍了该错误的原因及可能的解决方案,包括调整最大进程数设置以及关闭DBControl服务等方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.问题描述

     Windows Sever 2008 64位,Oracle 11g 11.2.0.4.0,通过RMAN还原之后,Oracle数据库启动之后,几小时之后,没有做什么事情,再次连接,发现ORA错误,错误如下:“ora-00020:maiximun number of process(150)  exceeded.”

2.ora-00020解释

    1)含义:超出最大进程数(150)。

    2)原因:资源打开之后,没有及时的关闭;另一种说法:资源打开之后不正常的关闭界面造成数据库中的进程处于‘不活动(inactive)’状态。

3.尝试方法

    查阅网上资料,方法有以下几类:

   1)修改oracle最大进程数目:
     以sysdba的身份登陆SQL*PLUS,执行alter system set process=数值 scope=spfile;   创建pfile:create pfile  from spfile;   重启oracle服务(shutdown immediate,startup)。

      通过这种方法更改最大进程为500之后,重启数据库,没有程序连接数据库,第二天一早来,发现数据库又连接不上了,还是报这样的错误。再次查阅网上资料,发现有网友提出是Window的BUG问题,就如2)所述。

   2)关于DBControl服务

      SQL语句:select sid,serial#,username,program,machine,status from v$session  where status='incative',发现username为sysman用户下,program为OMS的程序,有大量的OMS处于‘非活动’状态; 
     SQL语句:
select count(*) from v$session;select count(*) from v$process;通过这两句查找当前会话数的进程数,发现这两项值在不断的变大。

      关闭DBControl服务,发现当前进程数和会话数变小了,没有原来的大,而且OMS程序为’inactive’状态的记录没有。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8043290/viewspace-1458674/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8043290/viewspace-1458674/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值