RMAN服务器进程:
RMAN生成一个到target db的客户端连接,并创建两个服务器进程。
1)主要进程生成对sys用户中的数据包调用,以执行备份和恢复操作,该进程会在备份和还原期间协调信道进程的工作。
2)次要进程(或影子进程)轮询RMAN中的所有长事务(long-runningtransaction)并在内部记录信息。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
SQL> select sid,serial#,context,sofar,totalwork,round(sofar/totalwork*100,2) "%_COMPLETE"
2 from v$session_longops
3 where opname like 'RMAN%'
4 AND OPNAME NOT LIKE '%aggregate%'
5 and totalwork != 0
6* and sofar <>totalwork
SID SERIAL# CONTEXT SOFAR TOTALWORK %_COMPLETE
---------- ---------- ---------- ---------- ---------- ---------- 141 10 1 5691 129440 4.4
SQL> col client_info for a30
SQL> col program for a15
SQL> set linesize 120
SQL> select sid ,saddr,paddr,program,client_info 2* from v$session where sid=141
SID SADDR PADDR PROGRAM CLIENT_INFO
---------- ---------------- ---------------- --------------- ------------------------------ 141 070000005A3F01C0 070000005A2F9AE0 rman@aix211 (TN rman channel=ORA_DISK_1
S V1-V3)
|
RMAN信道进程:
除了默认的两个进程外,在备份和还原期间还会为分配的每个信道单独创建一个进程。RMAN将信道视为目标数据库上的服务器进程,该进程在备份期间协调读取数据文件和写入指定位置的操作,在还原期间则协调读取备份位置和在数据文件位置写入数据库的操作。
信道只有两种类型:磁盘和磁带信道。不能为一个备份操作同事分配这两种信道。
RMAN和I/O从属:
利用DBWR_IO_SLAVES参数可以配置磁盘I/O从属,这个参数可以设置任意值,它的主要作用是在将“脏”缓冲区(即脏块)的内容写入磁盘时唤醒另外的DBWR从属进程来执行磁盘写操作。如果该参数被设置为非零,RMAN会自动在每个信道中切换使用4个I/O从属来帮助将数据块读入RMAN内存缓冲区。
但当OS平台不支持本地异步I/O时,才启用I/O从属进程。
使用BACKUP_TAPE_IO_SLAVES参数启用磁带的I/O从属进程。
|
1
2
3
4
5
6
7
|
SQL> show parameter slavesNAME TYPE VALUE------------------------------------ ----------- ------------------------------backup_tape_io_slaves boolean FALSEdbwr_io_slaves integer 0
SQL> 如果启用I/O从属进程,需要配置large pool。 |
本文转自 客居天涯 51CTO博客,原文链接:http://blog.51cto.com/tiany/1427799,如需转载请自行联系原作者
本文详细介绍了RMAN(Recovery Manager)在Oracle数据库备份与恢复过程中的工作原理。包括RMAN服务器进程如何通过主要进程和次要进程进行备份任务协调,以及信道进程在备份与恢复操作中的角色。此外还探讨了I/O从属进程的作用及其配置方法。
70

被折叠的 条评论
为什么被折叠?



