返回首页

gbase数据、南大通用产品文档:GBase8cagent_heartbeat_timeout

更新日期:2024年09月11日

参数说明:cm_server 心跳超时时间。
取值范围:整型,2~231 - 1,单位为秒。修改后需要重启cm_agent 才能生效。参数修
改请参考表GUC 参数设置方式进行设置。
默认值:8

功能
这个参数用于管理临时内存堆的大小。
这是一个非常重要的参数,合理的参数设置可以从很大程度上提高数据库的查询
性能。
将gbase_heap_temp 设置的很大,可以大大改善数据库的查询性能,但过大的
gbase_heap_temp 会导致操作系统的不稳定,因此,gbase_heap_data +
gbase_heap_temp + gbase_heap_large + gbase_buffer_insert 不能超过系统总内存的
80%,否则启动时会报错。
该参数的默认值是由系统自动评估计算出来的,不是固定的值。默认值为物理内
存*(1/16),单位:字节。
修改该参数(过大)会影响内存检测的结果,可能会导致节点进程启动终止,内
存检测请参考gbase_memory_pct_target 参数。

在缺省情况下,
所有新的 Connection 对象都处于 autocommit 模式。
当打开 autocommit 模
式时,在发送至数据库服务器的每一语句之后,都自动地执行 COMMIT 语句。要关闭
autocommit 模式,请显式地调用 Connection.setAutoCommit(false)。
当 autocommit 模式关闭时,当将下一语句发送至数据库服务器时,GBase 8s JDBC
Driver 隐式地启动新的事务。此事务持续,直到用户发出 COMMIT 或 ROLLBACK 语句
为止。如果用户通过执行 setAutoCommit(false) 已启动了事务,然后再次调
用 setAutoCommit(false),则现有的事务继续保持不变。在 Java™ 程序删除至数据库或数据
库服务器的连接之前,
它必须通过发出 COMMIT 或 ROLLBACK 语句来显式地终止事务。

在事务期间,如果 Java 程序设置 autocommit 模式为打开,则 GBase 8s JDBC Driver 提交
当前的事务,如果 JDK 是 1.4 版本和后来版本的话。否则,在打开 autocommit 之前,
驱动程序回滚当前事务。
在以日志记录创建了的数据库中,如果将 COMMIT 语句发送至数据库服务器,且
autocommit 模式为打开,则数据库服务器返回错误 -255: Not in transaction,因为当前未启
动用户事务。不管以 Connection.commit() 方法还是直接以 SQL 语句发送了 COMMIT 语
句,都发生此情况。
在以 ANSI 模式创建的数据库中,显式地将 COMMIT 语句发送至数据库服务器,会提交
一个空事务。如果当前没有打开用户事务,则由于数据库服务器在执行语句之前自动地启
动事务,因此,不返回错误。
对于 XAConnection 对象,缺省情况下 autocommit 模式是关闭的,当分布式事务正在发生
时,必须保持关闭。事务管理器执行提交和回滚操作;因此,请避免直接执行这些操作。
对于 GBase 8s,两个 JDBC 类支持在遇到不利事件之后可将 SQL 事务回滚至保存点(而
不是完全取消):

IfmxSavepoint(接口)

IfxSavepoint(Savepoint 类)

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 88 -
通过下列标准 JDBC 方法,JDBC 应用程序可创建、删除或回滚到保存点对象:
表 1. JDBC 保存点类和方法

方法
IfxConnection setSavepoint()releaseSavepoint()rollback(savepoint)
IfxSavepoint
getSavepointId()getSavepointName()
这两个方法不可互换。调用 getSavepointName() 会出错失败,除非
以 setSavepoint() 方法的或 setSavepointUnique() 方法的字符
串参数来声明保存点对象。类似地,如果调用命名的保存点对象
的 getSavepointId(),则返回错误。
此外,setSavepointUnique() 方法可设置其标识符为唯一的命名的保存点。当唯一的保存点
是活动的时,如果应用程序尝试在同一连接内重新使用它的名称,则 GBase 8s 发出异常。

下列约束适用于 JDBC 中的保存点对象:

在 XA 事务内,保存点无效。

不可使用保存点,除非当前连接设置 autocommit 模式为关闭。

在至不记录日志的数据库的连接中,保存点无效。

在触发了的活动中不可引用保存点。

在跨服务器的分布式查询中,其中任何参与的从属服务器都不支持保存点对象,在
连接至不支持保存点的服务器之后,如果设置一保存点,则发出警告,且任何
对 rollbacksavepoint 的调用都出错失败。
要获取关于在 SQL 事务中使用保存点的更多信息,
请参阅
《GBase 8s SQL 指南:
语法》

对 SAVEPOINT、RELEASE SAVEPOINT 和 ROLLBACK WORK TO SAVEPOINT 语句
的描述。