前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >应用长时间未调用后再次调用出现hang的情况

应用长时间未调用后再次调用出现hang的情况

作者头像
bisal
发布于 2019-01-29 03:35:06
发布于 2019-01-29 03:35:06
1.7K0
举报

        之前某应用就存在长时间不调用,再次调用时处于hang,等待10分钟返回3113的连接错误。今天正好同事也问了个相同的问题,也是应用长时间不调用就出现这种情况。

        以前对于这种问题进行过排查,但一直未解决,针对今天的这个系统的问题,还是按照老方法检查,

1. 检查应用日志,确实长时间等待后报3113的错误。

2. 检查数据库的PROFILE中idle_time参数,此处设置的是DEFAULT的UNLIMITED,说明超时不会是由数据库用户PROFILE配置导致的。

3. 检查网络环境,因为这个应用是从一个网段访问另一个网段的数据库,咨询网络中心后,中间有一个防火墙,确实也有超时的设置,是40分钟,也就是应用连接空闲40分钟后,就会自动kill连接。

        问题找到了,为了解决这个问题,其实方法也有很多:

1. 写个脚本定时调这个应用,保证40分钟内有调用,就不会出现超时的问题了。

2. 通过Oracle的一些机制自动探测数据库连接来间接保证40分钟内应用有调用。

这篇文章介绍的DCD就是一种比较不错的方法:http://sundog315.itpub.net/post/308/530331

另外老熊也有一篇非常好的文章推荐:http://www.laoxiong.net/oracle_and_firewall.html。

都是值得反复玩味体会的。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2013年10月23日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Oracle配置DCD避免会话被防火墙强制断开
有反馈应用测试连接Oracle数据库的会话半小时左右未做操作就会被中断,报错ORA-3113,询问数据库是否有这样的超时设置,能否取消掉这个限制? 登上环境查看监听日志发现连接的IP和数据库IP不是同一网段,故询问中间是否有防火墙设备,得到肯定的答复后,再结合实际的现象,基本也就确认是由于防火墙默认强制断开一段时间内(这里也就是半小时)都是空闲状态的会话,然后会话再做操作时就会发现原连接已经被断开,报错ORA-3113,然后只能重连。 防火墙涉及其他部门管理,协调比较麻烦。还好Oracle有DCD(Dead Connection Detection)这个功能特性,主要就是设置一个时间比如10分钟,那么每隔10分钟Oracle就会发一个空包给连接会话的客户端,防火墙发现会话变为活跃就会重新计时,这样也可以间接解决这个问题。
Alfred Zhao
2020/03/06
1.3K0
三月数据库技术通讯.pdf | Oracle配置DCD避免会话被防火墙强制断开
每月关注:26 页数据库技术干货,汇总一个月数据库行业热点事件、新的产品特性,包括重要数据库产品发布、警报、更新、新版本、补丁等。
数据和云
2020/04/01
6140
【Oracle】-【v$session】v$session的SNIPED状态
最近有个测试库刚出现的情况, 现象: 以前一直未出现过这种状态: 有的应用(这里部署的应用有100多个,且都是Tuxedo长连接数据库 的应用)每天第一次执行时报:ORA-02396: exceeded maximum idle time, please connect again 过段时间会有应用报错:ORA-02391: exceeded simultaneous SESSIONS_PER_USER limit,此时也无法登录数据库了。 测试库信息: 版本:9.2.0.7.0 判断问题思路: SELECT * FROM v$session WHERE username='STAR' ORDER BY status; 查看有许多都是SPINED状态的。 用下面的语句产生的kill -9 ...会提示no such process或invalid id,SPID不是OS进程的ID么? SELECT s.username,s.status,s.machine,osuser,spid, 'kill -9 '||spid UNIX_level_kill, 'alter system kill session ' ||''''||s.sid||','||s.serial# || ''';' Oracle_level_kill, TO_CHAR (logon_time, 'dd/mm/yyyy hh24:mi:ss') logon_time, last_call_et idle_time, TO_CHAR (TRUNC (last_call_et / 3600, 0))||' '||' HRS '||TO_CHAR (TRUNC ((last_call_et - TRUNC(last_call_et / 3600, 0) * 3600) / 60, 0)) ||' MINS' idle_time_hour_minute, module FROM v$session s, v$process p WHERE TYPE = 'USER' AND s.username='STAR' AND p.addr = s.paddr AND status = 'SNIPED' -- AND SUBSTR (machine, 1, 19) NOT IN ('machine') AND last_call_et > 60 * 60 * 2 -- session idle time more than 1 hour
bisal
2019/01/29
9930
Oracle Profile文件
一、Profile文件概述:Profiles是Oracle安全策略的一个组成部分,当Oracle建立数据库时,会自动建立名称为Default的profile,当建立用户没有指定profile,那么oracle就将defalut分配给用户。 1、默认情况下,用户连接数据库,形成回话,使用CPU和内存资源是没有限制的。但是在一些高并发的应用,且多个应用部署到同一服务器上时,因为服务器的CPU和内存是有限的,所以,大多数企业会根据应用对于自身的重要性,来对各个库进行内存和CPU的分配。除此之外,还有用户的密码管理
郑小超.
2018/01/26
1.9K0
使用 resource_limit 及 profile 限制用户连接
      数据库性能是一个永恒的话题,那就是如何使用更少的资源以达到更高效的性能。Oracle系统参数RESOURCE_LIMIT是一个用于控制用户对于数据库资源使用的参数,当值为true的时候即为启用,否则禁用。该参数结合profile来可以控制多种资源的使用,如CPU_PER_SESSION, CONNECT_TIME,LOGICAL_READS_PER_SESSION, PRIVATE_SGA等等从而达到到节省资源来实现高效性能。本文描述了数据资源限制并演示了IDLE_TIME及SESSIONS_PER_USER的用法。
