--查看RMAN配置
SELECT name "PARAMETERS", value "RMAN CONFIGURATION"
FROM v$rman_configuration
ORDER BY name;
--查看RMAN備份集
SELECT bs.recid,
DECODE(bp.status, 'A', 'Available', 'D', 'Deleted', 'X', 'Expired') status,
bp.handle handle,
TO_CHAR(bp.start_time, 'dd/mm/yyyy HH24:MI:SS') start_time,
TO_CHAR(bp.completion_time, 'dd/mm/yyyy HH24:MI:SS') completion_time,
bp.elapsed_seconds "ELAPSED"
FROM v$backup_set bs
JOIN v$backup_piece bp
USING (set_stamp, set_count)
WHERE bp.status IN ('A', 'X')
AND bp.completion_time > sysdate - 1
ORDER BY bp.completion_time desc, bs.recid, bp.piece#;
--查看RMAN備份集
SELECT bs.recid,
DECODE(backup_type,
'L',
'Archived Logs',
'D',
'Datafile Full',
'I',
'Incremental') backup_type,
device_type "type",
DECODE(bs.controlfile_included, 'NO', null, bs.controlfile_included) controlfile,
sp.spfile_included spfile,
bs.incremental_level L,
TO_CHAR(bs.start_time, 'dd/mm/yyyy HH24:MI:SS') start_time,
TO_CHAR(bs.completion_time, 'dd/mm/yyyy HH24:MI:SS') completion_time,
bs.elapsed_seconds "ELAPSED",
bp.tag,
bs.block_size "BLOCK"
FROM v$backup_set bs,
(select distinct set_stamp, set_count, tag, device_type
from v$backup_piece
where status in ('A', 'X')) bp,
(select distinct set_stamp, set_count, 'YES' spfile_included
from v$backup_spfile) sp
WHERE completion_time > sysdate - 1
AND bs.set_stamp = bp.set_stamp
AND bs.set_count = bp.set_count
AND bs.set_stamp = sp.set_stamp(+)
AND bs.set_count = sp.set_count(+)
ORDER BY completion_time desc, bs.recid;
--查看RMAN job進度
select SID,
serial#,
opname,
START_TIME,
TOTALWORK,
sofar,
(sofar / totalwork) * 100 done,
sysdate + TIME_REMAINING / 3600 / 24 end_at,
elapsed_seconds elapsed,
username
from v$session_longops
Where totalwork = sofar
AND opname NOT LIKE '%aggregate%'
AND start_time > sysdate - 1
AND opname like 'RMAN%';
--如果RMAN 在運行,查看RMAN 進度
SELECT sid,
serial#,
sofar,
totalwork,
opname,
round(sofar / totalwork * 100, 2) AS pct_complete
FROM v$session_longops
WHERE opname LIKE 'RMAN%'
AND opname NOT LIKE '%aggregate%'
AND totalwork != 0
AND sofar <> totalwork;
SELECT sid,
serial#,
opname,
ROUND(sofar / totalwork * 100, 2) AS pct_complete,
TO_CHAR(start_time, 'dd-mon-yy hh24:mi') start_time,
(sysdate - start_time) * 24 hours_running,
((sysdate - start_time) * 24 * 60) / (sofar / totalwork) -
(sysdate - start_time) * 24 * 60 minutes_left,
TO_CHAR((sysdate - start_time) / (sofar / totalwork) + start_time,
'dd-mon-yy hh24:mi') est_comp_time
FROM v$session_longops
WHERE opname LIKE 'RMAN%'
AND opname NOT LIKE '%aggregate%'
AND totalwork != 0
AND sofar <> totalwork;
--查看spfile和Controlfile備份情況
SELECT bs.recid,
sp.spfile_included spfile,
TO_CHAR(bs.completion_time, 'dd/mm/yyyy HH24:MI:SS') completion_time,
DECODE(status, 'A', 'Available', 'D', 'Deleted', 'X', 'Expired') status,
handle
FROM v$backup_set bs,
v$backup_piece bp,
(select distinct set_stamp, set_count, 'YES' spfile_included
from v$backup_spfile) sp
WHERE bs.set_stamp = bp.set_stamp
AND bs.completion_time > sysdate - 1
AND bs.set_count = bp.set_count
AND bp.status IN ('A', 'X')
AND bs.set_stamp = sp.set_stamp
AND bs.set_count = sp.set_count
ORDER BY bs.completion_time desc, bs.recid, piece#;
--查看數據文件和歸檔文件備份大小
select trunc(completion_time) "BACKUP_DATE",
sum(blocks * block_size) / 1024 / 1024 "DBF_BACKUP",
(SELECT sum(blocks * block_size) / 1024 / 1024
from v$backup_redolog
WHERE first_time > sysdate - 1) "ARC_BACKUP"
from v$backup_datafile
WHERE completion_time > sysdate - 1
group by trunc(completion_time)
order by 1 DESC;
--查看 full, incremental archivelog 備份情況:
select SESSION_KEY,
INPUT_TYPE,
STATUS,
to_char(START_TIME, 'mm/dd/yy hh24:mi') start_time,
to_char(END_TIME, 'mm/dd/yy hh24:mi') end_time,
elapsed_seconds / 3600 hrs
from V$RMAN_BACKUP_JOB_DETAILS
order by session_key;
--查看 full, incremental備份情況:
col STATUS format a9
col hrs format 999.99
select SESSION_KEY,
INPUT_TYPE,
STATUS,
to_char(START_TIME, 'mm/dd/yy hh24:mi') start_time,
to_char(END_TIME, 'mm/dd/yy hh24:mi') end_time,
elapsed_seconds / 3600 hrs
from V$RMAN_BACKUP_JOB_DETAILS
where input_type = 'DB INCR'
order by session_key;