ORACLE分布式事务中设置Commit point site的意义是什么?
其中参与更新的数据需要一直加锁么?
那岂不是效率不高?
为什么不当作会话树中的普通节点处理呢?

解决方案 »

  1.   

    在提交阶段,分布事务会话树中的提交节点最先被提交,并且全局协调器会根据此节点的提交结果,来是否提交/回滚其他节点。按我的理解,oracle 这是为了保证分布事务中最重要的数据修改优先被提交。并且,提交节点不会进入分布事务的准备阶段,相关的数据不会上锁(直到提交时),因此即使分布事务失败,其上的分布事务也不会进入 IN-DOUBT 状态。这样可以保证提交节点上的数据可以被用户正常访问。