ORA-39095: Dump file space has been exhausted

1 简述

一个朋友在导数据的时候,突然遇到ORA-39095错误。随即查看磁盘空间,发现才使用了60%多。而导出的数据只有几个G.

明明有空间,为什么会报空间耗尽呢?百爪搔心的问我~

下面是分析和解决过程。

2 错误信息

$ oerr ora 39095
39095, 00000, "Dump file space has been exhausted: Unable to allocate %s bytes"
// *Cause: The Export job ran out of dump file space before the job was
// completed.
// *Action: Reattach to the job and add additional dump files to the job
// restarting the job.
[oracle@bossdb1 ~]$

从错误信息来看,这个错误的本意是: 导出的数据量超出了dmp文件的最大容量。
官方的建议是: 给导出任务添加额外的dmp文件。
那么按这个思路处理的操作应该是:

  expdp username/password@tnsnames attache=job_name
add_file xxxx

但是我没这样做。有兴趣的童鞋,可以按这个思路去处理一下,看是不是可以解决这个错误。

从官方的解释来看,是文件大小不能容纳所有数据引起的。可是据说并没有配置filesize参数,也就是没有限制单个文件大小。所以这个原因也排除。

3 分析

  • 参数

    directory=exp_dir
    dumpfile=for_union_query.dmp
    logfile=for_union_query.log
    CLUSTER=N
    include=table:"in(select table_name from tables_tobe_exported where owner='es')"
    parallel=10
    schemas=ES
    compression=all
  • 分析 看参数文件中,突然反应过来:

    • parallel 并行写入

    为了防止数据错乱,Oracle不允许多个进程对同一个dmp文件进行同时写入,而某个进程如果长时间无法获取dmp文件的写权限,就会报ORA-39095错误。

4 解决

将参数文件中的 parallel=10 这一行删除。再导出时报错消失。

其实不删除,重新试几次也可以导出成功。但是这里对导出的parallel 进行一次浅析。

5 扩展

很多人,在导出数据的时候为了加快导出速度,节省时间,都会加上parallel参数。但是对于Oracle的并行机制并不了解。 并不能真正的开启并行导出或者导入。

比如本次示例中,只设置并行参数,这样是不能真正打开并行导出的。最多只是 并行 读取,但是不能实现并行写入文件。

要加快导出速度,需要几方面来配合:

  • 数据库写进程
  • 并行数
  • 导出文件个数

只有这三者配合才可以真正的实现并行导出。

那么能开启多少个并发, 首先要查看oracle instance里当前开启了多少个数据库写进程

show parameter db_writer_processes

parallel参数的值,不要超过这个参数的值 。不然对数据库有影响。

设置dumpfile 参数值时,加上%U参数。加上这个参数后,可以由Oracle 数据泵自行决定创建多少个数据文件。 当然还可以指定filesize,不过不是必要的.

更多关于Oracle数据泵的用法参见Oracle 数据泵.

Author: halberd.lee

Created: 2019-06-19 Wed 16:57

Validate

ORA-39095: Dump file space has been exhausted的更多相关文章

  1. Debug program crash with dump file.

    1. Task manager, -> find the process for the program which crashed. 2. Right click the process -& ...

  2. linux shell 命令学习(1) du- estimate file space usage

    du - estimate file space usage , 计算文件的磁盘大小 语法格式: du [OPTION] ... [FILE] 描述: 汇总每个文件的磁盘大小, 递归汇总目录的大小, ...

  3. How to Create Dump File for Applications

    使用WinDBG这个工具,可以在应用程序异常终止或者无响应时获取它的尸体,以用来解剖研究. Creating Dump File      在Vista环境中抓取Dump文件很方便,在task man ...

  4. 14.10.2 File Space Management 文件空间管理:

    14.10.2 File Space Management 文件空间管理: 数据文件 你定义在配置文件形成了InnoDB的系统表空间, 文件是逻辑连接形成表空间,没有条带化使用. 你不能定义你的表在表 ...

  5. Debug Dump file

    dump file is a snapshot of the processs memeory. to debug it, we need use its corresponding executiv ...

  6. about !dbgprint to analyze BSOD dump file.

    基本规则: 只有debug mode enable的机器,产生的dump file才会保存dbgprint的buffer. 默认!dbgprint的buffer size是4k. 增加buffer s ...

  7. Linux core dump file详解

    Linux core dump file详解 http://www.cnblogs.com/langqi250/archive/2013/03/05/2944931.html

  8. File Space——一个java structs2.0的小栗子(DIY)

    1 概述 File Space系统适用于团体,主要提供的是团队文件分享以及个人文件的存储管理服务.分为个人文件存储管理平台和团队文件共享平台. 个人文件存储平台主要为个人提供相关的文件分类存储服务:该 ...

  9. ORA-39142: incompatible version number 5.1 in dump file

    ORA-39142: incompatible version number 5.1 in dump file http://blog.itpub.net/26664718/viewspace-214 ...

随机推荐

  1. deep_learning_Function_os.makedirs()

    Python 3.2+ os.makedirs(path, exist_ok=True) python 3.2创建目录新增了可选参数existok,把existok设置True,创建目录如果已经存在则 ...

  2. (8)全志A64查看寄存器

    1.查看寄存器0x01c20824寄存器的值: cd /sys/class/sunxi_dump echo 0x01c20824 > dump cat dump 例如: 2.都多个寄存器 ech ...

  3. java8学习之BiFunction函数式接口实例演示&Predicate函数式接口详解

    BiFunction函数式接口: 在上次中已经对BiFunction接口进行了初步的认识,这里对它进一步学习,这里打算新建一个Person实体,然后新建若干个Person的实例存放在集合中,最后再根据 ...

  4. mybatis整合Spring(一)

    DAO层:数据访问层 对远程存储系统做操作的一些程序统一放在DAO层 DAO层工作演变为:接口设计+SQL编写 DAO拼接等逻辑在Service层完成

  5. wget 小技巧

    一,案例 wget, 一个强大的下载命令.下载文件如果由于中途因本地网络问题断开了,没下载完,重新运行了一下WGET命令,会发现完全在重新下载了,新文件名字会在后面加个1..... 这是wget下载失 ...

  6. Linux的信号管理

    man 7  signal  #查看信号的实用信息 常用的信号: 信号名     编号       含义SIGHUP    1       无须关闭进程而让其重读配置文件SIGINT      2  ...

  7. 【学习备份】ajax添加小例子

    实现目的:保存模板编号.模板名称到数据库 1.js引用 <script src="../../../../../../../js/jquery-1.10.2.min.js"& ...

  8. 小程序上传base64的图片,可上传多张

    微信小程序上传图片转化为base64格式 clickimage: function(e) { var index = e.currentTarget.dataset.index; var count ...

  9. struts2数据类型转换DefaultTypeConverter

    转https://www.cnblogs.com/IT-1994/p/5998458.html 一.前言 笔者一直觉得,学习一个知识点,你首先要明白,这东西是什么?有什么用?这样你才能了解.好了,不说 ...

  10. 有效的结构化思维训练,MECE分析法

    MECE原则,表达精准分类与全面性的有效利器 结构化思维的本质就是逻辑,其目的在于对问题的思考更完整.更有条理,它帮助我们一个一个找到线头,理清思路,探求事物之间的相互联系.MECE分析法是一种结构化 ...