Oracle RMAN backup related information query

Query the RMAN backup status mainly through the view V$RMAN_STATUS, this view can query the operations performed by RMAN.
We mainly look at two columns: OPERATION and STATUS.

The values ​​of OPERATION are: RMAN, BACKUP, DELETE, CROSSCHECK, DELETE OBSOLETE, etc.

The values ​​of STATUS are: RUNNING, FAILED, COMPLETED, COMPLETED WITH ERRORS, COMPLETED WITH WARNINGS, etc.

If you want to view the output of RMAN, you can view V$RMAN_OUTPUT. This view records the information generated by RMAN, which is an in-memory view and will not be recorded to the control file. There are at most 37278 records.

If you want to view more detailed information about RMAN backup, you can view V$RMAN_BACKUP_JOB_DETAILS.

View backup failure records:

SELECT * FROM V$RMAN_STATUS

WHERE START_TIME >= TO_DATE(&START_TIME,'YYYY-MM-DD HH24:MI:SS')

  AND END_TIME   <= TO_DATE(&END_TIME  ,'YYYY-MM-DD HH24:MI:SS')

  AND OPERATION ='BACKUP'

  AND STATUS !='COMPLETED'

  AND STATUS NOT LIKE 'RUNNING%';

View the record of successful backup:

SELECT * FROM V$RMAN_STATUS
 
WHERE START_TIME >= TO_DATE(&START_TIME,'YYYY-MM-DD HH24:MI:SS')
 
  AND END_TIME   <= TO_DATE(&END_TIME  ,'YYYY-MM-DD HH24:MI:SS')
 
  AND OPERATION ='BACKUP'
 
  AND STATUS ='COMPLETED';

View all backup set details:

SELECT A.RECID "BACKUP SET",

       A.SET_STAMP,

        DECODE (B.INCREMENTAL_LEVEL,

                '', DECODE (BACKUP_TYPE, 'L', 'Archivelog', 'Full'),

                1, 'Incr-1级',

                0, 'Incr-0级',

                B.INCREMENTAL_LEVEL)

           "Type LV",

        B.CONTROLFILE_INCLUDED "包含CTL",

        DECODE (A.STATUS,

                'A', 'AVAILABLE',

                'D', 'DELETED',

                'X', 'EXPIRED',

                'ERROR')

           "STATUS",

        A.DEVICE_TYPE "Device Type",

        A.START_TIME "Start Time",

        A.COMPLETION_TIME "Completion Time",

        A.ELAPSED_SECONDS "Elapsed Seconds",

        A.BYTES/1024/1024/1024 "Size(G)",

        A.COMPRESSED,

        A.TAG "Tag",

        A.HANDLE "Path"

   FROM GV$BACKUP_PIECE A, GV$BACKUP_SET B

  WHERE A.SET_STAMP = B.SET_STAMP AND A.DELETED = 'NO'

ORDER BY A.COMPLETION_TIME DESC;
SELECT   device_type "Device",
           TYPE,
           filename,
           TO_CHAR (open_time, 'yyyy-mm-dd hh24:mi:ss') open,
           TO_CHAR (close_time, 'yyyy-mm-dd hh24:mi:ss') close,
           elapsed_time et,
           effective_bytes_per_second EPS
FROM    v$backup_async_io
WHERE close_time > SYSDATE - 10
ORDER BY  close_time DESC;

Find a backup set that contains data files:

SELECT DISTINCT c.file#,A.SET_STAMP, D.NAME, C.CHECKPOINT_CHANGE#, C.CHECKPOINT_TIME

FROM V$BACKUP_DATAFILE C, V$BACKUP_PIECE A, V$DATAFILE D

WHERE A.SET_STAMP = C.SET_STAMP

    AND D.FILE# = C.FILE#

    AND A.DELETED='NO'

    AND c.set_stamp=&set_stamp

 ORDER BY C.FILE#;

Query a backup centralized control file:

SELECT DISTINCT A.SET_STAMP,

                D.NAME,

                C.CHECKPOINT_CHANGE#,

                C.CHECKPOINT_TIME

 FROM V$BACKUP_DATAFILE C, V$BACKUP_PIECE A, V$CONTROLFILE D

 WHERE A.SET_STAMP = C.SET_STAMP

   AND C.FILE# = 0

   AND A.DELETED = 'NO'

   AND C.SET_STAMP = &SET_STAMP;

View archived logs in a backup set:

SELECT DISTINCT B.SET_STAMP,

                B.THREAD#,

                B.SEQUENCE#,

                B.FIRST_TIME,

                B.FIRST_CHANGE#,

                B.NEXT_TIME,

                B.NEXT_CHANGE#

 FROM V$BACKUP_REDOLOG B, V$BACKUP_PIECE A

 WHERE A.SET_STAMP = B.SET_STAMP

   AND A.DELETED = 'NO'

   AND B.SET_STAMP = &SET_STAMP

 ORDER BY THREAD#, SEQUENCE#;

View a backup set spfile:

SELECT DISTINCT A.SET_STAMP, B.COMPLETION_TIME, HANDLE

FROM V$BACKUP_SPFILE B, V$BACKUP_PIECE A

 WHERE A.SET_STAMP = B.SET_STAMP

   AND A.DELETED = 'NO'

   AND B.SET_STAMP = &SET_STAMP;

View RMAN configuration information:

SELECT NAME,VALUE FROM V$RMAN_CONFIGURATION;

View RMAN backup speed:

select * from V$rman_backup_job_details

View RMAN backup progress:

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

AND TOTALWORK != 0

AND SOFAR <> TOTALWORK;

insert image description here

SELECT s.sid,

s.serial#,

s.machine,sl.opname,sl.target,sl.message,s.program,sl.sql_hash_value,

TRUNC(sl.elapsed_seconds/60) || ':' || MOD(sl.elapsed_seconds,60) elapsed,

TRUNC(sl.time_remaining/60) || ':' || MOD(sl.time_remaining,60) remaining,

ROUND(sl.sofar/sl.totalwork*100, 2) progress_pct

FROM v$session s,

v$session_longops sl

WHERE s.sid = sl.sid

AND s.serial# = sl.serial#

AND sl.totalwork>0

AND sl.sofar<>sl.totalwork

insert image description here

View the specific information of a SID:

SELECT SID,SADDR,PADDR,PROGRAM,CLIENT_INFO FROM V$SESSION WHERE SID=XXX;

Reference articles:
https://www.cnblogs.com/yaoyangding/p/12091482.html
https://zhuanlan.zhihu.com/p/79435060
https://www.iteye.com/blog/myaerie-1221036

Guess you like

Origin blog.csdn.net/Ruishine/article/details/128315089