几种EXP-00002: error in writing to export file(resend) 的解决办法_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2646 | 回复: 0   主题: 几种EXP-00002: error in writing to export file(resend) 的解决办法        下一篇 
刘习托
注册用户
等级:中士
经验:208
发帖:66
精华:0
注册:2011-11-23
状态:离线
发送短消息息给刘习托 加好友    发送短消息息给刘习托 发消息
发表于: IP:您无权察看 2015-4-9 11:21:02 | [全部帖] [楼主帖] 楼主

Q:


系统环境:Solaris 5.8  Oracle7 Release 7.3.4.5 - 64bit Production

exp数据报错:

 EXP-00002: error in writing to export file
EXP-00002: error in writing to export file
EXP-00000: Export terminated unsuccessfully


系统环境:Solaris 5.8  Oracle9i Release 9.2.0.1.0 - 64bit Production

exp数据报错:

 EXP-00002: error in writing to export file
EXP-00002: error in writing to export file
EXP-00000: Export terminated unsuccessfully
A:


后來,在網絡上找到一些解決方法如下:

部分網友在Oracle9i中解決方案:
有网友说是2G文件大小限制,我当时的解决办法:当时的想法是权限问题,于是导出到/tmp目录下,一切正常,近4G大小。

理論介紹:
本文写作时大多数的export版本使用默认的文件处理API来创建export文件。这意味着在相当多的平台上,不能导出大于2GB的文件。  

以下是一些克服的方法:  
通常可以导出大于2GB的文件到裸设备上。  
在Unix上可以使用命名管道来压缩/分割文件  
可以导出到磁盘上  
ORACLE8i允许导出到多个文件而不是一个大的文件  

其他的2GB导出问题  
ORACLE最大extent的大小为2GB.不幸的是许多发行版本的ORACL中的export都有一个问题,就是当指定compress=y时,可能导出的文件中其Next存储子句会出现大于2GB的情况。这会导致即使指定了ignore=y时,import也会出错。  
compress=y肯能修改storage子句initial子句,指定输出是否压缩碎片的数据段,便于在重建时使用大的extent.  
本问题可参见[BUG:708790]和[NOTE:62436.1]  

典型的2GB+时export错误:  

 . .exporting table BIGEXPORT
EXP-00015: error on row 10660 of table BIGEXPORT,column MYCOL, datatype 96
EXP-00002: error in writing to export file
EXP-00002: error in writing to export file
EXP-00000: Export terminated unsuccessfully


在[BUG:185855]中还提到了一个问题:当导出全库时产生的create tablespace命令会使用bytes作为单位。当import时,生成的数据文件若大于2GB,可能导致ora-2237错误。  

解决办法是先创建表空间(用M代替bytes),然后导入文件。  

其它解決方案:

export 大文件可以采取的方法:  

1.裸设备  

 比如直接倒出到/dev/rlvtest等。     

2.命名管道(Unix下)  

 mknod /tmp/imp_pipe  p  

 compress < /tmp/exp_pipe > export.dmp.Z  &  

 exp file=/tmp/exp_pipe  userid=xxx/xxx  tables=...  

 mknod /tmp/imp_pipe  p  

 uncompress < export.dmp.Z>/tmp/imp_pipe &  

 imp file=/tmp/imp_pipe  userid=xxx/xxx  tables=...  

3.压缩/文件拆分:(以下只在ksh中有效:)  

echo |exp file=>(compress | split -b 1024m - expdmp-) userid=xxx/xxx  tables=...
echo |imp file=<(cat expdmp- * |zcat)  userid=xxx/xxx  tables=...


4.可以直接倒出到磁带  

 比如exp file=/dev/rmt0   ....  

5.可以在ORACLE8i+版本里面,通过使用filesize 和file相结合,倒出生成多个文件.  

**************************************************************

1)命令行-完全导出

exp userid=cams/cams@cams full=y inctype=complete
file=(/tmp/2004020601.dmp, /tmp/2004020602.dmp, /tmp/2004020603.dmp)
filesize=2GB log=/tmp/20040206.log


该命令完全导出全库数据,导出到多个文件中每个文件最大2GB,导出过程记录日志

2)命令行-累积导出

exp userid=cams/cams@cams full=y inctype=cumulative
file=(/tmp/2004020601.dmp, /tmp/2004020602.dmp) filesize=2GB
log=/tmp/20040206.log


该命令累积导出全库数据,导出到多个文件中,每个文件最大2GB,导出过程记录日志.

3)命令行-增量导出

exp userid=cams/cams@cams full=y inctype=incremental
file=(/tmp/2004020601.dmp, /tmp/2004020602.dmp) filesize=2GB
log=/tmp/20040206.log


--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论