Leshami
2018/08/13
1.2K0
案例:Oracle 11g RAC 数据库连接数过高处理办法
墨墨导读:近期有一套数据库总是出现如下告警“严重告警:XXX Oracle 服务器:10.10.X.X 数据库的侦听器 LISTENER 状态为 Inactive ”,本文详述处理的整个过程。
数据和云
2020/11/16
9220
案例:Oracle 11g RAC 数据库连接数过高处理办法
在Oracle中,如何定时清理INACTIVE状态的会话?
今天小麦苗给大家分享的是在Oracle中,如何定时清理INACTIVE状态的会话?
AiDBA宝典
2019/09/29
2.7K0
案例分享|Oracle 11g RAC 数据库连接数过高处理办法
近期有一套数据库总是出现如下告警 “严重告警:XXX Oracle 服务器:10.10.X.X 数据库的侦听器 LISTENER 状态为 Inactive ”.这样的告警我们已经屡见不鲜,要么就是数据库宕机,要么就是监听异常关闭,因为是 RAC 环境,又不是什么很大问题,便不慌不忙的去处理此问题。
JiekeXu之路
2020/10/30
1.4K0
案例分享|Oracle 11g RAC 数据库连接数过高处理办法
寻找锁定数据库用户的真凶
前几天,一位兄弟部门的同事,提过来一个问题,有一台开发Oracle数据库服务器,修改了一个应用用户的密码,然后就发现这个账户隔几分钟就会被锁,需要手工unlock解锁才行,但没过一会又被锁了,问了一圈开发人员,基本都说使用这个账户的应用要么停了,要么跟着改了密码。很是挠人。
bisal
2019/01/29
1.3K0
Oracle 角色、配置文件
增加或删除角色中的某一权限,被授予该角色的所有用户或角色自动地获得新增权限或删除旧的权限
Leshami
2018/08/07
1K0
使用 SQLNET.EXPIRE_TIME 清除僵死连接
    数据库连接的客户端异常断开后,其占有的相应并没有被释放,如从v$session视图中依旧可以看到对应的session处于inactive,且对应的服务器进程也没有释放,导致资源长时间地被占用,对于这种情形开该如何处理呢?SQLNET.EXPIRE_TIME对于这个问题我们提供了解决方案,专门用于清理那些异常断开的情形,如网络异常中断,客户端异常掉电,异常重启等。本文描述了设置SQLNET.EXPIRE_TIME参数以及演示死连接以及资源被释放的情形。
