• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

ORA-00020:maximum number of processes 不能停机怎么办

mysql 搞代码 4年前 (2022-01-09) 20次浏览 已收录 0个评论

最近刚换了工作,不过还好,还是老本行,数据库的运维工作。比较郁闷的就是摊上了升级,后台那个报错啊!先说一下ora-00020报错吧

最近刚换了工作,不过还好,还是老本行,数据库的运维工作。比较郁闷的就是摊上了升级,,后台那个报错啊!

先说一下ora-00020报错吧!大家都知道原因,就是进程数达到上限了。

select count(*) from v$process;

show parameter processes

两个值已经无限接近或相同了。

对停机要求不高的数据库来说非常容易,那就是修改一下参数processes的值就好了,具体流程如下:

alter system set processes=2000 scope=spfile;

shutdown immediate

startup

show parameter processes

查看值是否改变成功就好了,那么要是不能停机怎么办啊

我就比较悲剧的遇到了这种情况,还在郁闷中,不过为了系统的正常运行,还是做了一些工作,正常工作是祖宗啊!

查询一下现在的进程数:

select count(*) from v$session;

查看inactive的进程数量:

select count(*) from v$session where status=’INACTIVE’;

查看哪些用户下出现的INACTIVE最多

select username,count(*) from v$session where status=’INACTIVE’ group by username;

还好我的系统存在大量的INACTIVE 的连接,那就删呗本文来源gao@daima#com搞(%代@#码网@,其实我也不知这样会不会对其他造成大的影响,和领导说明,不过还是决定删除。

declare cursor mycur is
select b.sid,b.serial# from v$session b where b.username= ‘用户名’ and b.STATUS = ‘INACTIVE’;
begin
for cur in mycur
loop
execute immediate ( ‘alter system kill session ”’||cur.sid || ‘,’|| cur.SERIAL# ||”’ ‘);
end loop;

end;

小心哦!领导同意的情况下可以这样。

相关阅读:

Oracle ORA-01555 快照过旧 说明

ORA-01078 和 LRM-00109 报错解决方法

ORA-01555超长的Query Duration时间

ORA-00471 处理方法笔记

ORA-00314,redolog 损坏,或丢失处理方法

ORA-00257 归档日志过大导致无法存储的解决办法


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:ORA-00020:maximum number of processes 不能停机怎么办

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址