proc程序与数据库保持长连接 一个长期运行的proc程序中,如何检测数据库连接的状态了?比如我可以检测出连接异常,然后重连。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 查看v$session的信息可以得到连接状态 你的意思是V$session中Inactive就是异常了?而且如何确定程序使用session的sid了? UP!俺也刚搞!支持一下!楼主帮忙看看俺的问题如何?http://community.csdn.net/Expert/topic/4141/4141308.xml?temp=.8532831 我觉得楼主应该描述清楚这个诊断是由客户端的程序来进行还是由数据库服务器来进行。我个人觉得楼主说的是前一中,那么我认为比较简单的实现是有个守护线程/进程来定时对通过该连接进行一个类似ping的测试,可以考虑执行一个类似“select user from dual”的语句 谢谢!是前一种.由客户端程序控制. 最开始是发觉每条sql语句都要判断执行状态,如果为ora-01012的话就重连,这样做比较麻烦。现在就只是把错误置位为数据库出错,在最后回滚,然后判断如果是ora-01012的话就重连。有一点不清楚的地方是,oracle把20分钟没有活动的session置为inactive,那多久oracle会把这个session清理掉?还是不清理?(没找到相关的资料)如果不清理,在置为inactive后如果有新的操作是否会恢复为active并正常执行请求?如果是这样的话那连接的保持应该是可以使用一些手段来 keep alive; 这个问题也在困扰着我,我一般的做法是通过EXEC SQL WHENEVER SQLERROR 来监视oracle错误,出错后的处理由调用方再重新连接数据库,也是比较麻烦的方法,希望大家能够讨论出一个通用、省事的方法。 关于在eclipse的data source explorer上连接oracle 11g数据库的存储过程问题 为什么oracle占用的磁盘空间自动增长? 如何在Java程序里解决“ORA-01089: 正在执行立即关闭 - 不允许进行任何操作”? 请教连接池泄漏的问题 存储过程执行问题 oracle 中多语言问题 語句優化! 怎样从varchar2数据中获得每一个ascii字符? 如何将Long Raw类型转换为Blob类型? 求助贴,下面这个游标怎么都运行不出来,还请各位大神帮忙指导下,拜谢! 一个存储过程``` 有谁知道,这样的sql如何写?
而且如何确定程序使用session的sid了?
!俺也刚搞!
支持一下!
楼主帮忙看看俺的问题如何?
http://community.csdn.net/Expert/topic/4141/4141308.xml?temp=.8532831
是前一种.由客户端程序控制.
最开始是发觉每条sql语句都要判断执行状态,如果为ora-01012的话就重连,这样做比较麻烦。现在就只是把错误置位为数据库出错,在最后回滚,然后判断如果是ora-01012的话就重连。有一点不清楚的地方是,oracle把20分钟没有活动的session置为inactive,那多久oracle会把这个session清理掉?还是不清理?(没找到相关的资料)
如果不清理,在置为inactive后如果有新的操作是否会恢复为active并正常执行请求?如果是这样的话那连接的保持应该是可以使用一些手段来 keep alive;