v$session_longops视图:
Oracle在v$session_longops中记录任何运行超过6秒的操作,包括rman备份和还原操作,统计信息收集以及
长查询。
RMAN在v$session_longops中填充两种不同类型的行:详细信息行和汇总行。详细信息行显示单个RMAN作业
步骤(例如创建单个备份集)的信息。汇总行适用于单个RMAN命令中引用的所有文件。汇总行的更新频率比详细
信息行低。
(注:只有将初始化参数statistics_level设置为typical或all时,v$session_longops视图才会显示有关长时间
运行的rman作业的信息。statistics_level的默认值是typical)
SQL> show parameter statistics_level
NAME TYPE VALUE
------------------------------------ ----------- --------------
statistics_level string TYPICAL
使用rman进行数据库全备份,然后使用以下命令进行查询,会显示活动rman作业的详细信息行和汇总行:
SQL> select sid,serial#,opname,sofar,totalwork from v$session_longops
2 where opname like 'RMAN%'
3 and sofar <> totalwork;
SID SERIAL# OPNAME SOFAR TOTALWORK
---------- ---------- ------------------------------ ---------- ----------
139 89 RMAN: aggregate input 0 198784
192 140 RMAN: full datafile backup 94396 198784
192 140 RMAN: full datafile backup 58719 0
其中,sofar列衡量步骤的进度,其值因操作类型而异:
*对于映像副本而言,它是读取的块数。
*对于备份输入行而言,它是从备份文件中读取的块数
*对于备份输出行而言,它是写入备份片的块数
*对于还原操作,它是迄今处理的目标文件的块数。
*对于代理副本,它是迄今已经复制的文件数
TOTALWORK列的定义与此类似,但是它估计步骤中需要执行的工作总量。
*对于映像副本,它是文件中块的总数量
*对于备份输入行,它是步骤中从所有文件中读取的块的总数量。
*对于备份输出行,它始终是0
*对于还原操作,它是在单个作业步骤或汇总步骤中还原的所有文件的块总数。
*对于代理副本,它是要在作业步骤中复制的文件总数。