RMAN Quick Ref‎ > ‎

The RMAN Server Processes

posted Jul 12, 2011, 1:52 PM by Sachchida Ojha
RMAN makes a client connection to the target database, and two server processes are spawned. The primary process is used to make calls to packages in the SYS schema in order to perform the backup or recovery operations. This process coordinates the work of the channel processes during backups and restores.

The secondary, or shadow, process polls any long-running transactions in RMAN and then logs the information internally. You can view the results of this polling in the view V$SESSION_LONGOPS:

SELECT SID, SERIAL#, CONTEXT, SOFAR, TOTALWORK,
       ROUND( SOFAR/TOTALWORK*100, 2) "%_COMPLETE"
FROM V$SESSION_LONGOPS
WHERE OPNAME LIKE ' RMAN%'
AND OPNAME NOT LIKE ' %aggregate%'
AND TOTALWORK ! = 0
AND SOFAR <> TOTALWORK
/

You can also view these processes in the V$SESSION view. When RMAN allocates a channel, it provides the session ID information in the output:
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=16 devtype=DISK
The sid information corresponds to the SID column in V$SESSION. So you could construct a query such as this:
SQL> column client_info format a30
SQL> column program format a15
SQL> select sid, saddr, paddr, program, client_info      from v$session where sid=16;
     
 SID SADDR    PADDR    PROGRAM         CLIENT_INFO
---------- -------- -------- --------------- -----------------------       
16 682144E8 681E82BC RMAN.EXE        rman channel=ORA_DISK_1   
Comments