OCP读书笔记(8) - 监控和调优RMAN

本文介绍了Oracle RMAN备份及恢复系统的调优方法,包括如何使用多通道、多路复用、异步I/O等技术提高备份效率。还讨论了如何通过监视作业状态和调整参数来解决性能瓶颈。

监视RMAN作业

1. 创建rman备份:

RMAN> run {
  allocate channel ch1 type disk;
  allocate channel ch2 type disk;
  backup as compressed backupset tablespace users;
}

2. 当rman作业运行的时候,使用v$PROCESS和V$SESSION查看client_info信息:

SQL> select sid, spid, client_info from v$process p join v$session s on (p.addr = s.paddr) where client_info like '%rman%';

1. Create two RMAN jobs (in two different RMAN sessions) that back up the USERS and CHGTRK tablespaces and use the SET COMMAND option:
/* session 1 */
RMAN> run {
  set command id to 'bkup users';
  backup as compressed backupset tablespace users;
}
/* session 2 */
RMAN> run {
  set command id to 'bkup chgtrk';
  backup as compressed backupset tablespace users;
}

2.
SQL> select sid, spid, client_info from v$process p join v$session s on (p.addr = s.paddr) where client_info like '%id=%';
SQL> select sid, serial#, opname, sofar, totalwork from v$session_longops where opname like 'RMAN%' and sofar <> totalwork;

调整RMAN

可以通过多种方式来调整RMAN操作。

可以使用多个RMAN通道,然后将数据文件分配到不同的通道,以此来调整备份的总吞吐量。为每个通道分配-个进程,这样可以通过并行处理方式加快备份过程。与此相反,可以将多个备份文件多路复用在同一个备份片中。

对于特定通道而言,可以使用MAXPIECESIZEMAXOPENFILES参数尽量提高通往特定输出设备的吞吐量,BACKUP命令使用这些参数以及FILESPERSETBACKUP DURATION参数来优化备份操作。

如果数据库必须保持可用,而且要满足严格的SLA要求,还可以使用BACKUP DURATION来尽最减少备份操作对响应时间的影响。最后,还可以使用数据库初始化参数來优化备份和恢复性能(特别是同步I/O操作)

如果了解每种调整方法的工作原理,就可以保持快捷的用户响应速度、优化硬件和软件环境以及在预算紧张的情况下(这种情况几乎始终存在)推迟升级时间,环境中的某些位置几乎始终存在着吞吐量瓶颈。瓶颈是RMAN备份期间速度最慢的步骤或任务

1.确定备份和还原步骤
RMAN备份在通道中执行任务时.将经历以下三个主要阶段:

(1)读阶段:通道将数据块读入输入缓冲区
(2)复制阶段:通道将块从输入缓冲区复制到输出缓冲,并根据需要执行其他处理:
  •验证检查块是否受到损坏,此操作不会大量使用CPU
  •压缩使用BZIP2或ZLIB来压缩块,此操作会大量使用CPU
  •加密使用加密算法(透明、口令保护或两者)来保护数据的安全性,此操作会大量使用CPU
(3)写阶段:通道将输出缓冲区中的块写入输出设备(磁盘或磁带)

使用动态性能视图,可以确定哪个通道操作的哪个阶段出现了瓶领,并采用相应措施予以消除。在某典情况下,可能需要增加备份时间,以便确保缩短恢复时间。每天或每小时创建一次映像副本会增加备份时间,却可以极大地减少恢复时间

并行备份:为了提高备份的速度,通过增加多个通道

1. 通过指定并行参数来实现并行备份:

RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 3 BACKUP TYPE TO BACKUPSET;

2. 手动分配通道实现并行备份:

RMAN> run {
  allocate channel c1 device type disk;
  allocate channel c2 device type disk;
  allocate channel c3 device type disk;

  backup database format='/u01/backup/rmanbk/%d_%s.dbf'
  (datafile 1,2 channel c1)
  (datafile 3,4 channel c2)
  (datafile 5,6 channel c3) plus archivelog format='/u01/backup/rmanbk/%d_%s.arc';
}

