如何处理Oracle RMAN备份期间出现的系统性能抖动问题

云浩同学_8193

云浩同学_8193

2026-06-19

681人浏览

原创

应先查等待事件,重点关注db file sequential/scattered read和direct path write;若平均等待>20ms则存储响应慢,再用dd或orion实测存储性能,并隔离FRA与备份目标以避免I/O竞争。

查RMAN备份是否卡在存储I/O上

备份慢不等于rman本身有问题,第一件事是确认它到底卡在哪。重点盯 db file sequential read、db file scattered read 和 direct path write 这三类等待事件——它们直接反映数据读取和备份写入的响应质量。

执行以下语句查当前会话:

SELECT sid, event, p1text, p1, p2text, p2, p3text, p3, seconds_in_wait 
FROM v$session_wait 
WHERE event LIKE 'db file%' OR event LIKE 'direct path%';

如果单次平均等待 > 20ms,基本可判定是存储响应慢;若 control file sequential read 或 log file sync 也高,则问题更可能是实例整体 I/O 压力大,而非备份路径独有。

验证存储真实吞吐能力是否达标

RMAN 的 I/O 模式是大块(通常 1MB+)、顺序、direct、多并发。不能只信厂商标称值,得用贴近它的工具实测。

实操建议:

  • 用 dd 快速摸底:例如 dd if=/dev/zero of=/backup/testfile bs=1M count=2048 oflag=direct 测写入;再 dd if=/backup/testfile of=/dev/null bs=1M iflag=direct 测读取
  • Oracle 自带 orion 更准:运行 orion -run advanced -testname orion_test -num_disks 4 -write_pct 0 -duration 300,按实际 LUN 数和读写比调整
  • 若走 NFS,必须确认 mount 选项含 noac(禁用属性缓存)和 hard,intr,否则 RMAN 会频繁超时重试,而 ls 看不出异常

检查RMAN通道数与section size是否匹配硬件

开 8 个通道不一定比 4 个快——通道数超过底层存储处理能力,反而引发排队和锁争用。关键不是“设多少”,而是“是否匹配物理拓扑”。

QuantOracle
QuantOracle

63个确定性量化金融计算器 + 10个通过MCP的复合工作流。期权定价、Greeks、奇异衍生品、风险指标、投资组合优化……

下载

常见陷阱:

  • SHOW DEVICE TYPE DISK PARALLELISM 和 SHOW CHANNEL DEVICE TYPE DISK 查实际生效的并行度,不是 RUN 块里写了几个 ALLOCATE CHANNEL
  • SAN 环境下,一个 HBA 卡 + 多路径 + 多 LUN 的组合,通道数应 ≤ HBA 卡队列深度 × 路径数,否则 SCSI 队列溢出
  • SECTION SIZE 设太大(如 2G),单文件备份无法并行;设太小(如 16M),元数据开销剧增,尤其对小文件多的表空间

排查FRA或备份目标路径是否与其他I/O竞争

很多抖动源于 FRA 和备份目标共用同一组磁盘或 ASM 磁盘组,导致归档写入、RMAN 读取、备份写入三者抢 I/O。

必须做的动作:

  • 把 FRA 和 RMAN 备份目标物理隔离:FRA 放高速 ASM 组(如 NORMAL 冗余 SSD),备份集放独立大容量盘组(如 HIGH 冗余 HDD)
  • 禁用非必需的 LOG_ARCHIVE_DEST_n,特别是 MANDATORY 类型;只保留 LOG_ARCHIVE_DEST_1(本地快速盘)和 LOG_ARCHIVE_DEST_2(备库),其余改用 RMAN 异步备份
  • 检查 V$BACKUP_ASYNC_IO 中 EFFECTIVE_BYTES_PER_SECOND 是否持续低于存储标称吞吐——若低且 BACKUP VALIDATE 时间接近实际备份时间,说明瓶颈在读取侧,需关注数据文件分布和 ASM 磁盘性能

