1,测试导出exp及imp选项filesize
conn scott/system@orcl
create table t_exp_filesize(a int);
insert into t_exp_filesize select level from dual connect by level<=1e7;
commit;
--buffer和filesize的单位是kb,还是mb或是byte,或是BYTE,经查文档单位是:字节
exp userid=scott/system@orcl tables=t_exp_filesize buffer=1024000 filesize=102400 file=c:\exp_t_exp_filesize.dmp log=c:\exp_t_exp_filesize.log direct=y recordlength=65535
--小结:说明filesize不能太小
EXP-00075: 对 FILESIZE 进行舍入处理, 新值为 65535
EXP-00073: 转储文件太小
EXP-00000: 导出终止失败
exp userid=scott/system@orcl tables=t_exp_filesize buffer=1024000 filesize=65535 file=c:\exp_t_exp_filesize.dmp log=c:\exp_t_exp_filesize.log direct=y recordlength=65535
EXP-00073: 转储文件太小
EXP-00000: 导出终止失败
--filesize为20m左右
exp userid=scott/system@orcl tables=t_exp_filesize buffer=1024000 filesize=20971520 file=c:\exp_t_exp_filesize.dmp log=c:\exp_t_exp_filesize.log direct=y recordlength=65535
--未分析前此表的大小是27mb
select ug.BYTES/1024/1024 mb from user_segments ug where ug.segment_name='T_EXP_FILESIZE';
--导出此表的dmp文件是370byte,说明oracle在exp时会对表的数据进行压缩处理,节省好多空间
exp userid=scott/system@orcl tables=t_exp_filesize buffer=1024000 filesize=20971520 file=c:\exp_t_exp_filesize_001.dmp,c:\exp_t_exp_filesize_002.dmp,c:\exp_t_exp_filesize_003.dmp log=c:\exp_t_exp_filesize.log direct=y recordlength=65535
Export: Release 10.2.0.3.0 - Production on 星期六 11月 10 13:05:13 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options
EXP-00075: 对 FILESIZE 进行舍入处理, 新值为 20971200
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
即将导出指定的表通过直接路径...
. . 正在导出表 T_EXP_FILESIZE
继续导出到文件 c:\exp_t_exp_filesize_002.dmp
导出文件: EXPDAT.DMP > c:\new_other.dmp --小结:如果在命令行指定的转储文件不够用,会弹出此行的提示信息,让你指定产生新的dmp文件的存储路径
继续导出到文件 c:\new_other.dmp
导出了 7200000 行
导出成功终止, 但出现警告。
--继续测试imp加上filesize选项导入
--1,imp导入全部的dmp文件
imp userid=scott/system@orcl tables=t_exp_filesize buffer=1024000 filesize=20971200 file=c:\exp_t_exp_filesize_001.dmp,c:\exp_t_exp_filesize_002.dmp,c:\exp_t_exp_filesize_003.dmp log=c:\imp_t_exp_filesize.log recordlength=65535
经由直接路径由 EXPORT:V10.02.01 创建的导出文件
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
IMP-00040: FILESIZE 的值与用于导出的值 20971200 不匹配
IMP-00000: 未成功终止导入
--小结:说明exp和imp的filesize必须要一致
全部导入全部的dmp可以成功
--2,仅导入自首个dmp文件开始的多个dmp文件
imp userid=scott/system@orcl tables=t_exp_filesize buffer=1024000 filesize=20971200 file=c:\exp_t_exp_filesize_001.dmp,c:\exp_t_exp_filesize_002.dmp log=c:\imp_t_exp_filesize.log recordlength=65535
经由直接路径由 EXPORT:V10.02.01 创建的导出文件
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 SCOTT 的对象导入到 SCOTT
. 正在将 SCOTT 的对象导入到 SCOTT
. . 正在导入表 "T_EXP_FILESIZE"
请在导出文件集中输入下一文件名。
导入文件: EXPDAT.DMP> sss
IMP-00002: 无法打开 sss.DMP 进行读取
导入文件: EXPDAT.DMP> x.dmp
IMP-00002: 无法打开 x.dmp 进行读取
导入文件: EXPDAT.DMP>
导入了 7200000 行
成功终止导入, 但出现警告。
--小结;说明多个部分dmp文件可以导入imp成功
导入最后会提示未导入的文件,你可以手工输入,也可以回车不输入
--3,导入首个和末尾的不连续多个dmp文件
imp userid=scott/system@orcl tables=t_exp_filesize buffer=1024000 filesize=20971200 file=c:\exp_t_exp_filesize_001.dmp,c:\exp_t_exp_filesize_003.dmp log=c:\imp_t_exp_filesize.log recordlength=65535
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options
经由直接路径由 EXPORT:V10.02.01 创建的导出文件
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 SCOTT 的对象导入到 SCOTT
. 正在将 SCOTT 的对象导入到 SCOTT
. . 正在导入表 "T_EXP_FILESIZE"
IMP-00047: 意外的文件序列号; 需要 2, 却出现 3
IMP-00132: 导出多个文件时, 第一个导出的文件是 c:\exp_t_exp_filesize_001.dmp
IMP-00028: 上一个表的部分导入已回退: 回退 3473302 行
IMP-00008: 导出文件中出现无法识别的语句:
Z2V
IMP-00008: 导出文件中出现无法识别的语句:
IMP-00009: 导出文件异常结束
成功终止导入, 但出现警告。
--小结:表结构导入了
表的记录不能导入,进行了回退rollback
导入imp不能出现多个dmp文件的空隙性
--4,导入非首个多个连续的dmp文件
imp userid=scott/system@orcl tables=t_exp_filesize buffer=1024000 filesize=20971200 file=c:\exp_t_exp_filesize_002.dmp,c:\exp_t_exp_filesize_003.dmp log=c:\imp_t_exp_filesize.log recordlength=65535
Import: Release 10.2.0.3.0 - Production on 星期六 11月 10 17:49:22 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options
经由直接路径由 EXPORT:V10.02.01 创建的导出文件
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
IMP-00047: 意外的文件序列号; 需要 1, 却出现 2
IMP-00132: 导出多个文件时, 第一个导出的文件是 c:\exp_t_exp_filesize_001.dmp
IMP-00000: 未成功终止导入
--小结:不能导入非首个多个连续dmp文件
但会提示需要导入的dmp文件的名称
--5,分2次先首个文件导入,再次非首个文件导入
imp userid=scott/system@orcl tables=t_exp_filesize buffer=1024000 filesize=20971200 file=c:\exp_t_exp_filesize_001.dmp log=c:\imp_t_exp_filesize.log recordlength=65535
经由直接路径由 EXPORT:V10.02.01 创建的导出文件
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 SCOTT 的对象导入到 SCOTT
. 正在将 SCOTT 的对象导入到 SCOTT
. . 正在导入表 "T_EXP_FILESIZE"
IMP-00047: 意外的文件序列号; 需要 2, 却出现 3
IMP-00132: 导出多个文件时, 第一个导出的文件是 c:\exp_t_exp_filesize_001.dmp
IMP-00028: 上一个表的部分导入已回退: 回退 3473302 行
IMP-00008: 导出文件中出现无法识别的语句:
IMP-00008: 导出文件中出现无法识别的语句:
IMP-00009: 导出文件异常结束
成功终止导入, 但出现警告。
imp userid=scott/system@orcl tables=t_exp_filesize buffer=1024000 filesize=20971200 file=c:\exp_t_exp_filesize_002.dmp,file=c:\exp_t_exp_filesize_003.dm log=c:\imp_t_exp_filesize.log recordlength=65535
经由直接路径由 EXPORT:V10.02.01 创建的导出文件
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
IMP-00047: 意外的文件序列号; 需要 1, 却出现 2
IMP-00132: 导出多个文件时, 第一个导出的文件是 c:\exp_t_exp_filesize_001.dmp
IMP-00000: 未成功终止导入
--小结:2次首个文件导入及非首个dmp文件导入,是不可以的
结论:imp导入和exp导出的filesize要一致
imp导入可以导入自首个开始的多个dmp文件
imp导入不能导入非首个多个连续或不连续的dmp文件
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9240380/viewspace-748922/,如需转载,请注明出处,否则将追究法律责任。