3. 指定通道的文件格式,将备份集放在不同的目录下:

RMAN> run {
  allocate channel c1 device type disk format='/u01/backup/rmanbk/%d_%s.dbf';
  allocate channel c2 device type disk format='/u02/backup/rmanbk/%d_%s.dbf';
  backup as backupset
  (datafile 1,2,3 channel c1)
  (datafile 4,5,6 channel c2) plus archivelog;
}

配置RMAN多路技术

可以通过多路复用备份和恢复操作来提高RMAN性能和吞吐最。使用多路复用功能时,RMAN可以同时读取多个文件,然后将数据块写入到同一个备份片中。

在备份和恢复操作中,使用多路复用来调整RMAN是减少瓶颈的方法之一,主要通过FILESPERSETMAXOPENFILES两个参数来控制多路复用级别
,RMAN BACKUP命令的FILESPERSET参数确定放在每个备份集中的数据文件数量。如果单个通道最多备份10个数据文件,但FILESPERSET值是4,则RMAN的每个备份集仅备份4个文件(取min(10,4))。FILESPERSET参数的默认值是64。

多路复用级别(写入到同一备份片的输入文件数量,或从同一备份片读取的输入文件数量)是MAXOPENFILES和每个备份集中的文件数量中的最小者。MAXOPENHLES的默认值是8。可以通过以下等式更方便地理解计算方式:
multiplexing_level = min(MAXOPENFILES, min(FILESPERSET, files__per_channel))

本例在一个通道中备份10个数据文件,MAXOPENFILES值是12, FILESPERSET使用默认值64。因此,使用以下等式计算多路复用级别:
multiplexing_level=min(12, min(64, 10))=10

RMAN根据RMAN作业中的多路复用级别来分配不同数量和大小的磁盘I/O缓冲区。在RMAN根据前面提到的等式,使用FILESPERSET和MAXOPENFILES参数确定了多路复用级别后,可以使用下表提供的信息确定RMAN执行备份需要的缓冲区的数量和大小

多路复用级别输入磁盘缓冲区大小
<=416个1MB的缓冲区,分布在所有输入文件中
> 5 & < 8512MB的缓冲区,数量不定,以便将缓冲区
的总大小控制在16MB以内
>84个128KB缓冲区(针对每个输入文件的512KB)

Oracle建议将FILESPERSET值设置为小于等于8的值,以便优化恢复性能。也就是说,如果将过多的输入文件放在单个备份集中,由于在恢复单个数据文件时RESTORE或RECOVER命令仍然需要读取备份集中大童的多余块,所以恢复速度将减慢

配置RMAN使用异步I/O

在RMAN环境中使用同步I/O还是异步I/O取决于多种因素。这些因素包括为备份集使用的设备类型(磁盘或磁带),以及输出设备或主机操作系统支持同步I/O还是支持异步I/O,即使主机操作系统或设备不支持本地异步I/O,仍然可以配置RMAN,以便使用诸如DBWR_IO_SLAVES这样的初始化参数模拟异步I/O

1. 了解异步I/O和同步I/O

当RMAN读写数据时,I/O操作要么是同步操作,要么是异步操作。同步I/O操作不允许服务器进程一次执行多个操作。只有在完成一个操作后才能开始另一个操作。而异步操作可以启动一个I/O操作,然后立即执行其他操作(包括启动另一个I/O操作)
可以使用初始化参数控制I/O操作的类型
对于磁带备份而言,可以将BACKUP_TAPE_IO_SLAVES设置为TRUE,以将备份配置为使用异步操作,否则,将其设置为FALSE以便使用同步操作。默认值是FALSE。
对于磁盘备份而言,大多数现代操作系统支持本地异步I/O。但是,如果操作系统不予支持,仍然可以将BACKUP_TAPE_IO_SLAVES设置为TRUE,并通过将DBWR_IO_SLAVES设置为非零值指示Oracle模拟异步I/O,这会分配4个从属备份磁盘I/O,以便模拟RMAN异步I/O操作

