文档章节

dbcp oracle存在大量inactive的session

编号5173
 编号5173
发布于 2017/05/09 18:16
字数 119
阅读 47
收藏 0

下面是dbcp连接配置

安装此配置之后,在数据库空闲状态下回出现大量状态为inactive的session,session里面的sql为select 1 from dual


请各路大神帮忙看下,是哪个地方配置出了问题。




安装此配置之后,在数据库空闲状态下回出现大量状态为inactive的session,session里面的sql为select 1 from dual

© 著作权归作者所有

上一篇: devops
下一篇: devops
编号5173
粉丝 2
博文 2
码字总数 153
作品 0
郑州
程序员
私信 提问
加载中

评论(10)

编号5173
编号5173
dbcp 空闲回收的时间设置过长,并发上来之后没有及时回收。
<pool name="XXXX" primary="true" type="dbcp" db="oracle" init="true" isAdvanceUrl="true">
<property name="initialSize" value="10"/>
<property name="maxActive" value="20"/>
<property name="maxIdle" value="10"/>
<property name="minIdle" value="5"/>
<property name="maxWait" value="2000"/>

<!--连接泄漏检查, 在即将达到最大活跃连接时, 如果活跃连接即将 180秒后,则回收物理数据库连接到数据库中-->
<property name="removeAbandoned" value="true"/>
<property name="removeAbandonedTimeout" value="180"/>
<property name="logAbandoned" value="true"/>

<!--每30秒检查一次 所有空闲连接, 将空闲超过15分钟 的连接释放, 目前监测最大空闲7分钟 -->
<property name="validationQuery" value="select 1 from dual"/>
<property name="validationQueryTimeout" value="3"/>
<property name="testWhileIdle" value="true"/>
<property name="testOnBor
编号5173
编号5173

引用来自“dush”的评论

引用来自“编号5173”的评论

引用来自“dush”的评论

引用来自“编号5173”的评论

引用来自“dush”的评论

目测是连接池测试连接是否可用的
但是太多了,不活跃的连接数840个,select * from dual 都占用了500多个

你连接池最大连接数为多少?这么多连接是一直都在还是?过了空闲时间以后连接有没有正常回收?
分布式部署的30个节点没个节点20个。空闲连接不是一直存在,但是为什么 select * from dual 都占用了500多个

20*30=600,看起来完全正常啊,你最小连接多少个?
最小连接数10个
rz
rz

引用来自“编号5173”的评论

引用来自“dush”的评论

引用来自“编号5173”的评论

引用来自“dush”的评论

目测是连接池测试连接是否可用的
但是太多了,不活跃的连接数840个,select * from dual 都占用了500多个

你连接池最大连接数为多少?这么多连接是一直都在还是?过了空闲时间以后连接有没有正常回收?
分布式部署的30个节点没个节点20个。空闲连接不是一直存在,但是为什么 select * from dual 都占用了500多个

20*30=600,看起来完全正常啊,你最小连接多少个?
编号5173
编号5173

引用来自“dush”的评论

引用来自“编号5173”的评论

引用来自“dush”的评论

目测是连接池测试连接是否可用的
但是太多了,不活跃的连接数840个,select * from dual 都占用了500多个

你连接池最大连接数为多少?这么多连接是一直都在还是?过了空闲时间以后连接有没有正常回收?
分布式部署的30个节点没个节点20个。空闲连接不是一直存在,但是为什么 select * from dual 都占用了500多个
rz
rz

引用来自“编号5173”的评论

引用来自“dush”的评论

目测是连接池测试连接是否可用的
但是太多了,不活跃的连接数840个,select * from dual 都占用了500多个

你连接池最大连接数为多少?这么多连接是一直都在还是?过了空闲时间以后连接有没有正常回收?
编号5173
编号5173

引用来自“dush”的评论

目测是连接池测试连接是否可用的
但是太多了,不活跃的连接数840个,select * from dual 都占用了500多个
rz
rz
目测是连接池测试连接是否可用的
编号5173
编号5173
顶顶顶
编号5173
编号5173
顶下
编号5173
编号5173
顶下
oracle存在大量inactive的session,导致数据库服务器内存占用达到90%以上

下面是dbcp连接配置 安装此配置之后,在数据库空闲状态下回出现大量状态为inactive的session,session里面的sql为select 1 from dual 请各路大神帮忙看下,是哪个地方配置出了问题。...

yinqifeng
2015/06/12
3K
4
Oracle数据库连接和会话的区别

 连接并不是会话的同义词,发现这一点时很多人都很诧异。在大多数人眼里,它们都是一样的,但事实上并不一定如此。在一条连接上可以建立0个、一个或多个会话。各个会话是单独而且独立的,即...

roockee
2013/04/26
0
0
【Oracle】-【SNIPED和KILLED】-SPINED和KILLED的session清理流程

@dbsnake大拿的一个示例: SQL> show parameter limit NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ asmpowerlimit integer 1 javaso......

bisal
2013/07/10
0
0
一篇关于调优的概念性文章

今天看了一篇关于调优的概念性文章(61998.1: Introduction to Tuning Oracle7 / Oracle8 / 8i / 9i )。 文章的目的是为了可以快速知晓执行过程中哪里花费了较多的时间,而不是关注不同统计数...

bisal
2013/10/02
0
0
ORACLE会话连接进程三者总结

概念介绍 通俗来讲,会话(Session) 是通信双方从开始通信到通信结束期间的一个上下文(Context)。这个上下文是一段位于服务器端的内存:记录了本次连接的客户端机器、通过哪个应用程序、哪个...

奋斗的雲
2018/04/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

group by分组后获得每组中时间最大的那条记录

用途: GROUP BY 语句用于 对一个或多个列对结果集进行分组。 例子: 原表: 现在,我们希望根据USER_ID 字段进行分组,那么,可使用 GROUP BY 语句。 我们使用下列 SQL 语句: SELECT ID,US...

豆花饭烧土豆
26分钟前
0
0
android6.0源码分析之Camera API2.0下的Preview(预览)流程分析

本文将基于android6.0的源码,对Camera API2.0下Camera的preview的流程进行分析。在文章android6.0源码分析之Camera API2.0下的初始化流程分析中,已经对Camera2内置应用的Open即初始化流程进...

天王盖地虎626
36分钟前
2
0
java 序列化和反序列化

1. 概述 序列恢复为Java对象的过程。 对象的序列化主要有两 首先我们介绍下序列化和反序列化的概念: 序列化:把Java对象转换为字节序列的过程。 反序列化:把字节序列恢复为Java对象的过程。...

edison_kwok
48分钟前
2
0
分布式数据一致性

狼王黄师傅
今天
2
0
经验

相信每位开发者在自己开发的过程中,都会反思一些问题,比如怎样提高编程能力、如何保持心态不砍产品经理、996 之后怎样恢复精力……最近开发者 Tomasz Łakomy 将他 7 年的开发生涯中学习到...

WinkJie
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部