Oracle RMAN バックアップ関連情報のクエリ

主にビュー V$RMAN_STATUS を介して RMAN バックアップ ステータスをクエリします。このビューは、RMAN によって実行される操作をクエリできます。
主に、OPERATION と STATUS の 2 つの列に注目します。

OPERATION の値は、RMAN、BACKUP、DELETE、CROSSCHECK、DELETE OBSOLETE などです。

STATUS の値は、RUNNING、FAILED、COMPLETED、COMPLETED WITH ERRORS、COMPLETED WITH WARNINGS などです。

RMAN の出力を表示する場合は、V$RMAN_OUTPUT を表示できます。このビューは、RMANによって生成された情報を記録します。これはメモリー内ビューであり、制御ファイルには記録されません。最大で 37278 のレコードがあります。

RMAN バックアップに関する詳細情報を表示する場合は、V$RMAN_BACKUP_JOB_DETAILS を表示できます。

バックアップの失敗記録を表示します。

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

成功したバックアップの記録を表示します。

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

すべてのバックアップ セットの詳細を表示します。

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;

データ ファイルを含むバックアップ セットを検索します。

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#;

バックアップ集中制御ファイルを照会します。

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;

バックアップ セット内のアーカイブ ログを表示します。

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#;

バックアップ セットの 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;

RMAN 構成情報を表示します。

SELECT NAME,VALUE FROM V$RMAN_CONFIGURATION;

RMAN バックアップ速度を表示します。

select * from V$rman_backup_job_details

RMAN バックアップの進行状況を表示します。

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;

ここに画像の説明を挿入

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

ここに画像の説明を挿入

SID の特定の情報を表示します。

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

参考記事:
https://www.cnblogs.com/yaoyangding/p/12091482.html
https://zhuanlan.zhihu.com/p/79435060
https://www.iteye.com/blog/myaerie-1221036

おすすめ

転載: blog.csdn.net/Ruishine/article/details/128315089