Oracle RMAN备份相关信息查询

178 篇文章 16 订阅

查询 RMAN 备份状态主要是通过视图V$RMAN_STATUS 来进行,这个视图可以查询到 RMAN 执行的操作。
我们主要查看两列:OPERATION 和 STATUS。

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
https://www.cnblogs.com/kerrycode/p/5684768.html


拓展阅读:

RMAN详细教程(一) —— 基本命令代码

RMAN详细教程(二) —— 备份、检查、维护、恢复

Oracle 中止 RMAN 任务

RMAN删除7天前的备份归档日志

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle RMAN备份是通过使用Oracle Recovery Manager (RMAN)来创建数据库备份的过程。RMANOracle数据库的一部分,它提供了一种可靠和高效的方法来备份和还原数据库。 在进行RMAN备份时,可以执行以下步骤: 1. 首先,需要在RMAN中配置备份通道。备份通道可以是磁盘、磁带或云存储等。配置备份通道可以通过在RMAN命令行中使用"allocate channel"命令来完成。 2. 然后,可以使用RMAN命令来执行备份操作。例如,使用"backup"命令可以备份整个数据库,使用"backup archivelog all"命令可以备份所有的归档日志。 3. 备份可以以多种格式进行,例如压缩备份集格式。可以使用"format"选项来指定备份文件的命名规则和位置。 4. 在进行备份时,可以选择是否删除输入,即删除已备份的日志文件。可以使用"delete all input"选项来删除已备份的归档日志。 需要注意的是,进行备份时,数据库必须处于归档日志模式。在归档日志模式下,所有的变更会被记录在重做日志中,并且这些变更会应用于备份文件,从而保证备份的一致性。如果数据库不处于归档日志模式,进行备份时执行的重做日志是不可用的。 综上所述,Oracle RMAN备份是通过使用Oracle Recovery Manager来创建数据库备份的过程。可以通过配置备份通道,并使用RMAN命令执行备份操作来完成备份备份可以以不同的格式进行,并且在归档日志模式下进行备份可以保证备份的一致性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Oracle使用RMAN进行备份详述](https://blog.csdn.net/xiuqingzhouyang/article/details/131401828)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值