有什么方法可以保证应用程序不会在Oracle中释放行锁吗?如果我确保将commit语句放在finally块中,则可以处理意外错误的情况,但是如果应用程序进程在提交前突然中断(或者有人将电源线/局域网电缆拔出),该怎么办。
有没有办法让Oracle在X时间后自动回滚空闲会话?还是在我以某种方式检测到连接丢失时回滚?
根据我所做的实验,如果我在提交某个应用程序进程之前终止了该进程,则行锁将永久保留,直到我登录数据库并手动终止该会话为止。
谢谢。
尝试SQLNET.EXPIRE_TIME在中设置sqlnet.ora。
SQLNET.EXPIRE_TIME
sqlnet.ora
SQLNET.EXPIRE_TIME=10
从文档中:
目的 指定时间间隔(以分钟为单位),以发送检查以验证客户端/服务器连接处于活动状态。