oracle分区表分区导出,Oracle分区表数据的导入与导出

Oracle分区表的使用在一定程度上提高了对表数据的存储及处理性能,在查询性能和数据存储安全上体现了其特有的优势,因此很好的利用分区表,在一定程度上有利于数据库性能的优化。而Oracle分区表数据的导入导出也成了这些工作中不可忽略的一部分。分区表的导入导出同普通表的导入导出方式没有什么很大区别,只不过在导入导出时需要考虑到分区的特殊性,如:分区索引,将分区迁移到普通表,或使用原始分区表导入到新的分区表。下面将描述使用imp/exp,impdp/expdp导入导出分区表数据。

有关分区表的特性请参考:

有关导入导出工具请参考:

有关导入导出的官方文档请参考:

一、分区级别的导入导出

1、可以导出一个或多个分区,也可以导出所有分区(即整个表)。

2、可以导入所有分区(即整个表),一个或多个分区以及子分区。

3、对于已经存在数据的表,使用imp导入时需要使用参数IGNORE=y;而使用impdp导入数据时,需要加table_exists_action=append。

4、相关参数的说明,ignore=y(表示忽略创建错误,继续后面的操作),statistics=none(表示不接收统计信息)。

二、创建测试实例

1、查看当前Oracle数据库版本

select * from v$version where rownum<2

BANNER

-------------------------------------------------------------

Oracle9i Enterprise Edition Release 9.2.0.1.0 -

Production

2、创建一个分区表

create table test_pt

(

tid number primary key not null,

sdate date not null,

srow number(8) not null

)

partition by range(srow)

(

partition p1 values less than(100),

partition p2 values less than(200),

partition p3 values less than(maxvalue)

)nologging;

其中,tid为自增序列,需要创建对应的序列和触发器,其创建脚本如下:

创建序列脚本:

create sequence sq_test_pt

increment by 1 start with 1

maxvalue 1.0E28

minvalue 1

nocycle cache

你可能感兴趣的:(oracle分区表分区导出)