2012-07-20 75 views
0

根据Oracle文档,COMMIT_POINT_STRENGTH是确定分布式事务提交的影响的参数吗?我的应用程序中有2个数据库节点,两个节点中的COMMIT_POINT_STRENGTH都设置为1。如果我从一个节点为两个节点中存在的表启动事务(按同义词)。如果其他节点未能提交数据,那么事务会发生什么?Oracle DB中COMMIT_POINT_STRENGTH参数的影响是什么?

+0

在http://dba.stackexchange.com/上可能有更多的运气问这个问题。 – 2012-07-20 13:41:41

回答

0

首先:COMMIT_POINT_STRENGTH是而不是确定分布式事务提交的影响的参数。 docs说:

它指定一个值来确定分布式事务中的提交点​​站点。交易中具有最高值COMMIT_POINT_STRENGTH的节点将成为提交点站点。 [...] 提交点站点存储有关事务状态的信息。分布式事务中的其他计算机在Oracle的两阶段提交期间需要此信息,因此希望机器始终可用作提交点站点。

所以考虑到节点之间的通信是否完好,回答你的问题“发生的交易是什么,如果其他节点未能提交数据?”是独立的COMMIT_POINT_STRENGTH并且遵循Oracle的两阶段提交:事务在节点的两个节点处回滚。

相关问题