真正影响 RMAN 稳定性的,往往不是参数调多大,而是存储路径有没有被其他进程悄悄共享、NFS mount 有没有漏掉 noac、ASM 磁盘组是不是混用了不同性能等级的设备——这些点一旦忽略,调再多次 PARALLELISM 都只是在掩盖问题。

相关文章

数码产品性能查询
数码产品性能查询

该软件包括了市面上所有手机CPU,手机跑分情况,电脑CPU,电脑产品信息等等,方便需要大家查阅数码产品最新情况,了解产品特性,能够进行对比选择最具性价比的商品。

下载

相关标签:

oracle

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
oracle清空表数据
oracle清空表数据

当表中的数据不需要时,则应该删除该数据并释放所占用的空间。本专题为大家提供oracle清空表数据的相关文章,帮助大家解决该问题。

2023.08.16

981

5

Oracle中declare的使用
Oracle中declare的使用

Oracle DECLARE语句是PL/SQL编程语言中用于声明变量、常量、游标或异常的关键字。它的主要作用是在程序中定义这些对象,以便在后续的代码中使用。DECLARE语句的语法简单明了,可以根据需要声明多个对象。通过使用这些声明的对象,可以进行各种操作,如计算、查询数据库、处理异常等 。

2023.09.15

2813

5

oracle怎么分页
oracle怎么分页

实现分页的步骤:1、使用ROWNUM进行分页查询;2、在执行查询之前进行设置分页参数;3、使用"COUNT(*)"函数来获取总行数,并使用"CEIL"函数来向上取整计算总页数;4、在外部查询中使用"WHERE"子句来筛选出特定的行号范围,以实现分页查询。想了解更多oracle怎么分页的文章,可以来阅读本专题先的文章。

2023.09.18

2850

5

Oracle查看表操作历史记录
Oracle查看表操作历史记录

查看操作历史记录的方法:1、使用Oracle内置的审计功能,可以记录数据库中发生的各种操作,包括登录、DDL语句、DML语句等;2、使用Oracle日志文件,其中包含了数据库中发生的各种操作,可以通过查看日志文件来获取操作历史记录;3、使用Oracle的Flashback功能,可以查看数据库在某个时间点的操作历史记录;4、使用第三方工具等。本专题还提供其他查看表操作的文章,大家可以免费阅读。

2023.09.19

1629

3

Oracle中RAC的用法
Oracle中RAC的用法

Oracle中RAC的用法:1、通过在多个服务器上运行数据库实例来提供高可用性;2、允许在需要时增加或减少节点数量;3、通过将工作负载分布到多个节点上来实现负载均衡;4、使用共享存储来实现多个节点之间的数据共享;5、允许多个节点同时处理数据库请求,从而实现并行处理;6、提供了透明故障切换功能;7、使用了一些技术来确保数据的一致性;8、提供了管理工具来简化RAC环境的管理和维护。本专题还提供RAC相关的其他文章,大家可以免费阅读。

2023.09.19

2233

7

oracle imp
oracle imp

imp是Oracle数据库中的一个命令行工具,用于将导出的数据和对象从一个数据库实例导入到另一个数据库实例。imp命令的一般语法为“imp username/password@connect_string file=file_name [options]”。

2023.09.19

3009

4

常用的数据库软件
常用的数据库软件

常用的数据库软件有MySQL、Oracle、SQL Server、PostgreSQL、MongoDB、Redis、Cassandra、Hadoop、Spark和Amazon DynamoDB。更多关于数据库软件的内容详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.02

4489

19

oracle通配符有哪些
oracle通配符有哪些

oracle通配符有“%”、“_”、“[]”和“[^]"。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.08

237

5

oracle四舍五入怎么操作
oracle四舍五入怎么操作

oracle四舍五入操作可以使用ROUND函数来实现,其语法为“ROUND(number, decimal_places)”,其中,number是要进行四舍五入的数值,decimal_places是指定的小数位数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.14

786

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程