oracle正常,但过段时间连接不了oracle,登陆时一直处于等状态,可能是什么原因?

yk1028 2006-09-21 09:08:58
oracle所有服务器运行正常,做为一web程序的数据库服务器,但发现一至两天后web程序无法访问数据库,用pl/sql developer之类客户端工具访问数据库,一直处于登陆状态,无法真正进入.执行exp命令试导出数据库也无法执行,重启oracle服务器后就好了,请熟悉oracle管理的提供一些信息,应该怎么查原因呢?(不懂oracle管理方面,另外web程序的客户端访问量不是太大)
...全文
437 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fewsky 2006-09-21
  • 打赏
  • 举报
回复
服務器端數據庫有打開沒??????
wiler 2006-09-21
  • 打赏
  • 举报
回复
估计是应用端(这里指web应用)没正常关闭连接
可能导致很多用户进程处于killed状态,但又一直不释放
达到一定数量后,oracle无法再建立用户进程
导致后来的连接一直等待

解决办法:
1.非根本方法:每天手工清理killed进程
2.根本性方法:查找web端原因并修正
majy 2006-09-21
  • 打赏
  • 举报
回复
同上
wpp9999 2006-09-21
  • 打赏
  • 举报
回复
赞同楼上所述
子陌红尘 2006-09-21
  • 打赏
  • 举报
回复
检查WEB程序,估计是程序中的数据库连接使用之后没有正常关闭和释放,当数据库连接数满,其他程序则无法连接到数据库。
pepsirjl 2006-09-21
  • 打赏
  • 举报
回复
用oracle DBA工具查一下是不是表空间满了而没有自动扩展,如果表空间满了会拒绝用户登陆的!
gechangwei 2006-09-21
  • 打赏
  • 举报
回复
建议设置系统若一个session长期不动就自动KILL掉:

alter profile default limit idle_time=1800;

说明:设置缺省用户profile,限制每个会话若连续1800秒没动静就kill掉。

yk1028 2006-09-21
  • 打赏
  • 举报
回复
谢谢几位,好像大家都认为是程序的数据库连接资源没释放造成的。我也在查,郁闷是数据访问部分上公用模块封装了,没源代码,公司其他人没听说有这种现象发生啊。
另,数据库一直是打开的。重启服务器一切正常,也许两天左右后就不能访问数据库了。
在反编译数据访问的dll......

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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