简体   繁体   English

如果我改变一个表来添加一个分区,我会丢失Oracle SQL中的数据吗?

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

I am not sure about altering a table to create a new partition as I am afraid I will lose data. 我不确定是否要更改表来创建新分区,因为我担心会丢失数据。 If a table in an Oracle SQL DB is already partitioned but I am adding a new partition, will the existing data in the table be deleted? 如果Oracle SQL DB中的表已经被分区但我正在添加新分区,那么表中的现有数据是否会被删除?

No you dont lose the data 不,你不会丢失数据

You can create list partition and expand it on default partition 您可以创建列表分区并在默认分区上展开它

for example if your partion is date: 例如,如果您的分区是日期:

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

The only ALTER TABLE partitioning commands that can destroy data are DROP and TRUNCATE. 唯一可以销毁数据的ALTER TABLE分区命令是DROP和TRUNCATE。

The EXCHANGE partition command can move data from a table partition to a different table, and vice-versa. EXCHANGE分区命令可以将数据从表分区移动到不同的表,反之亦然。

ADD, MOVE, COALESCE, RENAME, SPLIT, and MERGE do not change the table's data, although COALESCE, SPLIT, and MERGE can change the partition or subpartition in which data is stored. 虽然COALESCE,SPLIT和MERGE可以更改存储数据的分区或子分区,但ADD,MOVE,COALESCE,RENAME,SPLIT和MERGE不会更改表的数据。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM