Oracle中提高RMAN备份速度

0    337    2

Tags:

👉 本文共约1152个字,系统预计阅读时间或需5分钟。

数据库现状

数据文件大小

修改linux内核参数shmmax和shmall

修改之前共享内存

修改之前linux内核参数

修改之后共享内存

修改之后linux内核参数

前后对比

oracle的共享内存从35个减少到3个,碎片大大减少。

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

改成异步IO

修改成hugepage

参考:https://www.xmmup.com/oracleshujukupeizhidaye.html

没有优化前备份性能

修改环境变量,将rman中的时间提示最小单位从天改到秒:
export NLS_DATE_FORMAT=‘YYYY-MM-DD HH24:MI:SS’
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK # 或: export NLS_LANG=AMERICAN
rman备份

从14:42:44开始到15:14:11结束,31分钟27秒,一共1887秒。

从os层查看io情况

优化后的备份性能

rman备份

5分钟15秒完成。
从OS层看磁盘的IO性能

对比分析

项目优化前优化后提高
1.4T全量备份时间31分钟27秒5分钟15秒提高5.99倍
读nvme磁盘的速度672465.47rkB/s4607693.07rkB/s提高6.8倍
iostate中磁盘利用率80%100%提高20%
  1. 将同步IO改成异步IO,大大提高IO性能;
  2. 修改linux内核参数shmmax和shmall,将共享内存段从35个减少到3个,碎片大大减少;
  3. 配置hugepage,Oracle的共享内存管理单位从4K增加到2M,性能大幅提高;

扩展

另外一点,若想加速rman的备份速度,那么可以充分使用CPU的并行能力,开启多通道备份,加上是否进行压缩备份,开启压缩,肯定会导致备份时间加长,在备份和恢复时配置并行进程。

并行备份的shell脚本如下:

或者也可以直接在rman中配置并行的进程数也可以:

参考

https://www.modb.pro/db/25395

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部