当RMAN需要备份或恢复的数据量较大时,RMAN可能长时间没有反馈的结果,使人误以为RMAN挂掉了。

使用以下SQL语句可以查看正在进行中的RMAN的工作进度:

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%'


其中SOFAR表示已经完成的工作量,TOTALWORK表示应完成的全部工作量。

最后一列表示已经完成的工作量的百分比。


我们可以在RMAN执行过程中,每隔一段时间执行一次这条查询语句。通过比较两次的返回的结果,可以判断出RMAN是否仍在正常工作中。


以上参考《ORALCE DATABASE 11g RMAN备份与恢复》一书。