Oracle session 超过最大数问题,困扰很久了

skyrocket 2008-05-28 10:59:38
系统情况:oracle+weblogic9.2

b/s结构,数据库服务器配置为ibm3550,操作系统为windows 2003 server,大约有200左右客户端,不一定同时用。

问题:
Oracle的session怎么总是超过最大数,之后就不能登陆了,提示“ORA-00018:maximum number of sessions exceeded”
重启后,只能坚持一天,真郁闷!
测试时,oracle是能够自动释放废弃的连接啊,周期大约2小时一释放,怎么在客户那里就不行了,曾经坚持过一个月,最近是频繁出现,郁闷死了!

试了好多办法,最终也没有得到解决,请高手指点

试用过的方法有:
1、将最大数改为600,甚至1000
2、将数据库连接改为“共享服务器模式”,共享连接参数为:
调度程序数:5
每个调度程序的最大连接数:100
最大调度程序数:5
最大服务器进程数:600
3、内存方面
共享池:256M
缓冲区高速缓存:48M
大型池:128M
Java池:64M
PGA目标:64M
...全文
10360 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
cs365315634 2012-06-27
  • 打赏
  • 举报
回复
我也遇到了这种问题啊,线程池
reminious 2012-05-07
  • 打赏
  • 举报
回复
oracle ebs报sesion达到1000 这是个什么情况
Neil2013 2010-10-21
  • 打赏
  • 举报
回复
还是没结果啊
tom0009 2009-07-08
  • 打赏
  • 举报
回复
写点我的经验:
我也遇到过类似的问题,目前已经解决。需要修改参数。

服务器系统:win2000
oracle:9.0.2.0

我只修改了:

内存方面
共享池:72M
缓冲区高速缓存:24M
大型池:8M
Java池:32M
PGA目标:950M

processes:800

目前能同时拥有250个会话数不会提示连接不上。并且高速缓存命中百分比为:98.16%,达到100%就更好了。
skyrocket 2008-06-03
  • 打赏
  • 举报
回复
应用服务器(weblogic)的操作系统是2000 advanced server,有关系吗?是不是应该换成2003 server
数据库服务器(oracle)的操作系统是2003 server
skyrocket 2008-06-03
  • 打赏
  • 举报
回复
如果是应用程序有些地方没有关闭连接的话,是不是在v$open_cursor中能查询到没有关闭连接的sql语句,可是,我们一直跟踪v$open_cursor的变化,是正常的,没有发现长期滞留的sql语句,另外也检查了应用程序中在异常情况下是否关闭了连接,所以,应用程序造成该问题的可能性不大。
在c3p0的连接池中(hibernate.cfg.xml),我们使用了默认参数,其中,
...
c3p0.min.size=20
c3p0.max.size=50
c3p0.timeout=60
...
是不是有问题呢?是不是应该将c3p0.max.size设置为最大的用户并发数,例如:200
另外,session与process又该设置为多少?

烦请各位能给出综合的解决办法?


多壮志 2008-06-03
  • 打赏
  • 举报
回复
既然都是weblogic的,我不知道它是否和websphere一样有连接管理,应该有吧。那就在上面设置即可。
反正存在的问题 非此即彼,排除一下就可以解决掉。
skyrocket 2008-06-02
  • 打赏
  • 举报
回复
修改oracle安装目录\admin\SID名\pfile\init.ora.5142007113516中的
processes=150


通过
alter system set processes=600 scope=spfile
create pfile from spfile
修改连接数,有什么区别?
doer_ljy 2008-06-02
  • 打赏
  • 举报
回复
种种情况多半是应用程序造成的,由于系统在处理正常情况或者异常情况时考虑不周全,
造成连接没有释放,积累下来就会有10楼所说的情况。
当然也可能你的峰值访问量真的达到了或者查过了连接池的设置。
但是按照楼主所说,这种情况应该不太可能发生。
我觉得:
1、检查应用程序的代码,不知要差正常结束,还要认真分析各种异常情况下是否关闭了连接。
2、分析weblogic的连接池管理,是否存在漏洞。
yown 2008-06-02
  • 打赏
  • 举报
回复
一定要检查连接是否正确释放了
wffffc 2008-06-02
  • 打赏
  • 举报
