【发布时间】:2011-06-03 02:29:16
【问题描述】:
我的应用会自动从故障中恢复。我测试如下:
- 启动应用程序
- 在处理过程中,杀死应用服务器主机(shutdown -r -f)
- 主机重新启动时,应用程序服务器重新启动(作为 Windows 服务)
- 应用程序重新启动
- 应用程序尝试处理,但被先前会话中 Oracle DB 中不完整的 2 阶段提交事务阻止。
- 大约 10 到 30 分钟后,DB 解析了先前的 txn,并且处理继续正常。
我需要它以比这更快的速度继续处理。我的 DBA 建议我应该在声明前加上
ALTER SESSION ADVISE COMMIT;
但他无法保证或详细说明这样做可能导致数据丢失。
幸运的是,有问题的语句只是每隔一秒左右将 datetime 值更新为 SYSDATE,所以如果有一些数据损坏,它会在被覆盖之前持续
但是,对于我的问题。上面的语句究竟做了什么? Oracle在使用时如何解决数据同步问题?
【问题讨论】:
标签: oracle 2phase-commit