首批通过分布式安全可靠测评,为关键业务系统打造
SET_TABLEGROUP_BALANCE_WEIGHT
更新时间:2026-07-04 19:43:29
子程序 SET_TABLEGROUP_BALANCE_WEIGHT 用于设置 SHARDING NONE 类型表组的权重。
说明
该子程序从 V4.4.1 版本开始引入。
语法
DBMS_BALANCE.SET_TABLEGROUP_BALANCE_WEIGHT(
weight INT,
tablegroup_name VARCHAR(65535)
);
参数说明
| 参数 | 说明 |
|---|---|
| weight | 表组权重值(整数),取值范围 [1, +∞)。值越大,分配的资源比例越高。 |
| tablegroup_name | 表组名称。 |
使用说明
DBMS_BALANCE.SET_TABLEGROUP_BALANCE_WEIGHT 用于设置 SHARDING NONE 表组权重。
enable_database_sharding_none = true时,新创建 DataBase 时一同创建的默认绑定表组的权重为 1。其他没设置过权重的SHARDING NONE表组默认权重为 0,不参与权重均衡。带权重的表组中,表组中的表级、分区级权重无效。
推荐最多划分三档表组权重:
- 大权重 = 100% *
SHARDING NONE表组总数。 - 中权重 = 50% *
SHARDING NONE表组总数。 - 小权重 = 1。
- 大权重 = 100% *
示例
在 sys 租户中调用,设置租户
mysql下表组TG_TD_test的权重为 10。obclient> CALL DBMS_BALANCE.SET_TABLEGROUP_BALANCE_WEIGHT(10, 'TG_TD_test') TENANT = 'mysql';在用户租户调用,设置本租户下表组
TG_TD_test的权重为 10。obclient> CALL DBMS_BALANCE.SET_TABLEGROUP_BALANCE_WEIGHT(10, 'TG_TD_test');
相关文档
- 有关删除
SHARDING NONE类型表组的权重的介绍信息,参见 CLEAR_TABLEGROUP_BALANCE_WEIGHT。 - 有关查询各个表组的权重的介绍信息,参见 oceanbase.CDB_OB_DATABASES 或 oceanbase.DBA_OB_DATABASES。
- 有关控制创建 DataBase 时用户表是否开启自动聚合的介绍信息,参见 enable_database_sharding_none。