可以直接使用ALTER TABLE将普通表改为分区表吗

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【问题现象及影响】
有一批比较大的普通表,可以直接使用ALTER TABLE将普通表改为分区表吗
还是只有类似下面先创建分区表,再insert into方式,谢谢
CREATE TABLE new_table_name (
column1 datatype,
column2 datatype,
)
PARTITION BY HASH(column_name) PARTITIONS partition_number;

INSERT INTO new_table_name
SELECT * FROM old_table_name;

【附件】

OceanBase 数据库不支持将非分区表修改为分区表。
insert into select 是可以的。

OceanBase 4.0之后支持了将普通表修改为分区表。

具体sql语句有吗,求助

INSERT INTO new_table_name
SELECT * FROM old_table_name; 这个new_table_name 和 old_table_name 哪个是分区表呢?

new_table_name是分区表

alter table xxx
PARTITION BY HASH(column_name) PARTITIONS partition_number;

1 个赞

Oracle租户如何转换呢?