AUTOLOCATE 配置参数

使用 AUTOLOCATE 配置参数来启用数据库、索引和表的自动定位,并启用自动表分片。

onconfig.std 和缺省值
AUTOLOCATE 0
0 = 禁用自动定位和分片。

1 - 32 = 启用自动定位和分片。数值表明初始分配给标的轮转法分片的多少。

生效
编辑 onconfig 文件并重启数据库服务器之后。
当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置内存中的该值时。
当您通过运行 onmode -wm 命令动态地重置内存中的该值时。

用法

使用 AUTOLOCATE 配置参数来控制数据库服务器是否控制新数据库、索引和表的定位,是否控制那些表的分片。如果您设定 AUTOLOCATE 配置参数为一个正整数,则数据库服务器执行下列任务:

如果您设置 AUTOLOCATE 配置参数的值为 0,则缺省地在 root dbspace 中创建新数据库。新表和索引创建在数据库所在的同一个 dbspace 中,新表和索引不分片。

自动定位不适用于 tenant 数据库或 tenant 数据库内的表、分片和索引。

通过在 CREATE DATABASE 语句中以 IN 子句指定一个 dbspace,您可覆盖数据库的自动定位。类似地,通过在 CREATE TABLE 语句中以 IN 子句指定一个 dbspace 或以 FRAGMENT BY 子句指定一个分片策略,您可覆盖表的自动定位和分片。

当启用这个配置参数时,您可使用 admin()task() 函数的 autolocate database 参数来:
  • 管理自动定位和分片的 dbspace 列表。可用 dbspace 列表在 sysautolocate 系统目录表中。
  • 对于指定的数据库禁用自动定位和分片。

您可使用 SQL 的 SET ENVIRONMENT 语句的 AUTOLOCATE 环境选项来启用或禁用会话的 AUTOLOCATE 配置参数值。