回复
估计是应用程序的问题,可能没有关闭连接!
skyrocket 2008-05-30
  • 打赏
  • 举报
回复
首先感谢楼上的分析
请教:
1、process数怎么改?大约200个客户端的话,改多少合适?
2、我们用的是c3p0的连接池,其中有最小连接数和最大连接数的设置,是不是把最大连接数设置为最大并发用户数?
3、如果正如您所分析“这种增长到一定程度,超过了数据库的session 设置,因而报错”的话,怎么解决这个问题?
codearts 2008-05-29
  • 打赏
  • 举报
回复
sql>show parameter processes

看看processes这个参数设置的是多少? 如果少于200,请加大之
kongkongye 2008-05-29
  • 打赏
  • 举报
回复
1.报错出来的超过session 最大数,那是数据库层的设置。若果你的资源允许,而你的当前process 数过小,那么你可以适当增大processs 数( session 数依赖于process数,一般不去直接修改session数).

2.weblogic 是使用连接池的,只要设置连接池中的连接数为最大的并发用户数即可。在一定设置下,当某时刻的前台请求过多,找不到一个idle 的连接来为请求服务时,此时weblogic 会自动增加对数据库的连接。
基于你说重启后问题消失,我想你的情况多半是这种了:请求相对过多,或者对请求的处理很慢(有效率问题),导致在没有idle 的连接来前台请求服务时,连接池自动增加对数据库连接,这种增长到一定程度,超过了数据库的session 设置,因而报错。
skyrocket 2008-05-29
  • 打赏
  • 举报
回复
回答5楼的:通过session判断,都是web服务器(weblogic)产生的连接
skyrocket 2008-05-29
  • 打赏
  • 举报
回复
weblogic是用连接池的,session最大数设置为600
我也觉得是weblogic出的问题,出问题后,重启weblogic,连接数就能降到初始化状态
但是,即使weblogic出了问题,oracle自身的session管理,自动释放连接不也可以解决问题吗?

如果是weblogic出的问题,怎么解决啊?盗版的原因吗?
skyrocket 2008-05-28
  • 打赏
  • 举报
回复
代码检查过,都有释放,超时在哪儿设置?
wtk13 2008-05-28
  • 打赏
  • 举报
回复
可以肯定的说百分之百是WEBLOGIC的问题
是它没有及时的释放掉SESSION。

出问题的时候最好检查一下WEBLOGIC是否有问题?

不知道你是否启用了连接池呢?
colinTongzw 2008-05-28
  • 打赏
  • 举报
回复
oracle是可以进行自动释放,但由于你设置的超时比较长,到了客户那连接数一多,session一直没被释放掉,的确是很容易就超出限制(你检查一下你的代码的释放)
colinTongzw 2008-05-28
  • 打赏
  • 举报
回复
你的代码对session都有进行释放?
加载更多回复(2)
  数据库操作是软件行业人员必备的技能,这门视频教学课程主要是针对从事软件技术的新人的,适合在校大学生、准备转行到IT行业的新人、软件公司新入职员工。这门课程主要涉及Oracle数据库的基础操作和SQL语法,因为绝大部分软件技术人员掌握这些就可以了,数据库的大部分功能,我们平时是用不到的,所以不用花太多时间去研究。把这门课程里面的内容学会,足以胜任日常性数据库相关的工作。  这门视频教学课程不是针对DBA的培训课程,从事DBA工作的人在软件行业人员的占比不高,就业面不太广,有做DBA志向的同学可以到专门的培训机构学习Oracle的OCA、OCP、OCM课程,他们有针对应试的培训内容,他们也可以安排相应的考试,考试通过后会有相应的证书,这门课程更偏向编程应用,不是面向Oracle认证考试的。   我对Oracle数据库有十几年的使用经验,我们公司的数据库是Oracle数据库,基本上每天的编程工作都要写SQL语句,公司的历史数据比较多,需要通过编写SQL语句来进行查询处理,有两年时间,我的工作就是编写Oracle数据库的存储过程。  这个视频教学课程使用Oracle 19c版本的数据库进行讲解。每节课程都结合工作实际,都是干货,都经过认真准备,相信可以给大家带来很大帮助。

3,490

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