oracle提示39095,一次ORA-39095过程及错误分析
今天准备迁移测试库的4个用户的全部表到另一台机器结果2个用户顺利使用EXPD导出,2个用户出现ORA-39095错误Dump file space has been exhausted: Unable to allocate 8192 bytesORA-39095: Dump file space has been exhausted: Unable to allocate 8192 bytes无
今天准备迁移测试库的4个用户的全部表到另一台机器
结果2个用户顺利使用EXPD导出,2个用户出现ORA-39095错误
Dump file space has been exhausted: Unable to allocate 8192 bytes
ORA-39095: Dump file space has been exhausted: Unable to allocate 8192 bytes
无法分配导出文件空间,晕倒我那个目录还有120多G空闲,需要导出的数据最多不过30G左右,用户的表空间不超过40G。
导出脚本除了用户名不一样外,其它方面没啥不同
expdp system/manager DIRECTORY=DUMP_FILES PARALLEL=4 schemas=test1 dumpfile=test1.dmp logfile=test1.log
expdp system/manager DIRECTORY=DUMP_FILES PARALLEL=4 schemas=test1 dumpfile=test2.dmp logfile=test2.log
上METALINK搜了一下,大概看了一眼解决方案就是减少并行度PARALLEL=4 改为PARALLEL=3
我当时急于处理问题,就直接将PARALLEL改为3,试了一下,果然好使。
回过头来仔细思考这个问题,感觉问题没有那么简单,两个用户的表空间大小都差不多,为何差别这么大? 查询了两个用户的表
Select Segment_Name,Sum(bytes) From User_Extents Group By Segment_Name order by Sum(bytes) desc;
发现这两个用户下面的表有很大的不同,TEST2用户有个巨大的表
YKET 16897776232
大概算了一下是16.1G
TEST1 用户虽然也有个几个大表,但是尺寸明显小于这个YKET表,没有一个超过7G的
难道是这个大表引起的?我将这个表drop掉后,
expdp system/manager DIRECTORY=DUMP_FILES PARALLEL=4 schemas=test1 dumpfile=test2.dmp logfile=test2.log
果然就不出错了
我的判断是当ORACLE在EXPDP做并行导出的时候如果遇到超大的表,可能需要将这个表分成多份来处理,分别存在一块内存里面,并行度就是指分块数,大表肯定将导致内存不足,如果内存不足,可能会导致溢出,所以这里的空间不足实际是由于内存不足造成的。
在ORACLE的手册里找到相关的内容:
Because each active worker process or I/O server process writes exclusively to one file at a time, an insufficient number of files can have adverse effects. Some of the worker processes will be idle while waiting for files, thereby degrading the overall performance of the job. More importantly, if any member of a cooperating group of parallel I/O server processes cannot obtain a file for output, then the export operation will be stopped with an ORA-39095 error. Both situations can be corrected by attaching to the job using the Data Pump Export utility, adding more files using the ADD_FILE command while in interactive mode, and in the case of a stopped job, restarting the job.
You can supply multiple file_name specifications as a comma-delimited list or in separate DUMPFILE parameter specifications. If no extension is given for the filename, then Export uses the default file extension of .dmp. The filenames can contain a substitution variable (%U), which implies that multiple files may be generated. The substitution variable is expanded in the resulting filenames into a 2-digit, fixed-width, incrementing integer starting at 01 and ending at 99. If a file specification contains two substitution variables, both are incremented at the same time. For example, exp%Uaa%U.dmp would resolve to exp01aa01.dmp, exp02aa02.dmp, and so forth.
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)