RMAN 信息查詢

--查看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;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章