使用v$session_longops来监控RMAN备份进度(二)

2014-11-24 17:11:28 · 作者: · 浏览: 1
TARGET_DESC HOURS CONTEXT SOFAR TOTALWORK %_complete
---------- ---------- ----------------------------------- --------------- ---------- ---------- ---------- ---------- ----------
6440 52989 RMAN: full datafile backup Set Count 8.30555556 1 35966318 137179774 26.22
6050 62853 RMAN: full datafile backup Set Count 6.25861111 1 43865710 136921086 32.04
3058 52919 RMAN: full datafile backup Set Count 8.01722222 1 36874224 137048704 26.91
1548 52825 RMAN: aggregate input backup 18.7455556 3 115521340 1232568339 9.37
3806 34287 RMAN: full datafile backup Set Count 8.19888889 1 36235504 136924544 26.46



OPNAME=aggregate input的这行数据是聚合行,SID为1548,是RMAN的主会话号,它表示当前RAMN中所有任务的整体进度。


OPNAME=full database backup的行为细节行,一共有4个,每个细节行对应一个通道channel。我们的备份启动了4个channel,所以这里就相对4个细节行。如果在这里能看到16个细节行该多好!


totalwor表示当前行需要处理的工作量,sofar表示已经能够完成的工作量,%comlete为sofar/totalwork的百分比。


该视图中聚合行中的总量为1232568339,在RMAN备份中totalwork的单位为blocks(通过UNITS字段能查到)。通过totalwork总大小1232568339 x 8(数据块大小) / 1024/1024/1024 = 9.18TB
%_complete完成度是9.37%。


细节行的工作总量完成后,会把完成进度加到聚合行。在备份过程中每次执行该视图看到细节行的%_complete在增长,而聚合行的%_complete却不会每次随着查询二改变就是这个原因。


备份器件还要关注一下sofar的增长量,如果隔2分钟以上查询该视图发现sofar停止增长了,就应该关注一下v$session_wait视图看看RMAN回话在等待什么事件。



我们看看第二天早上的备份进度,一夜都没备份完


oracle@jccmsdb1:/home/oracle> bdf /orabak
Filesystem kbytes used avail %used Mounted on
/dev/vx/dsk/bakdg/bakvol
9961472000 872303704 9018159296 9% /orabak


SQL> /


SID SERIAL# OPNAME TARGET_DESC HOURS CONTEXT SOFAR TOTALWORK %_complete
---------- ---------- ----------------------------------- --------------- ---------- ---------- ---------- ---------- ----------
6050 62853 RMAN: full datafile backup Set Count 3.25861111 1 95604078 136896374 69.84
6440 52989 RMAN: full datafile backup Set Count 2.95 1 97688238 136890366 71.36
1548 52825 RMAN: aggregate input backup 58.1516667 3 229714732 1232568339 18.64
3058 52919 RMAN: full datafile backup Set Count 3.08333333 1 98322032 136919040 71.81
3806 34287 RMAN: full datafile backup Set Count 4.92305556 1 82772078 136895998 60.46


oracle@jccmsdb1:/home/oracle> ls -ltr /orabak
total 1719089792
drwxr-xr-x 2 root root 96 Oct 10 18:40 lost+found
-rw-r----- 1 oracle oinstall 98304 Oct 12 10:31 datafile6_ptpks4no_1_1.bak
-rw-r----- 1 oracle oinstall 21472854016 Oct 12 18:29 sh_db_full_q5pksqkh_1_1
-rw-r----- 1 oracle oinstall 21472911360 Oct 12 18:32 sh_db_full_q3pksqkf_1_1
-rw-r----- 1 oracle oinstall 21472804864 Oct 12 18:37 sh_db_full_q2pksqke_1_1
-rw-r----- 1 oracle oinstall 21472837632 Oct 12 18:41 sh_db_full_q4pksqkg_1_1
-rw-r----- 1 oracle oinstall 21472772096 Oct 12 20:11 sh_db_full_q5pksqkh_2_1
-rw-r----- 1 oracle oinstall 21472862208 Oct 12 20:15 sh_db_full_q3pksqkf_2_1
-rw-r----- 1 oracle oinstall 21472870400 Oct 12 20:30 sh_db_full_q2pksqke_2_1
-rw-r----- 1 oracle oinstall 21472862208 Oct 12 20:34 sh_db_full_q4pksqkg_2_1
-rw-r----- 1 oracle oinstall 21472878592 Oct 12 21:54 sh_db_full_q5pksqkh_3_1
-rw-r----- 1 oracle oinstall 21472796672 Oct 12 22: