首页 > 解决方案 > 是否可以将分区添加到 Oracle 中已经存在的表中?

问题描述

我有一个表 ( instrument_balance_hist) 有近十亿行。我想按instrument_id类型的属性对其进行分区NUMBER(6),我使用了查询:

ALTER TABLE instrument_balance_hist ADD  PARTITION by RANGE( instrument_id ) (
partition p1 VALUE LESS THAN (100),
partition p2 VALUE LESS THAN (200),
partition p3 VALUE LESS THAN (300),
partition p4 VALUE LESS THAN (400),
partition p5 VALUE LESS THAN (500),
partition p6 VALUE LESS THAN (600)
);

和查询:

ALTER TABLE instrument_balance_hist ADD  PARTITION by HASH (instrument_id)(
partition p1,
partition p2,
partition p3,
partition p4 );

两个查询都在“by”处返回无效的数据类型。现在我不确定是否可以对现有表进行分区,因为 youtube 上的所有教程都是通过制作重复表来实现的。

标签: sqloracledatabase-partitioning

解决方案


推荐阅读