视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
ORA-00020:maximumnumberofprocesses不能停机怎么办
2020-11-09 10:32:54 责编:小采
文档


最近刚换了工作,不过还好,还是老本行,数据库的运维工作。比较郁闷的就是摊上了升级,后台那个报错啊!先说一下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 的连接,那就删呗,其实我也不知这样会不会对其他造成大的影响,和领导说明,不过还是决定删除。


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 归档日志过大导致无法存储的解决办法

下载本文
显示全文
专题