基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
将二级分区表加入表组
更新时间:2023-07-19 13:03:06
创建二级分区表表组后,您可以将二级分区表加入表组。
OceanBase 数据库的 Oracle 模式当前支持通过以下两种方式将二级分区表添加到分区表表组:
创建二级分区表时直接指定表组
创建二级分区表后再将表加入表组
注意事项
将表添加到分区表表组前,需要注意以下事项:
如果要将一张分区表加入到已存在的分区表表组,则需要保证该分区表的分区类型及分区个数均与表组完全一致。
如果表或表组指定了 Locality 和 Primary Zone 信息,则其 Locality 和 Primary Zone 信息也必须完全一致。
需要确保当前用户拥有目标表和表组的
CREATE TABLE权限。
创建二级分区表时直接指定表组
您可以通过 CREATE TABLE 语句在创建表时将表加入到已存在的表组。
示例:
创建非模版化 Range + Range 二级分区表表组
tg2_f_rr。obclient> CREATE TABLEGROUP tg2_f_rr PARTITION BY RANGE COLUMNS 1 SUBPARTITION BY RANGE COLUMNS 1 (PARTITION p0 VALUES LESS THAN (100) (SUBPARTITION sp1 VALUES LESS THAN (2019), SUBPARTITION sp2 VALUES LESS THAN (2020), SUBPARTITION sp3 VALUES LESS THAN (2021) ), PARTITION p1 VALUES LESS THAN (200) (SUBPARTITION sp5 VALUES LESS THAN (2019), SUBPARTITION sp6 VALUES LESS THAN (2020), SUBPARTITION sp7 VALUES LESS THAN (2021) ) ); Query OK, 0 rows affected创建二级分区表
tbl1并指定表组tg2_f_rr。obclient> CREATE TABLE tbl1(col1 int, col2 int) TABLEGROUP = tg2_f_rr PARTITION BY RANGE(col1) SUBPARTITION BY RANGE(col2) (PARTITION p0 VALUES LESS THAN(100) (SUBPARTITION p0_r1 VALUES LESS THAN(2019), SUBPARTITION p0_r2 VALUES LESS THAN(2020), SUBPARTITION p0_r3 VALUES LESS THAN(2021) ), PARTITION p1 VALUES LESS THAN(200) (SUBPARTITION p1_r1 VALUES LESS THAN(2019), SUBPARTITION p1_r2 VALUES LESS THAN(2020), SUBPARTITION p1_r3 VALUES LESS THAN(2021) ) ); Query OK, 0 rows affected
创建二级分区表后再将表加入表组
创建二级分区表之后,您可以通过 ALTER TABLEGROUP 或 ALTER TABLE 语句将表加入到已存在的表组。
示例:
创建模版化 Range + Range 二级分区表表组
tg2_m_rr。obclient> CREATE TABLEGROUP tg2_m_rr PARTITION BY RANGE COLUMNS 1 SUBPARTITION BY RANGE COLUMNS 1 SUBPARTITION TEMPLATE (SUBPARTITION sp1 VALUES LESS THAN (2019), SUBPARTITION sp2 VALUES LESS THAN (2020), SUBPARTITION sp3 VALUES LESS THAN (2021) ) (PARTITION p0 VALUES LESS THAN (100), PARTITION p1 VALUES LESS THAN (200) ); Query OK, 0 rows affected创建模版化 Range + Range 二级分区表
t2_m_rr,且表的分区类型及分区个数与表组tg2_m_rr一致。obclient> CREATE TABLE t2_m_rr (col1 INT, col2 INT) PARTITION BY RANGE(col1) SUBPARTITION BY RANGE(col2) SUBPARTITION TEMPLATE (SUBPARTITION sp1 VALUES LESS THAN (2019), SUBPARTITION sp2 VALUES LESS THAN (2020), SUBPARTITION sp3 VALUES LESS THAN (2021) ) (PARTITION p0 VALUES LESS THAN (100), PARTITION p1 VALUES LESS THAN (200) ); Query OK, 0 rows affected将表
t2_m_rr加入到表组tg2_m_rr。obclient> ALTER TABLEGROUP tg2_m_rr ADD TABLE t2_m_rr;或者
obclient> ALTER TABLE t2_m_rr SET TABLEGROUP tg2_m_rr;通过
SHOW TABLEGROUPS命令确认表t2_m_rr是否已功能加入到表组tg2_m_rr。obclient> SHOW TABLEGROUPS LIKE 'TG2_M_RR';
将二级分区表加入表组后,您还可以执行将二级分区表从表组中移出、将二级分区表迁移到其他表组以及删除表组等操作,这些操作与普通表组的相同,具体操作请参见 表组管理命令。