[英]list partitioning in oracle tables
我用默认分区创建了一个表,现在我添加了另一个分区/子分区,然后出现了oracle错误
CREATE TABLE STR_MAINFRAME_DB
(
CATEGORY VARCHAR(100) NOT NULL,
SUBCATEGORY VARCHAR(100) NOT NULL
)
PARTITION BY LIST (CATEGORY)
SUBPARTITION BY LIST (SUBCATEGORY)
(
PARTITION P_DUMMY VALUES (DEFAULT)
(
SUBPARTITION S_P_DUMMY VALUES (DEFAULT)
));
我通过使用下面的SQL添加了一个分区,但它引发了错误。
alter table str_mainframe_db add partition p_1 values ('A');
SQL Error: ORA-14323: cannot add partition when DEFAULT partition exists
14323. 00000 - "cannot add partition when DEFAULT partition exists"
*Cause: An ADD PARTITION operation cannot be executed when a partition
with DEFAULT values exists
请帮忙?????????
您不能对现有表进行分区。
您将需要创建一个新的分区表,然后将数据从旧表移到新表。 然后,您可以删除旧表并重命名新表以使用旧表的名称。
根据您的停机时间窗口和应用程序对数据的访问性质,您可能需要使用dbms_redefinition
软件包来管理它。 与手动操作相比,这将花费更多时间,但是它带来的开销使旧表可以在线,而新表正在填充。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.