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

COUNT(*)
----------
98

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

COUNT(*)
----------
99

more odsprod.log

目前系统正常

检查结果如下:

系统的进程树最大150.

当前系统连接数目如下:
SQL> select count(*) from v$session;

COUNT(*)
----------
98

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

COUNT(*)
----------
99

问题时间段发起的新连接检查数据库监听日志:
发现问题时间段以下ip 发起了大量连接。
07-JUN-2017 08:23:04 * (CONNECT_DATA=(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=einvuat))(SID=odsprod)) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.63.68)(PORT=13923)) * establish * odsprod * 0
07-JUN-2017 08:23:04 * (CONNECT_DATA=(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=einvprod))(SID=odsprod)) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.4.127)(PORT=23356)) * establish * odsprod * 0

请应用也检查下。

可能原因1 .

密码即将过期,导致帐号登陆有问题。不断重连。

需要检查profile 文件,检查设置

############

可能原因2:

ps -ef|grep oracledbprod

oracle 5861 1 0 13:01:38 ? 0:00 oracledbprod (LOCAL=NO)
oracle 5175 1 0 12:59:44 ? 0:00 oracledbprod (LOCAL=NO)
oracle 5751 1 0 13:01:03 ? 0:00 oracledbprod (LOCAL=NO)
oracle 25819 1 0 Jun 29 ? 0:20 oracledbprod (LOCAL=NO)
oracle 20312 1 0 Jul 3 ? 1:53 oracledbprod (LOCAL=NO)
oracle 27998 1 0 Jul 1 ? 3:43 oracledbprod (LOCAL=NO)
oracle 18328 1 0 Jan 11 ? 0:00 oracledbprod (LOCAL=NO)
oracle 5933 1 0 Jun 30 ? 8:35 oracledbprod (LOCAL=NO)
oracle 25377 1 0 Jun 30 ? 333:24 oracledbprod (LOCAL=NO)
oracle 18326 1 0 Jan 11 ? 0:53 oracledbprod (LOCAL=NO)
oracle 5755 1 0 13:01:03 ? 0:00 oracledbprod (LOCAL=NO)
oracle 26120 1 0 Jun 30 ? 3:21 oracledbprod (LOCAL=NO)
oracle 17508 1 0 Jun 25 ? 0:03 oracledbprod (LOCAL=NO)
oracle 18330 1 0 Jan 11 ? 0:00 oracledbprod (LOCAL=NO)
oracle 5765 1 0 13:01:03 ? 0:00 oracledbprod (LOCAL=NO)
oracle 5769 1 0 13:01:03 ? 0:00 oracledbprod (LOCAL=NO)
oracle 8001 1 0 Jun 30 ? 2:14 oracledbprod (LOCAL=NO)
oracle 28350 1 0 Jul 1 ? 0:00 oracledbprod (LOCAL=NO)
oracle 2992 1 0 Jul 3 ? 0:02 oracledbprod (LOCAL=NO)
oracle 24181 1 0 17:04:52 ? 0:00 oracledbprod (LOCAL=NO)
oracle 5179 1 0 12:59:44 ? 0:00 oracledbprod (LOCAL=NO)
oracle 5759 1 0 13:01:03 ? 0:00 oracledbprod (LOCAL=NO)
oracle 20534 1 0 Jun 30 ? 0:56 oracledbprod (LOCAL=NO)
oracle 14752 1 0 Jun 29 ? 1:09 oracledbprod (LOCAL=NO)
oracle 18324 1 0 Jan 11 ? 0:52 oracledbprod (LOCAL=NO)
oracle 7720 1 0 May 22 ? 157:56 oracledbprod (LOCAL=NO)
oracle 5169 1 0 12:59:44 ? 0:00 oracledbprod (LOCAL=NO)
oracle 7995 1 0 Jun 30 ? 0:00 oracledbprod (LOCAL=NO)
oracle 5937 1 0 Jun 30 ? 10:20 oracledbprod (LOCAL=NO)
oracle 21718 1 0 Jun 30 ? 1:33 oracledbprod (LOCAL=NO)
oracle 5877 1 0 13:01:39 ? 0:00 oracledbprod (LOCAL=NO)
oracle 6156 1 0 Jun 30 ? 3:19 oracledbprod (LOCAL=NO)
oracle 5869 1 0 13:01:39 ? 0:00 oracledbprod (LOCAL=NO)
oracle 8003 1 247 Jun 30 ? 23:06 oracledbprod (LOCAL=NO)
oracle 20310 1 0 Jul 3 ? 6:24 oracledbprod (LOCAL=NO)
oracle 26825 1 0 Jun 28 ? 10:08 oracledbprod (LOCAL=NO)
oracle 24289 1 0 Jul 1 ? 0:01 oracledbprod (LOCAL=NO)
oracle 3574 1 0 May 19 ? 97:26 oracledbprod (LOCAL=NO)
oracle 9577 1 0 Jul 3 ? 0:00 oracledbprod (LOCAL=NO)
oracle 5873 1 0 13:01:39 ? 0:00 oracledbprod (LOCAL=NO)
oracle 5939 1 0 Jun 30 ? 4:18 oracledbprod (LOCAL=NO)
oracle 8017 1 0 Jun 30 ? 16:33 oracledbprod (LOCAL=NO)
oracle 5753 1 0 13:01:03 ? 0:00 oracledbprod (LOCAL=NO)
oracle 11659 1 0 16:00:49 ? 0:00 oracledbprod (LOCAL=NO)
oracle 5386 1 0 Jun 28 ? 0:02 oracledbprod (LOCAL=NO)
oracle 5865 1 0 13:01:39 ? 0:00 oracledbprod (LOCAL=NO)
oracle 22762 1 0 Jul 3 ? 1:28 oracledbprod (LOCAL=NO)
oracle 20536 1 0 Jun 30 ? 1:13 oracledbprod (LOCAL=NO)
oracle 5193 1 0 12:59:44 ? 0:00 oracledbprod (LOCAL=NO)
oracle 8011 1 0 Jun 30 ? 3:32 oracledbprod (LOCAL=NO)
oracle 17506 1 0 Jun 25 ? 0:02 oracledbprod (LOCAL=NO)
oracle 5191 1 0 12:59:44 ? 0:00 oracledbprod (LOCAL=NO)
oracle 8015 1 0 Jun 30 ? 4:09 oracledbprod (LOCAL=NO)
oracle 5177 1 0 12:59:44 ? 0:00 oracledbprod (LOCAL=NO)
oracle 5747 1 0 13:01:02 ? 0:00 oracledbprod (LOCAL=NO)
oracle 4309 1 0 Jun 27 ? 0:01 oracledbprod (LOCAL=NO)
oracle 27348 1 0 Jun 28 ? 0:01 oracledbprod (LOCAL=NO)
oracle 5871 1 0 13:01:39 ? 0:00 oracledbprod (LOCAL=NO)
oracle 5187 1 0 12:59:44 ? 0:00 oracledbprod (LOCAL=NO)
oracle 5767 1 0 13:01:03 ? 0:00 oracledbprod (LOCAL=NO)
oracle 20532 1 0 Jun 30 ? 0:42 oracledbprod (LOCAL=NO)
oracle 24080 1 0 Jun 26 ? 0:05 oracledbprod (LOCAL=NO)
oracle 8007 1 0 Jun 30 ? 7:25 oracledbprod (LOCAL=NO)
oracle 18322 1 0 Jan 11 ? 0:00 oracledbprod (LOCAL=NO)
oracle 14552 1 0 Jul 4 ? 0:05 oracledbprod (LOCAL=NO)
oracle 5881 1 0 13:01:39 ? 0:00 oracledbprod (LOCAL=NO)
oracle 5189 1 0 12:59:44 ? 0:00 oracledbprod (LOCAL=NO)
oracle 5757 1 0 13:01:03 ? 0:00 oracledbprod (LOCAL=NO)
oracle 5853 1 0 13:01:38 ? 0:00 oracledbprod (LOCAL=NO)
oracle 6253 1 0 Jun 29 ? 0:27 oracledbprod (LOCAL=NO)
oracle 2384 1 0 10:15:25 ? 0:20 oracledbprod (LOCAL=NO)
oracle 5144 1 0 Jun 30 ? 8:51 oracledbprod (LOCAL=NO)
oracle 8005 1 0 Jun 30 ? 10:06 oracledbprod (LOCAL=NO)
oracle 5745 1 0 13:01:02 ? 0:00 oracledbprod (LOCAL=NO)
oracle 8023 1 0 Jun 30 ? 11:22 oracledbprod (LOCAL=NO)
oracle 1162 1 0 Jul 3 ? 0:23 oracledbprod (LOCAL=NO)
oracle 8019 1 0 Jun 30 ? 22:10 oracledbprod (LOCAL=NO)
oracle 5941 1 0 Jun 30 ? 17:44 oracledbprod (LOCAL=NO)
oracle 5171 1 0 12:59:44 ? 0:00 oracledbprod (LOCAL=NO)
oracle 5771 1 0 13:01:03 ? 0:00 oracledbprod (LOCAL=NO)
oracle 8009 1 0 Jun 30 ? 16:14 oracledbprod (LOCAL=NO)
oracle 8013 1 0 Jun 30 ? 23:01 oracledbprod (LOCAL=NO)
oracle 5761 1 0 13:01:03 ? 0:00 oracledbprod (LOCAL=NO)
oracle 26703 1 0 Jun 30 ? 0:08 oracledbprod (LOCAL=NO)
oracle 5763 1 0 13:01:03 ? 0:00 oracledbprod (LOCAL=NO)
oracle 26967 1 0 Jul 2 ? 3:05 oracledbprod (LOCAL=NO)
oracle 29683 1 0 Jun 27 ? 0:01 oracledbprod (LOCAL=NO)
oracle 5855 1 0 13:01:38 ? 0:00 oracledbprod (LOCAL=NO)
oracle 5875 1 0 13:01:39 ? 0:00 oracledbprod (LOCAL=NO)
oracle 5181 1 0 12:59:44 ? 0:00 oracledbprod (LOCAL=NO)
oracle 20538 1 0 Jun 30 ? 2:07 oracledbprod (LOCAL=NO)
oracle 5173 1 0 12:59:44 ? 0:00 oracledbprod (LOCAL=NO)
oracle 5195 1 0 12:59:44 ? 0:00 oracledbprod (LOCAL=NO)
oracle 5749 1 0 13:01:02 ? 0:00 oracledbprod (LOCAL=NO)
oracle 4868 1 0 Jun 30 ? 7:34 oracledbprod (LOCAL=NO)
oracle 8025 1 0 Jun 30 ? 9:55 oracledbprod (LOCAL=NO)
oracle 21447 1 0 Jun 29 ? 0:01 oracledbprod (LOCAL=NO)
oracle 11226 1 0 16:00:00 ? 0:20 oracledbprod (LOCAL=NO)
oracle 5185 1 0 12:59:44 ? 0:00 oracledbprod (LOCAL=NO)
oracle 2371 1 0 Jun 27 ? 0:02 oracledbprod (LOCAL=NO)
oracle 8021 1 0 Jun 30 ? 20:07 oracledbprod (LOCAL=NO)
oracle 5743 1 0 13:01:02 ? 0:00 oracledbprod (LOCAL=NO)
oracle 21716 1 0 Jun 30 ? 0:40 oracledbprod (LOCAL=NO)
oracle 5935 1 0 Jun 30 ? 7:02 oracledbprod (LOCAL=NO)
oracle 5859 1 0 13:01:38 ? 0:00 oracledbprod (LOCAL=NO)
oracle 16658 1 0 Jun 30 ? 0:00 oracledbprod (LOCAL=NO)
oracle 5197 1 0 12:59:44 ? 0:00 oracledbprod (LOCAL=NO)
oracle 5867 1 0 13:01:39 ? 0:00 oracledbprod (LOCAL=NO)
oracle 5183 1 0 12:59:44 ? 0:00 oracledbprod (LOCAL=NO)
oracle 5879 1 0 13:01:39 ? 0:00 oracledbprod (LOCAL=NO)          <- 13:01:39  means db connection begin at time
oracle 5863 1 0 13:01:38 ? 0:00 oracledbprod (LOCAL=NO)
oracle 5857 1 0 13:01:38 ? 0:00 oracledbprod (LOCAL=NO)
dbmon 14965 14587 1 01:37:27 pts/3 0:00 grep oracledbprod
oracle 1795 1 0 10:12:15 ? 77:50 oracledbprod (LOCAL=NO)

