首批通过分布式安全可靠测评,为关键业务系统打造
修改随机分布表
更新时间:2026-07-29 10:39:51
本文将向您介绍如何使用 SQL 语句修改随机分布表。
权限要求
修改修改随机分布表需要有 ALTER 权限。更多有关 OceanBase 数据库权限的详细介绍,参见 Oracle 模式下的权限分类。
语法
修改随机分布表的 SQL 语句格式如下:
ALTER TABLE table_name PARTITION BY RANDOM SIZE('size_value');
动态分区管理属性参数说明
| 参数 | 描述 |
|---|---|
| table_name | 表名称。 |
| SIZE('size_value') | 用于修改随机分布表每个分区的数据容量阈值,超出后触发自动新增分区。取值范围 [1MB, +∞),支持 MB、GB 等单位。 |
更多有关修改表语法的详细参数说明信息,参见 ALTER TABLE。
示例
创建随机分布表
tbl1,并指定分区大小为 2GB。obclient> CREATE TABLE tbl1( col1 INT, col2 VARCHAR2(1024) ) PARTITION BY RANDOM SIZE('2GB');查看表
tbl1的定义信息。obclient> SHOW CREATE TABLE tbl1;查询结果如下:
+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | TABLE | CREATE TABLE | +-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | TBL1 | CREATE TABLE "TBL1" ( "COL1" NUMBER(*,0), "COL2" VARCHAR2(1024) ) COMPRESS FOR ARCHIVE REPLICA_NUM = 1 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE ENABLE_MACRO_BLOCK_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 0 partition by random size ('2048MB') | +-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set修改随机分布表
tbl1的分区大小为 8GB。obclient> ALTER TABLE tbl1 PARTITION BY RANDOM SIZE('8GB');再次查看表
test_tbl1的定义信息。obclient> SHOW CREATE TABLE tbl1;查询结果如下:
+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | TABLE | CREATE TABLE | +-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | TBL1 | CREATE TABLE "TBL1" ( "COL1" NUMBER(*,0), "COL2" VARCHAR2(1024) ) COMPRESS FOR ARCHIVE REPLICA_NUM = 1 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE ENABLE_MACRO_BLOCK_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 0 partition by random size ('8192MB') | +-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set