Leshami
2018/08/13
3.3K0
深入剖析:RAC的全局死锁问题
杨廷琨(yangtingkun) 云和恩墨 CTO 高级咨询顾问,Oracle ACE 总监,ITPUB Oracle 数据库管理版版主 RAC的全局死锁时间检测 对于单实例数据库而言,死锁的检测在秒级完成,而RAC环境则死锁的检测时间默认达到了1分钟。单实例环境如果出现了死锁,那么马上其中一个进程就被中止,用户可以快速的得到错误返回。而对于RAC而言,死锁的检测并不是实时完成,而是需要60秒左右的时间。 会话1执行: 会话2执行: 此时,会话2等待会话1的最终操作,下面会话1更新被会话2锁定
数据和云
2018/03/06
1.5K0
深入剖析:RAC的全局死锁问题
从一个故障案例看强大到令人发紫的Oracle数据库--我和数据中心的故事
作为一名混迹数据库江湖十几年的老DBA,当你对关系型数据库的了解越来越深入时,你会发现,Oracle数据库真的是强大到令人发紫! Oracle数据库的强大,不仅体现在其对ACID的巧妙实现,其对高并发的完美支持,更重要的是他的可管理性,包括可度量、可回溯,以及出现问题后的问题核查接口和问题检查方法论,真是强大到令人发紫,这是其他关系型数据库短期内还无法超越的。 中亦科技小y(黄远邦) 问题引入 电话响了,是某银行一位熟悉的资深DBA的来电。 “小y,现在应用连接数据库会hang住,sysdba登陆也会han
数据和云
2018/03/07
1.4K0
从一个故障案例看强大到令人发紫的Oracle数据库--我和数据中心的故事
记一次library cache lock/library cache pin导致的函数编译hang住分析及处理过程
墨墨导读:业务在进行alter function my_function_name compile时,有两个函数编译无法通过,现象就是会hang住,这里分享处理的整个过程。
数据和云
2021/02/08
1.1K0
案例:log file sync等待引起的RAC 挂起(HANG)
用户系统有一个每隔1分钟执行的工作任务(JOB),通常会在1左右秒结束。 但是在最近发生过2次问题:由于等待”log file sync”事件,导致该工作任务(JOB)的会话等待几十分钟,不能正常完成。 发生问题的时间如下:
SQLplusDB
2020/03/26
1.7K0
如何使用iptables防火墙模拟远程服务超时
超时,应该是程序员很不爱处理的一种状态。当我们调用某服务、某个中间件、db时,希望对方能快速回复,正确就正常,错误就错误,而不是一直不回复。目前在后端领域来说,如java领域,调用服务时以同步阻塞调用为主,此时一般会阻塞当前线程,等待结果。如果我们设置了超时时间还好,一段时间等不到就报错了,要是超时时间没设置或者过长,会导致线程动不了,即hang住了,多来几个这种线程,线程池也就全都hang住了,此时,我们也就没办法响应前端了。
低级知识传播者
2023/08/30
4010
如何使用iptables防火墙模拟远程服务超时
我身边的一些数据库事故 (r5笔记第52天)
最近携程的数据事故闹得沸沸扬扬,不管是什么原因,问题终究发生了。在问题发生的时候,更关键的是解决方法和防范措施,一般在升级或者重大的生产演练中,我们都有一个lesson learn,就是总结问题,总结经验,防范规范。 除此之外,一线人员在各种重大活动中都发挥了重要的作用,我还是喜欢那句华为任正非的那句话:让听得见炮声的人指挥。其余我只能报以呵呵的态度了。 自己也抽空整理了一下自己经历的数据相关的重大问题和事故,一总结还真吓一跳。确认也有不少案例。很多都记录在自己的技术博客中了,想了解详细的内容可以参考一下
jeanron100
2018/03/16
7560
数据库连接池之c3p0-0.9.1.2,线上偶发APPARENT DEADLOCK,如何解
本篇其实是承接前面两篇的,都是讲定位线上的c3p0数据库连接池,发生连接泄露的问题。
低级知识传播者
2023/08/30
6020
数据库连接池之c3p0-0.9.1.2,线上偶发APPARENT DEADLOCK,如何解
千亿级高并发MongoDB集群在某头部金融机构中的应用及性能优化实践(上)
某头部金融机构采用MongoDB存储重要的金融数据,数据量较大,数据规模约2000亿左右,读写流量较高,峰值突破百万级/每秒。本文分享该千亿级高并发MongoDB集群的踩坑经验及性能优化实践,通过本文
腾讯云数据库 TencentDB
2022/05/13
1.1K1
千亿级高并发MongoDB集群在某头部金融机构中的应用及性能优化实践(上)
Oracle数据库中最让人匪夷所思的十大问题盘点
数据的世界无奇不有,常常会遇到一些超出常识之外的故障的发生。这就要求广大的DBA要深入了解数据库的内部机制,面对一些奇葩的故障或者问题能够拨开迷雾找到真相。今天我们一起来盘点一下Oracle数据库中,
数据和云
2018/03/07
1.7K0
Oracle数据库中最让人匪夷所思的十大问题盘点
推荐阅读
相关推荐
Oracle配置DCD避免会话被防火墙强制断开
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文