ORACLE_OCP之RMAN故障排除和优化
- 文章目标
- 解释RMAN消息输出(已经在前面讲过,这里不做赘述)
- 应用最佳实践调整原则
- 诊断RMAN性能问题
一、处理RMAN命令
- 在编译阶段,RMAN :
- 识别文件
- 构造由说明组成的作业步骤
- 在执行阶段,RMAN :
- 将每个工作步骤提交到可用通道
- 连接到目标的单独OCI (rman target / )
- Oracle前台进程(serverprocess)执行数据移动
- 读取数据:来自磁盘或磁带的I / O
- 处理数据:复制缓冲区,验证,加密和压缩
- 写入数据:I / O到磁盘或磁带(这里还是用到了某些其他进程)
- Oracle前台进程(serverprocess)执行数据移动
- 监控执行
二、RMAN故障排除
- 了解每个组件的性能。
- 使用BACKUP VALIDATE命令分析读取和处理步骤。
- 使用RESTORE VALIDATE命令分析读取和处理步骤。
三、诊断性能瓶颈
- 在V B A C K U P A S Y N C I O 或 V BACKUP_ASYNC_IO或V BACKUPASYNCIO或VBACKUP_SYNC_IO中的AGGREGATE行中查询EFFECTIVE_BYTES_PER_SECOND列。
- 如果EFFECTIVE_BYTES_PER_SECOND <存储介质吞吐量中有值,请执行BACKUP VALIDATE命令以获取其他信息。
四、诊断性能瓶颈:读取阶段
-
如果BACKUP VALIDATE time〜=实际备份时间,则读取阶段可能是瓶颈。
-
实施适当的RMAN多路复用和缓冲区使用准则。
-
研究性能“较慢”的文件:查找具有最高LONG_WAITS / IO_COUNT比率的数据文件.
- 如果是ASM,请改善相关的磁盘参数(大小或者使用高性能设备)或重新平衡磁盘。
- 将文件移动到新磁盘
- 或将“慢速”文件进行多路复用。
-
分析对磁盘的写入过程:
- 在磁盘上创建数据文件并计时操作。
- 通过调用DBMS_BACKUP_RESTORE.SETPARMS函数来调用写入。
五、诊断性能瓶颈:写入或复制阶段
- 如果BACKUP VALIDATE时间小于实际备份时间,则缓冲区复制或写入存储可能是瓶颈。
- 实施备份压缩和加密准则:
- 验证添加通道后,未压缩备份性能是否可以正确扩展。
- 使用低或中设置。
- 使用AES128加密算法。
- 如果是磁带备份,请检查媒体管理(MML)设置:
- TCP / IP缓冲区大小
- 介质管理客户端/服务器缓冲区大小
- 客户端/套接字超时(针对会话)
- 介质服务器硬件,与磁带的连接
- 启用磁带压缩(但不启用RMAN压缩)
六、使用动态性能视图诊断RMAN性能
- 使用以下视图确定RMAN备份和还原操作在哪里遇到性能问题:
七、监视RMAN作业进度
- 通过查询V $ SESSION_LONGOPS监视备份和还原操作的进度.
SQL> SELECT SID,SERIAL#,CONTEXT,SOFAR,TOTALWORK,
2 ROUND(SOFAR/TOTALWORK*100,2) "%_COMPLETE"
3 FROM V$SESSION_LONGOPS
4 WHERE OPNAME LIKE 'RMAN%'
5 AND OPNAME NOT LIKE '%aggregate%'
6 AND TOTALWORK != 0
7 AND SOFAR <> TOTALWORK;
SID SERIAL# CONTEXT SOFAR TOTALWORK %_COMPLETE
--- ------- ------- ------- --------- ----------
13 75 1 9470 15360 61.65
12 81 1 15871 28160 56.36
八、识别备份和还原瓶颈
- 以下视图可用于确定瓶颈的来源并查看备份作业的进度:
- V$BACKUP_SYNC_IO
- V$BACKUP_ASYNC_IO
- 存在以下行用于备份或还原:
- 每个数据文件一行
- 数据文件汇总一行
- 每个备份片一行
九、异步I / O瓶颈
- 使用V$BACKUP_ASYNC_IO监视异步I / O.
- LONG_WAITS与IO_COUNT之比最大的文件可能是瓶颈.
- IO_COUNT:对文件执行的I/O数
- LONG_WAITS:备份/还原过程指示OS等待I/O完成的次数
- 等待时间应为零以避免瓶颈.
- SHORT_WAIT_TIME_TOTAL
- LONG_WAIT_TIME_TOTAL
十、同步I / O瓶颈
- 一般认为同步I/O被视为瓶颈.
- 从V$BACKUP_SYNC_IO查询DISCRETE_BYTES_PER_SECOND列以查看I / O速率.
- 将此速率与设备的最大速率进行比较。
- 如果速率低于设备指定的速率,则这是一个调整机会。
十一、调整RMAN备份性能
- 要调整RMAN备份性能,请按照下列步骤操作:
- 1.从已配置和分配的通道中删除RATE设置。RATE参数用于设置RMAN每秒在通道上读取的最大字节数(默认),千字节(K),兆字节(M)或千兆字节(G)。 它设置了读取字节的上限,这样RMAN不会消耗过多的磁盘带宽并降低性能。 如果您的备份没有流式传输到磁带,请确保未在ALLOCATE CHANNEL或CONFIGURE CHANNEL命令上设置RATE参数。
- 2.如果使用同步磁盘I / O,则设置DBWR_IO_SLAVES参数。
- 3.设置LARGE_POOL_SIZE初始化参数。
- 4.调整RMAN的读取,写入和复制阶段。
十二、备份集的并行化
- 为了提高性能,请分配多个通道并将文件分配给特定的通道.
十三、设定LARGE_POOL_SIZE
- 如果未设置LARGE_POOL_SIZE,则Oracle服务器将尝试从共享池中获取内存。
- 如果LARGE_POOL_SIZE不够大,则服务器不会从共享池中分配缓冲区。
- 如果服务器无法获得足够的内存,它将从本地进程内存中分配缓冲区。
- Oracle服务器将一条消息写入警报日志,指示该备份使用了同步I / O
ksfqxcre: failure to allocate shared memory means sync
I/O will be used whenever async I/O to file not
supported natively
十四、RMAN Multiplexing多路复用
- 复用级别:备份期间随时可通过一个通道读取的最大文件数
- Min(MAXOPENFILES, FILESPERSET)
- Default for MAXOPENFILES is 8
- Default for FILESPERSET default is 64
- MAXOPENFILES确定输入缓冲区的数量和大小
- 启用了从PGA分配的所有缓冲区,除非磁盘或磁带I / O有相关的从属属性设置。
十五、RMAN Multiplexing
- 对于读操作:
- 对于写操作,每个通道分配有四个每个1 MB的输出缓冲区。
十六、恢复和恢复性能:最佳实践
- 通过使用增量备份来减少要应用的归档日志的数量。
- 使用块介质恢复来隔离(修复)坏块。
- 在磁盘上保留足够数量的归档日志。
- 增加RMAN缓冲区内存使用率。
- 调整数据库的I / O,DBWR性能和CPU利用率。