exp命令优化与常见问题(三)

简介:

 时间是非常宝贵的,当你使用exp处理大数据量时一定会有所感受,oracle在处理exp时提供了几个参数,设置得当的话,某些层面上可以大幅提高数据的导出效率:

1、导出方式处理:

  *  常规路径(Conventional path)

  *  直接路径(Direct Path)

   常规路径导出是exp默认的导出方式,在这种方式下,exp要处理的数据需要经过sql select语句的方式提取,将数据读取到缓存池,经由Evaluating Buffer 处理后返回到EXport客户端,最后才被写入Dump文件。

    前面的实验都是基于常规路径操作,对于大数据量下常规路径的导出,要提高处理速度,最重要的参数是BUFFER。该参数用来指定执行导出时,处理数据所用的缓存区大小,以字节为单位。这个参数变相用来控制导出时记录数组单次最大能加载的记录数。

   缓存区大小与加载记录数之间可以通过下列公式换算:

   缓存区大小=纪录数组大小* 记录行最大长度

    以下是验证BUFFER的作用,以数据库中CSDN表为例(网上下载来做试验,无其它用处),该表有670万记录量,占用空间1.7G,首先试试不指定buffer参数,直接导出需要花费多长时间:

1、没有指定buffer参数

导出csdn表:

导出完成,用时需2分多钟:

2、指定buffer参数:

 导出数据所需时间,只需要1分多的时间了,可以说是成培的优化:

是不是越大越好呢?增大buffer参数:

但效果好像还不是很理想,一样是一分多钟:

以下继续增加,但还是一样,实验表时当buffer参数增大到一定大小时,如果再增加对导出数据的时间是没影响的。

 

2、直接路径导出也可以提高导出数据效率的:

直接路径导出使用,在exp中添加参数direct=y即可,该参数值默认为n。同时还有另一参数值对直接路径导出有影响的:recordlength,该参数用来指定export的I/O buffer,以字节为单位,最大不超过65535,一般执行直接路径导出时,建议直接将recordlength参数值设置为65535,以下实验:

 

导出的文件所需时间,也是1分多钟,算是达到预期的效果,当然在现实生产环境中,数据量会更大,提高一倍的速度就会更明显了:

exp常见问题:

  1、导出时提示EXP-00091错误
   前面已经提过,可以参考前面方法解决

2、导出数据时提示ORA-00904错误
      执行导出的客户端数据库版本为10.2.0.4,服务器端数据库版本为10.2.0.3,大版本相同,只是小版本稍有差异。会报此错,所以在执行exp时客户端版本不能高于服务器的版本。
       版本不同导致的错误提示通常会是ORA-06550。

3、执行导出时莫名停顿,但dump文件疯涨。
exp工具毕竟上了年纪,对于external table这样的新特性支持不。我们知道外部表在创建时也分为两种类型:一种是传统方式oracle_loader,与sql*loader一脉相承,另一种是10g后新推出的oracle_datapump方式。
     对于前者,exp在执行导出时,只能导出表定义,不会导出实际的数据(毕竟数据是存储在外部的嘛),相对还好,总算该对象还能顺利处理;而对于后者就更麻烦了,不仅不导数据,连处理表定义都有问题,所以就会出现上述现象。这是oracle的一个bug,oracle10.2.0.3及以上版本数据库中不存在该问题,因此如果你在操作中遇到该问题,要么在导出时跳过外部表对象,要么升级数据库版本了。    
















本文转自pimg200551CTO博客,原文链接: http://blog.51cto.com/pimg2005/851637,如需转载请自行联系原作者




相关文章
|
6月前
|
运维 负载均衡 网络协议
函数计算FC报错问题之测试报错如何解决
函数计算(Function Compute,FC)是一个事件驱动的全托管计算服务,允许用户编写并上传代码,而无需管理服务器运行和维护;在使用过程中,可能会遇到各种报错,本合集聚焦于函数计算FC常见的报错问题,提供一系列的故障排查指导和解决建议,帮助用户优化云端函数执行
105 2
|
6月前
|
缓存 NoSQL Serverless
函数计算常见问题之创建应用报错如何解决
函数计算(Function Compute, FC)是阿里云提供的无服务器计算服务,它允许用户在无需管理服务器的情况下运行代码,但在配置和执行过程中可能遇到报错,本合集致力于梳理FC服务中的常见报错和配置问题,并提供解决方案,帮助用户优化函数执行环境。
133 1
|
4月前
|
网络协议 Serverless Python
函数计算操作报错合集之安装ebsynth_utility插件时报错,该如何处理
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
133 1
|
4月前
|
DataWorks 关系型数据库 MySQL
DataWorks操作报错合集之输入时提示有GROUP_CONCAT方法,但在运行时报错,该怎么办
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
6月前
|
JavaScript 关系型数据库 Serverless
函数计算常见问题之导入数据报错如何解决
函数计算(Function Compute, FC)是阿里云提供的无服务器计算服务,它允许用户在无需管理服务器的情况下运行代码,但在配置和执行过程中可能遇到报错,本合集致力于梳理FC服务中的常见报错和配置问题,并提供解决方案,帮助用户优化函数执行环境。
210 0
|
6月前
|
缓存 监控 NoSQL
函数计算常见问题之提示文件错误如何解决
函数计算(Function Compute, FC)是阿里云提供的无服务器计算服务,它允许用户在无需管理服务器的情况下运行代码,但在配置和执行过程中可能遇到报错,本合集致力于梳理FC服务中的常见报错和配置问题,并提供解决方案,帮助用户优化函数执行环境。
137 0
函数计算常见问题之提示文件错误如何解决
|
6月前
|
人工智能 JavaScript Serverless
函数计算常见问题之错报错"ResourceThrottled"如何解决
函数计算(Function Compute, FC)是阿里云提供的无服务器计算服务,它允许用户在无需管理服务器的情况下运行代码,但在配置和执行过程中可能遇到报错,本合集致力于梳理FC服务中的常见报错和配置问题,并提供解决方案,帮助用户优化函数执行环境。
117 1
|
6月前
|
SQL 分布式计算 DataWorks
DataWorks常见问题之输入提示有GROUP_CONCAT方法报错如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
492 0
如何使用shell脚本在服务器中运行cdo命令进行批量合并、插值、求日均、月均等
如何使用shell脚本在服务器中运行cdo命令进行批量合并、插值、求日均、月均等
|
SQL 监控 NoSQL
网站流量日志分析--统计分析--sql补充扩展--group by 语法限制解析|学习笔记
快速学习网站流量日志分析--统计分析--sql补充扩展--group by 语法限制解析
178 0