关于Oracle 9i exp/imp 迁移过程中表分区是否导入成功的测试

5825阅读 0评论2012-06-13 jackson198574
分类:Oracle

    
测试目的:

确定在导入/导出过程中表分区是否能正常成功导入。

 

测试环境:

源数据库:Oracle 9i on windows 2003 server 32 bit

目的数据库:Oracle 9i on Red Hat Linux 32 bit

 

测试思路:

整库导出,导入的时候按照用户导入,确定导入之后,表分区是否都可用。

 

测试步骤:

1.创建基础环境:

参考《关于Oracle 9i导入导出数据的测试报告》中“测试步骤”中的“创建基础环境”环节部分。

2.创建存放分区的表空间,也可以放在已存在的同一表空间,此次测试将分区放在两个不同表空间。

创建语句:

CREATE TABLESPACE P1

    DATAFILE 'C:\ORACLE\ORADATA\KMYKS\P101.DBF' SIZE 50M AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED

    EXTENT MANAGEMENT LOCAL AUTOALLOCATE

    LOGGING

    ONLINE

    SEGMENT SPACE MANAGEMENT AUTO

/

 

 

CREATE TABLESPACE P2

    DATAFILE 'C:\ORACLE\ORADATA\KMYKS\P201.DBF' SIZE 50M AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED

    EXTENT MANAGEMENT LOCAL AUTOALLOCATE

    LOGGING

    ONLINE

    SEGMENT SPACE MANAGEMENT AUTO

/

 

 

3.创建分区表并且插入数据:

create table test_part

(no int,

value  varchar2(20)

)

partition by hash(no)

(partition part_1 tablespace P1,

partition part_2 tablespace P2)

/

 

insert into test_part values(1,123);

insert into test_part values(2,123);

insert into test_part values(3,123);

insert into test_part values(4,123);

insert into test_part values(5,123);

insert into test_part values(6,123);

insert into test_part values(7,123);

insert into test_part values(8,123);

insert into test_part values(9,123);

insert into test_part values(10,123);

insert into test_part values(11,123);

insert into test_part values(12,123);

 

4.测试该表创建是否成功:

表分区里数据查询

 

5.全库导出,命令:

exp system file=C:\full_part.dmp log=C:\full_part.log full=y buffer=99999999

6.对相同用户导入:

imp system file=/tmp/full_part.dmp log=/tmp/full_part_imp.log buffer=99999999 fromuser=TOM  touser=TOM

 

执行命令后,报错:

IMP-00003: ORACLE error 959 encountered

ORA-00959: tablespace 'P1' does not exist

原因:未在目的数据库创建相应的表分区所在的表空间(tablespace)

导入结果:

创建表空间之后,导入成功,应用刚才确定表内数据和分区内数据的方法能确定导入成功!!!

 

 


上一篇:关于Oracle 9i导入/导出效果的测试报告
下一篇:《Linux LVM创建LV的测试报告》