结论:
1.今天消耗主要是以192.168.4.33为主,从12点到13点这个时间段,是busr 用户访问。

it consume 45 process, thre app server ,every app server config 15 process, normal ausr only consume 10 user.

SQL> select count(*) from v$session where USERNAME='bUSR';

COUNT(*)
----------
45

SQL> show parameter process

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
processes integer 150

SQL> show parameter session

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sessions integer 256

2.first kill session:
spool /tmp/1.sql
select 'alter system kill session '''||sid||','||serial#||''' immediate;' from v$session where username='bUSR';
spool off

3.long time:

step 1: we will try to add process from 150 to 250, session from 256 to 356.
and restart dbprod

step 2: app turn down 15 process/per server to 7 process/per server ,  decrease process from 45 to 21.

建议:

新建用户,要看process 和session 数目定义够不够用,先跟应用一起评估。以免上线造成问题。

#############2018

step 1:  预处理

cd /app/product/database/diag/tnslsnr/pscfdb01/lsnr_scf/trace

sed -n '/07-MAR-2018 2/p' lsnr_db.log |grep establish > p.log

####

step 2:

#开始处理:

#!/bin/bash

i=1
while(( i <= 60 ))
do
s=`printf "%02d\n" $i`
echo "$1""-MAR-2018 22:""$s"
#echo "07-MAR-2018 21:""$s"
grep "$1""-MAR-2018 22:""$s" $2 |wc -l
#grep "07-MAR-2018 21:""$s" p.log |wc -l
let "i += 1"
done

