Expdp导出分区表的数据文件再Impdp导入到没分区的表的操作方法
不知道有没有朋友在使用Oracle时碰到这样的问题,如果你碰到了请按照下面的方法试一下,应该可以,我自己做个测试才发表的,希望前辈们不要见笑
Article_Detail是个按时间的分区表:
导出的Bat如下:假设这个表有四个分区,且每个分区的NUM_ROWs至少有20万记录,导出参数tables=Article_Detail 表示每个分区都会导出20万条记录,实则导出的记录为80万。
- expdp test/1234@orcl_test query=article_detail:/"where rownum<=200000 order by Article_Detail_ID desc/" tables=Article_Detail directory=TEST_DUMP_DIR dumpfile=Article_Detail_20W.dmp logfile=Article_Detail_20W.log compression=DATA_ONLY content=DATA_ONLY parallel=2
导入:从分区表导出的文件里导入到非分区表,在导入的批处理里要有partition_options参数,partition_options=merge表示将四个分区的数据合并在一起。因为分区表中对应多个表空间,所以要remap_tablespace一下,导入脚本如下:
- impdp test_2/1234@orcl_test2 directory=TEST_DUMP_DIR remap_schema=test:test_2 dumpfile=Article_Detail_20W.dmp logfile=Impdp_Article_Detail_20W.log table_exists_action=APPEND data_options=SKIP_CONSTRAINT_ERRORS parallel=2 Exclude=Trigger partition_options=merge
如果你发现有其它的方法也可以,我们可以一起交流一下!呵呵……