ORA-00020: maximum number of processes (40) exceeded模拟会话连接数满

ORA-00020: maximum number of processes (40) exceeded模拟会话连接数满,第1张

概述问题描述:在正式生产环境中,有的库建的process和session连接数目设置的较小,导致后期满了无法连接。因为正式库无法进行停库修改,只能释放连接,做个测试模拟 1. 修改现有最大会话与进程连接数

问题描述:在正式生产环境中,有的库建的process和session连接数目设置的较小,导致后期满了无法连接。因为正式库无法进行停库修改,只能释放连接,做个测试模拟

1. 修改现有最大会话与进程连接数

sql> alter system set processes = 35 scope = spfile;System altered.sql> alter system set sessions = 40 scope = spfile;System altered.

2.重启生效,加大连接数

通过打开会话框以及连接plsql窗口制造连接数

 

 

 制造到一定数目时,会发现sqlplus已经登陆不上去

 

后台日志:

ORA-00020: maximum number of processes (40) exceeded

 ORA-20 errors will not be written to the alert log for

 the next minute. Please look at trace files to see all

 the ORA-20 errors.

 

此时的连接数情况

 

sql> select count(*) from v$process;  COUNT(*)----------    39sql>  v$session;  COUNT(*36

 

3.删除无效session

<一> plsql删除会话

 

 

 

选中要删除的会话,删除完后在后台不会直接释放,在连接窗口执行命令会发现会话和已经被killed掉,然后这边后台释放完成

 

 

 

<二>  sqlplus删除会话

查询会话

sql> select username,status,wait_time,last_call_et  v$session;USERname               STATUS     WAIT_TIME LAST_CALL_ET------------------------------ -------- ---------- ------------                   ACTIVE         0       18741873186918681858SYS                   INACTIVE      1805SYS                   ACTIVE        -1          0USERname               STATUS     WAIT_TIME LAST_CALL_ET------------------------------ -------- ---------- ------------SYstem                   INACTIVE      182617110        826180917051633141718131757SCott                   INACTIVE      0         24156736 rows selected.

生成kill会话语句

 

sql> select 'alter system kill session  '''||sID||,'||serial#||''';'from v$session where LAST_CALL_ET>500 AND status=INACTIVE;ALTERSYstemKILLSESSION'''||SID||'||SERIAL#||'--------------------------------------------------------------------------------alter system kill session  11,1;alter system kill session  26,2128,2929,751,352,953,1)">64,1)">69,1773,3174,575,1312 rows selected.

 

执行sql语句

sql> alter system kill session  ;sql> alter system kill session  ';

在后台其中一个连接会话执行命令,已经语法执行

sql> archive log List;

ORA-00028: your session has been killed

 

<三> *** 作系统kill会话

查询不活跃会话的sID,转换为 *** 作系统的pID,通过 *** 作系统进行kill掉进程

 

sql> where status=;USERname                  SID    SERIAL# STATUS   LAST_CALL_ET------------------------------ ---------- ---------- -------- ------------SYS                       11       3 INACTIVE           34028      31 INACTIVE           25851       5 INACTIVE           26752      11 INACTIVE           25553      25369      19 INACTIVE           261SCott                       74       7 INACTIVE         7SYstem                       75      13 INACTIVE          3429

 

sID转换spID

 

select spID from v$process where addr in (select paddr where sID=11); 28515253697475);

 

*** 作系统进程kill

[oracle@orcl ~]$ kill -9 5294[oracle@orcl ~]$ kill -53915384-bash: kill: (5384) - No such process[oracle@orcl ~]$ kill -53935395538954134996

查看现有连接,已经被释放

sql> archive log List;

ORA-03135: connection lost contact

 

查看连接数据库连接数

sql> select count(*) from v$session;

 

  COUNT(*)

----------

29

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

 

  COUNT(*)

----------

35

 

<四> ALTER SYstem disCONNECT SESSION

POST_TRANSACTION表示等待事务完成后断开会话,IMMEDIATE表示中断会话,立即回滚事务。使用immediate可以立即释放会话
sql> ALTER SYstem disCONNECT SESSION 'sID,serial#' POST_TRANSACTION;
sql> ALTER SYstem disCONNECT SESSION 'sID,serial#' IMMEDIATE;

 

<五> 增加进程和会话数,不过要停库

1.查看processes和sessions参数show parameter processesshow parameter sessionsfrom v$session ; --当前的session连接数from v$process ; --当前的数据库连接数select value from v$parameter where name =processes'; --数据库允许的最大连接数2.修改processes和sessions值alter system set processes=1000 scope=spfile;alter system set sessions=1105 scope=spfile;
3.重启数据库shutdown immediate;startup;

 

 

 

 

 

总结

以上是内存溢出为你收集整理的ORA-00020: maximum number of processes (40) exceeded模拟会话连接数满全部内容,希望文章能够帮你解决ORA-00020: maximum number of processes (40) exceeded模拟会话连接数满所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1151815.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存