如果我更改 table 以添加分区,我会丢失 Oracle SQL 中的数据吗?

If I alter a table to add a partition will I lose data in Oracle SQL?

我不确定是否要更改 table 以创建新分区,因为我担心会丢失数据。如果 Oracle SQL 数据库中的 table 已经分区,但我正在添加一个新分区,table 中的现有数据是否会被删除?

不,你不会丢失数据

您可以创建列表分区并在默认分区上扩展它

例如,如果您的分区是日期:

alter table your_table split partition PDEFAULT values(TO_DATE('20161206','yyyymmdd')) into ( partition P20161206,partition PDEFAULT)

唯一可以破坏数据的 ALTER TABLE 分区命令是 DROP 和 TRUNCATE。

EXCHANGE 分区命令可以将数据从 table 分区移动到不同的 table,反之亦然。

ADD、MOVE、COALESCE、RENAME、SPLIT 和 MERGE 不会更改 table 的数据,尽管 COALESCE、SPLIT 和 MERGE 可以更改存储数据的分区或子分区。