使用 AUTOLOCATE 配置参数来启用数据库、索引和表的自动定位,并启用自动表分片。 onconfig.std 和缺省值
AUTOLOCATE 0
值 0 = 禁用自动定位和分片。
1 - 32 = 启用自动定位和分片。
数值表明初始分配给标的轮转法分片的多少。
生效
编辑 onconfig 文件并重启数据库服务器之后。
当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置内存中的该值时。
当您通过运行 onmode -wm 命令动态地重置内存中的该值时。
用法
使用 AUTOLOCATE 配置参数来控制数据库服务器是否控制新数据库、索引和表的定位,是 否控制那些表的分片。如果您设定 AUTOLOCATE 配置参数为一个正整数,则数据库服务器 执行下列任务:
⚫ 将新数据库存储在您未在优化 dbspace 中而是在 root dbspace 中指定的位置。 缺省情况下,除了那些专用于 tenant 数据库的 dbspace 之外,所有 dbspace 都 可用。然而,您可控制可用 dbspace 列表。
⚫ 通过轮转法分片新表,分片数目等于 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 配置参数值。