usage: 06 日期,查询16日 22点每分钟的连接数

sh 1.sh 06 p4.log

ORA-00020: maximum number of processes (300) exceeded的更多相关文章

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

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

  2. ORA-00020: maximum number of processes (xxxx) exceeded 报错解决方法

    转自:http://blog.51cto.com/lee90/1788124 今天java开发在连接线上的oracle大量导数据,一会提示连接不上数据库了.我本地用sqldeveloper也连接不上. ...

  3. ORA-00020:maximum number of processes (150) exceeded

    异常的含义 超过最大的进程数 我们使用下面的语句可以查看与进程(process)的相关参数: 如上所示,这里的最大进程数是150. 问题可能存在的原因 1.应用程序在使用数据库连接池时,使用完成后没有 ...

  4. Oracle 错误 maximum number of processes(150) exceeded 解决办法

    网上很多同行应该都遇到过这个问题,百度一搜 千篇一律的处理办法,就是加大进程数. 但是我这边情况不一样,因为我的Oracle 11g是早上刚装的,跟本没人用,我用PLSQL链接照样说不能链接. 我就在 ...

  5. ORA-00020: maximum number of processes (800) exceeded

    [oracle@db04-1 ~]$ sqlplus -prelim / as sysdba SQL*Plus: Release 11.2.0.3.0 Production on 星期四 8月 31 ...

  6. The maximum number of processes for the user account running is currently , which can cause performance issues. We recommend increasing this to at least 4096.

    [root@localhost ~]# vi /etc/security/limits.conf # /etc/security/limits.conf # #Each line describes ...

  7. ORA-00019: maximum number of session licenses exceeded 超出最大会话许可数

    ORA-00019: maximum number of session licenses exceededORA-00019: 超出最大会话许可数 Cause:       All licenses ...

  8. ORA-00018: maximum number of sessions exceeded 超出最大会话数

    ORA-00018: maximum number of sessions exceededORA-00018: 超出最大会话数 Cause:       All session state obje ...

  9. Failed to connect to database. Maximum number of conections to instance exceeded

    我们大体都知道ArcSDE的连接数有 48 的限制,很多人也知道这个参数可以修改,并且每种操作系统能支持的最大连接数是不同的. 如果应用报错:超出系统最大连接数 该如何处理? 两种解决办法: 第一,首 ...

