返回首页

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

更新日期:2024年09月11日

使用 AUTOLOCATE 配置参数来启用数据库、索引和表的自动定位,并启用自动表分片。
onconfig.std 和缺省值
AUTOLOCATE 0

0 = 禁用自动定位和分片。
1 - 32 = 启用自动定位和分片。数值表明初始分配给标的轮转法分片的多少。
生效
编辑 onconfig 文件并重启数据库服务器之后。
当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置内存中的该值时。

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

当您通过运行 onmode -wm 命令动态地重置内存中的该值时。
用法
使用 AUTOLOCATE 配置参数来控制数据库服务器是否控制新数据库、索引和表的定位,是
否控制那些表的分片。如果您设定 AUTOLOCATE 配置参数为一个正整数,则数据库服务器
执行下列任务:
l 将新数据库存储在您未在优化 dbspace 中而是在 root dbspace 中指定的位置。
缺省情况下,
除了那些专用于 tenant 数据库的 dbspace 之外,
所有 dbspace 都
可用。然而,您可控制可用 dbspace 列表。
l 通过轮转法分片新表,分片数目等于 AUTOLOCATE 配置参数的值。
l 随着表增长,添加更多表分片。
如果您设置 AUTOLOCATE 配置参数的值为 0,则缺省地在 root
dbspace 中创建新数据库。
新表和索引创建在数据库所在的同一个 dbspace 中,新表和索引不分片。
自动定位不适用于 tenant 数据库或 tenant 数据库内的表、分片和索引。
通过在 CREATE
DATABASE 语句中以 IN 子句指定一个 dbspace,您可覆盖数据库的自动定
位。
类似地,
通过在 CREATE
TABLE 语句中以 IN 子句指定一个 dbspace 或以 FRAGMENT
BY
子句指定一个分片策略,您可覆盖表的自动定位和分片。
当启用这个配置参数时,您可使用 admin() 或 task() 函数的 autolocate database 参
数来:
l 管理自动定位和分片的 dbspace 列表。可用 dbspace 列表在 sysautolocate 系
统目录表中。
l 对于指定的数据库禁用自动定位和分片。
您可使用 SQL 的 SET ENVIRONMENT 语句的 AUTOLOCATE 环境选项来启用或禁用会话的
AUTOLOCATE 配置参数值。

SQLDisconnect 关闭与指定连接句柄关联的连接。
下表描述了 SQLDisconnect 的 SQLSTATE 和错误值。
SQLSTATE
错误值
错误消息
01000
-11001
General warning
01002
-11002
Disconnect error
08003
-11017
Connection not open
25000
-11032
Invalid transaction state
S1000
-11060
General error
S1001
-11061
Memory-allocation failure
S1010
-11067
Function-sequence error
08S01
-11301
A protocol error has been detected. Current connection is
closed.

用法
如果应用程序在 SQLBrowseConnect 返回 SQL_NEED_DATA 之后调用 SQLDisconnect ,
则在返回不同的返回码之前,驱动程序取消连接浏览过程并返回 hdbc 到未连接状态。

GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 218 -
如果应用程序在未完成的事务与连接句柄关联时调用 SQLDisconnect,则驱动程序返回
SQLSTATE 25000 (无效的事务状态),指示该事务没有变更,连接仍就打开。未完成的
事务是没有提交或回滚的 SQLTransact。
如果应用程序在是否与连接相关联 hstmt 之前调用 SQLDisconnect,则驱动程序在它从数
据源断开连接后释放剩余的 hstmt。然而,如果一个或多个与连接关联的 hstmts 仍在异步
执行,则 SQLDisconnect 返回 SQL_ERROR ,其中 SQLSTATE 的值为 S1010(函数序
列错误)。

.....................................
- 727 -