有什么方法可以保证应用程序不会在Oracle中释放行锁吗?如果我确保将commit语句放在finally块中,则可以处理意外错误的情况,但是如果应用程序进程在提交前突然死亡(或有人将电源线/局域网电缆踢出),该怎么办。

有没有办法让Oracle在X时间后自动回滚空闲会话?还是在我以某种方式检测到连接丢失时回滚?

根据我所做的实验,如果我在提交某个应用程序进程之前终止了该进程,则行锁将永久保留,直到我登录数据库并手动终止该会话为止。

谢谢。

最佳答案

尝试在SQLNET.EXPIRE_TIME中设置sqlnet.ora

SQLNET.EXPIRE_TIME=10


documentation


  目的
  指定时间间隔(以分钟为单位),以发送检查以验证客户端/服务器连接处于活动状态。

08-28 02:42