返回首页

gbase数据、南大通用产品文档:GBase8sCLUSTER_TXN_SCOPE 配置参数

更新日期:2024年09月11日

设置 CLUSTER_TXN_SCOPE 配置参数来配置高可用性集群,以便在客户端会话发出提交时,
服务器在辅助服务器上或跨集群地阻塞会话直到事务在那个会话中应用。
onconfig.std 值
CLUSTER_TXN_SCOPE SERVER

l SESSION = 当客户端会话发出提交时,数据库服务器阻塞会话,直到事务提交的影
响返回到那个会话。控制返回到会话之后,同一个数据库服务器的其他会话或集
群中其他数据库服务器上的其他会话可能觉察不到事务提交和事务的影响。
l SERVER (缺省行为) = 当客户端会话发出提交时,数据库服务器阻塞会话,直到
事务应用在客户端发出提交的那个数据库服务器。那个数据库服务器的其他会话
觉察到事务提交和事务的影响。集群中的其他数据库服务器会话可能觉察不到事
务的提交及其影响。对于高可用性集群服务器,这是缺省行为。

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 51 -

l CLUSTER = 当客户端会话发出提交时,数据库服务器阻塞会话,直到事务应用在高
可用性集群中所有数据库服务器,除了使用 DELAY_APPLY 或 STOP_APPLY 的 RS
辅助服务器之外,这些会话觉察到事务提交和事务的影响。
生效
编辑 onconfig 文件并重启数据库服务器之后。
当您通过运行onmode -wf 命令在 onconfig 文件中动态地重置该值时。
当您通过运行 onmode -wm 命令重置内存中的该值时。
您运行带有 -wf CLUSTER_TXN_SCOPE=value 或 -wm CLUSTER_TXN_SCOPE=value 参数的
SQL 管理 API task() 或 admin() 函数之后。
用法
设置 CLUSTER_TXN_SCOPE 配置参数来控制从高可用性集群返回事务提交到客户端应用程
序。集群事务协调可延迟事务提交到客户端应用程序的返回,直到事务应用到辅助服务器
或高可用性集群中的所有辅助服务器。 这个例程防止由于异步日志处理导致的操作失败,
并确保多步骤处理中的那些步骤按串行顺序发生。
集群事务协调不应用到 RS 辅助服务器,
该服务器有 DELAY_APPLY 或 STOP_APPLY 配置函
数值而不是 0。在客户端应用程序可收到提交之前,事务不需要应用在 RS 辅助服务器上。

CLUSTER_TXN_SCOPE 影响只读辅助服务器和可更新辅助服务器上的会话。
示例1:在高可用性集群服务器间的事务协调
在这个示例中,客户端应用程序启动一个两步骤进程。客户端应用程序在主数据库服务器
上插入数据,然后在 HDR 辅助服务器上启动数据处理。
在来自主服务器的日志应用在 HDR 辅助服务器上之前,如果试图在 HDR 服务器上对插入
的数据执行 SELECT,
则操作失败。
为了防止此失败,
设置主服务器的 CLUSTER_TXN_SCOPE
配置参数为 CLUSTER,以便客户端应用程序不收到提交,且不可启动数据处理,直到数据
插入页应用在 HDR 辅助服务器上。
示例2:数据库服务器上的事务协调
在此示例中,您让一个客户端应用程序分作几个处理步骤。每个处理步骤使用一个不同的
SQL 会话来连接到数据库服务器。应用程序更新数据,然后应用程序的另一部分在不同的
SQL 会话中处理被更新的数据。
如果 CLUSTER_TXN_SCOPE 设置为 SESSION,
则处理被更新的数据的那部分应用程序觉察不
到更新的结果,
可发生失败。
为了防止此失败,
设置数据库服务器的 CLUSTER_TXN_SCOPE 配
置参数为 SERVER,以便客户端应用程序不接收提交,且不启动数据处理,直到在数据库服
务器上更新完成。

DISTINCT 类型是从源类型(称为基本类型)派生的数据类型。
源类型可以是:
内置类型
现有 DISTINCT 类型
现有命名 ROW 类型
现有不透明类型
DISTINCT 类型继承其源类型在磁盘上的长度和对齐方式。因此,DISTINCT 类型高效
地使用数据库服务器预先存在的功能。
创建 DISTINCT 数据类型时,数据库服务器将自动创建两种显式强制转型:一种从
DISTINCT 类型强制转型为其源类型,另一种是从源类型强制转型为 DISTINCT 类型。基于
内置源类型的 DISTINCT 类型不继承为内置类型提供的内置强制转型。但是,DISTINCT 类
型却继承已对源类型定义的任何用户定义的强制转型。
DISTINCT 类型不能直接与其源类型进行比较。要比较这两种类型,首先必须显式地将
一种类型强制转型为另一种类型。
必须在数据库中定义 DISTINCT 类型。DISTINCT 类型的定义存储在 sysxtdtypes 系
统目录表中。以下 SQL 语句会维护数据库中 DISTINCT 类型的定义:
CREATE DISTINCT TYPE 语句将 DISTINCT 类型添加至数据库。
DROP TYPE 语句从数据库中除去先前定义的 DISTINCT 类型。
有关上面提到的 SQL 语句的更多信息,请参阅 GBase 8s SQL 指南:语法。有关对
DISTINCT 数据类型强制转型的信息,请参阅单值类型的强制转型。有关显示如何创建和注
册 DISTINCT 类型的强制转型函数的示例,请参阅《GBase 8s 数据库设计和实现指南》。

基本类型为内置字符类型的 DISTINCT 类型的声明中的大小规范可受字符类型声明中
的逻辑字符语义一节中描述的 SQL_LOGICAL_CHAR 功能影响。

配制方法
从glassfish 的安装目录中找到bin/asadmin.bat,如下图所示:

然后地址栏输入:http://localhost:4848 进入管理界面,4848 端口是在
安装时设置的,为默认的端口号,其中的用户名和密码分别为默认的admin 和
adminadmin,如下图所示:

GBase 8a 程序员手册JDBC 篇


- 94 -

南大通用数据技术股份有限公司

分两个步骤:首先建立Connection Pools,然后再建立JDBC Resources。
详见如下步骤:




GBase 8a 程序员手册JDBC 篇
南大通用数据技术股份有限公司

- 95 -
下一步,
由于Database
Vendor(数据库供应商)没有GBase,
因此,
选择空,
如下所示:

注意:在下一步的Datasource Classname 输入:
com.gbase.jdbc.jdbc2.optional.GBaseConnectionPoolDataSource



GBase 8a 程序员手册JDBC 篇


- 96 -

南大通用数据技术股份有限公司

点击本页的“finish”按钮进入如下页面:



GBase 8a 程序员手册JDBC 篇
南大通用数据技术股份有限公司

- 97 -


点击上图中的“Ping”按钮,测试是否设置正确,如下所示:



GBase 8a 程序员手册JDBC 篇


- 98 -

南大通用数据技术股份有限公司