我是通过以下方式完成的:
PARTITION_OPTIONS=merge
的Oracle数据泵(expdp / impdp)实用程序的帮助。 ALTER TABLE t1 MERGE PARTITIONS p01 TO p04 INTO p0;
(这里我合并成功,但所有存储在一个我不想要的分区。)但是这里我只想知道,有没有办法从SQL>
使用oneliner命令/语句提示实现这一点?因此,数据可以存储在表/表空间中而不需要任何分区。
答案 0 :(得分:0)
第一个解决方案:
进行分区交换,假设你有以下分区表:
create table tpart (
x int,
y int
) partition by range (x) (
partition p0 values less than (10),
partition p1 values less than (20)
);
创建一个具有相同列的新非分区表:
create table new_table(
x int,
y int
);
然后用新表交换分区:
alter table tpart exchange partition p0 with table new_table including indexes update indexes;
alter table tpart exchange partition p1 with table new_table including indexes update indexes;
第二个解决方案:
在目标模式中预先创建表,而不使用datapump进行分区和导入数据:table_exists_action = append