我的应用程序可以自动从故障中恢复。我测试如下:
我需要它继续处理比这更快。我的DBA建议我应该在我的声明前加上
ALTER SESSION ADVISE COMMIT;
但他无法向我提供有关数据丢失可能性的保证或细节。
幸运的是,有问题的陈述只是每隔一秒左右将datetime
值更新为SYSDATE
,所以如果有一些数据损坏,它将持续<在被覆盖之前1秒。
但是,对我的问题。上面的陈述到底是做什么的? Oracle如何解决数据同步问题?
答案 0 :(得分:2)
您能否澄清“情景”中“本地”和“远程”数据库的作用。
通常multi-db transaction执行以下操作
如果步骤4完成然后出现故障,则会发生疑问。通常的做法是重新启动远程数据库并确认它是否已提交。如果是,则步骤(5)继续。如果无法提交事务的远程组件,则回滚本地组件。
您的描述似乎是指应用服务器故障,这是一个不同的鱼群。在您的情况下,我认为方案如下:
在这种情况下,解决方案是更快地终止旧连接,使用较短的超时(例如服务器的sqlnet.ora中的SQLNET_EXPIRE_TIME)或手动的ALTER SYSTEM KILL SESSION。