随机推荐

  1. 【求建议】毕业之声——信院IT类毕业学子经验分享交流会

    一:缘由 在和非常多学子交流,及上课的经历中,发现一个非常普遍的现象:部分大一学生即失去了对学习.对专业的兴趣.有人在迷茫之后奋起直追.从而珍惜利用不多的大学时光努力提高自己.有人在迷茫中沉沦,沉迷于 ...

  2. python实现接口自动化

    一.总述 Postman:功能强大,界面好看响应格式自主选择,缺点支持的协议单一且不能数据分离,比较麻烦的还有不是所有的公司都能上谷歌SoupUI:支持多协议(http\soup\rest等),能实现 ...

  3. 解决pycharm下安装reportLab报错的问题

    在利用pycharm中自带的第三方安装工具安装reportLab时提示安装失败.失败的原因是缺失第三方扩展包.经过查阅查阅资料了解到一些python的第三方扩展包是需要python-dev支持的.我装 ...

  4. Visual Studio 2017中使用正则修改部分内容 如何使用ILAsm与ILDasm修改.Net exe(dll)文件 C#学习-图解教程(1):格式化数字字符串 小程序开发之图片转Base64(C#、.Net) jquery遍历table为每一个单元格取值及赋值 。net加密解密相关方法 .net关于坐标之间一些简单操作

    Visual Studio 2017中使用正则修改部分内容   最近在项目中想实现一个小工具,需要根据类的属性<summary>的内容加上相应的[Description]特性,需要实现的效 ...

  5. Linux安全应用之防垃圾邮件server的构建

    Linux安全应用之防垃圾邮件server的构建 一.垃圾邮件产生的原因 垃圾邮件(SPAM) 也称作UCE(Unsoticited Commercial Email.未经许可的商业电子邮件)或UBE ...

  6. 每天复习Shell—ls

    ls命令是linux下最经常使用的命令.ls命令就是list的缩写缺省下ls用来打印出当前文件夹的清单假设ls指定其它文件夹那么就会显示指定文件夹里的文件及文件夹清单. 通过ls 命令不仅能够查 ...

  7. Hackrank Candies DP

    题目链接:传送门 题意: n个学生站一行,老师给每个学生发至少一个糖 相邻学生,a[i] > a[i-1] 的话,那么右边学生的糖一定要发得比左边学生的糖多 问你满足条件这个老师总共最少的发多少 ...

  8. Hibernate 之 Locking

    在我们业务实现的过程中,往往会有这样的需求:保证数据访问的排他性,也就是我正在访问的数据,别人不能够访问,或者不能对我的数据进行操作.面对这样的需求,就需要通过一种机制来保证这些数据在一定的操作过程中 ...

  9. Hessian Matrix 多元函数的极值 半正定矩阵 正定矩阵

    https://baike.baidu.com/item/黑塞矩阵/2248782?fr=aladdin 海塞矩阵 Hasse https://baike.baidu.com/item/半正定矩阵

  10. 在Android用ZXing.jar识别二维码的精简版(简化了配置和代码)

            近期公司做了一款OTP令牌激活的产品,因为之前激活手机令牌须要输入非常多的激活信息才干进行激活. 经过一段使用后,发现易用性不是非常强,考虑假设添加二维码的的扫码功能岂不是大大添加了易 ...