运行 SET ENVIRONMENT CLUSTER_TXN_SCOPE 语句,以便于当高可用性集群服务器上的客户端会话发出提交时,服务器阻塞该会话,直到在辅助服务器上或跨集群地在那个会话中应用事务为止。
在集群环境中,此语句可为当前的用户会话覆盖 CLUSTER_TXN_SCOPE 配置参数的设置,或可在同一会话中先前的 SET ENVIRONMENT
CLUSTER_TXN_SCOPE 语句覆盖了配置参数设置之后,恢复 onconfig 文件设置的作用。
要使用此会话协作特性,请紧跟在 SET ENVIRONMENT CLUSTER_TXN_SCOPE 关键字之后,执行下列选项之一。
- 'SESSION' 以便当客户端会话发出提交时,数据库服务器阻塞该会话,直到将该会话提交的影响返回到那个会话为止。在将控制返回到会话之后,在同一数据库服务器或在该集群中其他数据库服务器上的其他会话可能察觉不到该事务提交和该事务的影响。
- 'SERVER' 以便当客户端会话发出提交时,数据库服务器阻塞该会话,直到将该事务应用到客户端会话从其发出提交的数据库服务器为止。那个数据库服务器上的其他会话觉察到该事务提交和该事务的影响。该集群中的其他数据库服务器的会话可能觉察不到该事务的提交及其影响。对于高可用性集群服务器,此行为是缺省的。
- 'CLUSTER' 以便当客户端会话发出提交时,数据库服务器阻塞会话,直到将该事务引用到高可用性集群中所有的数据库服务器为止,除了正在使用
DELAY_APPLY 或 STOP_APPLY 的 RS 辅助服务器之外,在高可用性集群中的任何数据库服务器的其他会话都觉察到该事务提交和该事物的影响。
- DEFAULT 如果设定那个参数,则以便将集群事务作用域恢复到该数据库服务器实例的 onconfig 文件中的 CLUSTER_TXN_SCOPE 配置参数设置。
例如,要为集群启用事务协作,请运行下列语句:
SET ENVIRONMENT CLUSTER_TXN_SCOPE 'CLUSTER';