oracle性能调优-expdp导出加速

oracle性能调优-expdp导出加速

技术教程gslnedu2025-01-05 15:35:1923A+A-

近期很多同学咨询我,我们每天需要通过expdp逻辑备份一些核心表。expdp备份的速度很慢,从数据库层面有没有一些优化的方法。下面我来仔细梳理一下如何加快expdp的导出速度。

1、expdp导出过程中使用的是数据库SGA的streams pool。因此要加快expdp的导出速度,在数据库层面首先要关闭streams pool的自动内存管理。 streams_pool_size默认值只有256M。内存资源充足,并且备份频繁的生产库,推荐设置成5G。一般设置成1-2G也可以。设置方法如下:

alter system set streams_pool_size=2G scope=both sid='*';

该参数可以动态调整立即生效。


2、导出加并行

导出的时候可以设置expdp并行度parallel=4,需要同时配合设置dumpfile=expdp_%U.dmp设置文件导出文件的序列。

dumpfile=expdp_%U.dmp ---%U默认从 01 生成到 99 ,

compression=all

parallel=4

3、导出的时候排除统计信息和索引。

exclude=statistics,indexes

4、导出避免CLOB字段。

如果导出的对象里面包含有CLOB字段,则CLOB字段的导出会非常慢,同时CLOB字段导出的是没法压缩的,非常占用空间。


综上所述,给大家一个完整expdp导出配置文件案例案例:

3.1 创建directory和赋予权限:

create directory dmpdir as '/home/oracle/dump';

grant read,write on directory dmpdir to scott;

3.2 到/home/oracle/dump目录编辑expdp的parfile

vi expdp.par

userid='scott/tigger' ---配置导出目标用户和密码

dumpfile=expdp_%U.dmp ---配置导出的文件

compression=all ---启用压缩

parallel=4 ---开启4个并行

cluster=N ---RAC环境只在当前节点导出

directory=dmpdir ---配置数据库的directory

exclude=statistics,indexes ---导出排除统计信息和索引

logfile=expdp.log ---导出过程的日志记录

3.3 执行导出

nohup expdp parfile=expdp.par &

点击这里复制本文地址 以上内容由朽木教程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

朽木教程网 © All Rights Reserved.  蜀ICP备2024111239号-8