2.监视异步I/O
为了监视异步I/O操作,使用动态性能视图V$BACKUP_ASYNC_IO。重要的监视列如下:
  •IO_COUNT:在文件中执行的I/O数量。
  •LONG_WAITS:备份或还原进程必须告知OS等待I/O完成的次数。
  •SHORT_WAIT_TlME_TOTAL:非阻塞轮询I/O完成占用的总时间(以0.01秒为单位)
  •LONG_WAIT_TIME_TOTAL:阻塞等待I/O完成占用的总时间(以0.01秒为单位)
如果LONG_WAITS与IO_COUNT的比率达到最大,这很可能是备份过程中的瓶颈。如果SHORT_WAIT_TIME_TOTAL 和 LONG_WAlT_TIME_TOTAL 是非零值,则也指示出现了瓶颈。此示例确定两个包含非零比率的输入文件:

SQL> select long_waits / io_count waitcountratio, filename from v$backup_async_io where long_waits / io_count > 0 order by long_waits / io_count desc;

对于这个文件而言,可以考虑增加多路复用程度,以便减少或消除备份时的等待时间

3.监视同步I/O
动态性能视图V$BACKUP_SYNC_IO将帮助确定同步I/O操作中的瓶颈以及备份作业的进度。使用DISCRETE_BYTES_PER_SECOND列来查看操作的I/O比率。此后将此比率与输出设备(例如磁带设备)的最大比率做比较。如果比率低得多,则可以调整进程,通过使用并行化或增加通道多路复用级别来提高备份操作的吞吐最

SQL> select DISCRETE_BYTES_PER_SECOND from v$backup_sync_io;

如果正在使用同步I/O,但将BACKUP_TAB_IO_SLAVES设置为TRUE,则可在V$BACKUP_ASYNC_IO中监视I/O性能

BACKUP DURATION

指定完成备份需要的时间。可以使用MINIMIZE TIME限制此选项以便尽快运行备份,也可以使用MINIMIZE LOAD限制此选项以便使用在BACKUP DURATION窗口中指定的全部时间。此外,还可以使用PARTIAL选项,以便保存由于时间限制而终止的部分备份。例如,为了将完全数据库备份的时间限制在2小时之内,则尽可能快地运行并保存一部分备份,那么可以使用此命令:

RMAN> backup duration 2:00 partial database;

如果未在指定的时间内完成备份,但连续的BACKUP命令完成了备份,而且使用了PARTIAL选项,则仍然可以在恢复场景中使用部分备份。如果不使用PARTIAL选项,则备份将会终止并给出一个错误

转载于:https://www.cnblogs.com/thlzhf/p/3382722.html

OCA / OCP Practice Tests: Exam 1Z0-808 and Exam 1Z0-809 by Scott Selikoff English | 16 Mar. 2017 | ASIN: B06XQR7DVN | 600 Pages | AZW3 | 1.8 MB OCA/OCP Java SE 8 Programmer Practice Tests complements the Sybex OCA: Oracle Certified Associate Java SE 8 Programmer I Certification Study Guide and the OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide for exams 1Z0-808 and 1ZO-809 by providing last minute review of 100% of exam objectives. Get the advantage of over 1,000 expert crafted questions that not only provide the answer, but also give detailed explanations. You will have access to unique practice questions that cover all 21 objective domains in the OCA/OCP exams in the format you desire–test questions can also be accessed via the Sybex interactive learning environment. Two additional practice exams will ensure that you are ready for exam day. Whether you have studied with Sybex study guides for your OCA/OCP or have used another brand, this is your chance to test your skills. Access to all practice questions online with the Sybex interactive learning environment Over 1,000 unique practice questions and 2 practice exams include expert explanations Covers 100% of all 21 OCA/OCP objective domains for Exams 1Z0-809 and 1Z0-809 Studying the objectives are one thing, but diving deeper and uncovering areas where further attention is needed can increase your chance of exam day success. Full coverage of all domains shows you what to expect on exam day, and accompanying explanations help you pinpoint which objectives deserve another look.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值