测试导出exp及imp选项filesize

原文章地址:http://blog.itpub.net/9240380/viewspace-748922/

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文件


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值