关于Oracle数据库的RMAN备份,除了邮件外,是否能通过其它方式检查RMAN备份的成功与失败呢?其实我们可以通过下面SQL脚本来检查某个时间段备份失败的记录:

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'

其中STATUS主要有RUNNING、RUNNING WITH WARNINGS、RUNNING WITH ERRORS、COMPLETED、COMPLETED WITH WARNINGS、COMPLETED WITH ERRORS、FAILED等几种状态。另外,如果你在命令窗口输入

[oracle@MyDB ~]$ date

Tue Jul 19 10:52:02 CST 2016

[oracle@MyDB ~]$ rman target /

 

Recovery Manager: Release 10.2.0.5.0 - Production on Tue Jul 19 10:52:13 2016

 

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

 

connected to target database: SCM2 (DBID=3990839260)

 

RMAN> 

在V$RMAN_STATUS里面,你会看到插入了一条记录STATUS为RUNNING状态

SQL> COL ROW_TYPE FOR A10;

SQL> COL OPERATION FOR A10;

SQL> COL COMMAND_ID FOR A20;

SQL> COL STATUS FOR A30;

SQL> COL OBJECT_TYPE FOR A16;

SQL> SELECT ROW_TYPE, COMMAND_ID, OPERATION, STATUS,OBJECT_TYPE 

  2  FROM V$RMAN_STATUS 

  3  WHERE START_TIME >= TO_DATE('2016-07-19 10:52:00', 'YYYY-MM-DD HH24:MI:SS');

 

ROW_TYPE   COMMAND_ID           OPERATION  STATUS              OBJECT_TYPE

---------- -------------------- ---------- ----------------- ----------------

SESSION    2016-07-19T10:52:13  RMAN       RUNNING

此时如果在RMAN中随意执行一个错误命令,如下所示

[oracle@MyDB ~]$ rman target /

 

Recovery Manager: Release 10.2.0.5.0 - Production on Tue Jul 19 10:52:13 2016

 

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

 

connected to target database: SCM2 (DBID=3990839260)

 

RMAN> /

 

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-00558: error encountered while parsing input commands

RMAN-01006: error signalled during parse

RMAN-02001: unrecognized punctuation symbol "/"

SQL> COL ROW_TYPE FOR A10;

SQL> COL OPERATION FOR A10;

SQL> COL COMMAND_ID FOR A20;

SQL> COL STATUS FOR A30;

SQL> COL OBJECT_TYPE FOR A16;

SQL> SELECT ROW_TYPE, COMMAND_ID, OPERATION, STATUS,OBJECT_TYPE 

  2  FROM V$RMAN_STATUS 

  3  WHERE START_TIME >= TO_DATE('2016-07-19 10:52:00', 'YYYY-MM-DD HH24:MI:SS');

 

ROW_TYPE   COMMAND_ID           OPERATION  STATUS                  OBJECT_TYPE

---------- -------------------- ---------- --------------------- ----------------

SESSION    2016-07-19T10:52:13  RMAN       RUNNING WITH ERRORS

在RMAN中退出,此时你会看到STAUS记录从"RUNNING WITH ERRORS"变成了"COMPLETED WITH ERRORS"

也就是说,你可以在这个视图里面查看在RMAN里面执行的一些操作,例如删除归档日志等,另外,如果要查看RMAN的输出,可以查看V$RMAN_OUTPUT,V$RMAN_OUTPUT 视图记录了RMAN生成的信息,这是在内存中额视图,不会记录到控制文件上。最多有37278条记录.

当然也可以从V$RMAN_BACKUP_JOB_DETAILS中查看RMAN备份更详细的信息。

SELECT START_TIME,

      END_TIME,

      OUTPUT_DEVICE_TYPE,

      STATUS,

      ELAPSED_SECONDS,

      COMPRESSION_RATIO,

      INPUT_BYTES_DISPLAY,

      OUTPUT_BYTES_DISPLAY

FROM V$RMAN_BACKUP_JOB_DETAILS

ORDER BY START_TIME DESC ;

另外,如果我们需要查看RMAN备份的一些详细记录,在惜分飞的通过sql查询rman备份信息博客里面分享了下面一些经典的SQL语句。收录在此。

查看所有备份集详细信息:

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'

RDER BY A.COMPLETION_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;

 

参考资料:

http://www.xifenfei.com/2012/02/%E9%80%9A%E8%BF%87sql%E6%9F%A5%E8%AF%A2rman%E5%A4%87%E4%BB%BD%E4%BF%A1%E6%81%AF.html

ORACLE 查看RMAN的备份信息总结的更多相关文章

  1. 转 ORACLE 查看RMAN的备份信息总结

    http://www.cnblogs.com/kerrycode/p/5684768.html 关于Oracle数据库的RMAN备份,除了邮件外,是否能通过其它方式检查RMAN备份的成功与失败呢?其实 ...

  2. Oracle 使用RMAN进行备份

    备份理论和基本语法 备份概念 执行备份或还原草的数据库称为目标.在一些环境下,有许多数据库,因此有许多RMAN目标.应一次连接每个数据库.目标的每个备份都有一些属性: 打开或关闭 完整或部分 完整或增 ...

  3. Oracle 12 Rman增量备份

    增量备份 增量备份主要作用是仅复制自上次备份以来已更改的数据块.您可以使用RMAN创建数据文件,表空间或整个数据库的增量备份. 将增量备份作为策略的一部分的主要原因是: 用于基于增量更新备份的策略,其 ...

  4. oracle 查看表的相关信息

    1.查看当前用户的表 SELECT * FROM user_tables; 2.查看指定用户的表 SELECT * FROM all_tables WHERE owner = 'SYS';

  5. 查看SQL Server 备份信息

    RESTORE HEADERONLY FROM DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008\MSSQL\Back ...

  6. oracle 查看表的索引信息

    1.select * from user_indexes where table_name='PAMSODT0P02' 2.select * from user_ind_columns  where ...

  7. 查询rman备份信息经常使用指令

    查询rman备份信息经常使用指令 ----登陆到rman $rman target / ----以精简的格式查看备份信息 RMAN> list backup of database summar ...

  8. 查询rman备份信息常用指令

      查询rman备份信息常用指令 ----登陆到rman $rman target / ----以精简的格式查看备份信息 RMAN> list backup of database summar ...

  9. oracle11gRAC环境使用RMAN增量备份方案

    转摘:http://blog.itpub.net/29819001/viewspace-1320977/ [oracle@zx ~]$ rman target /Recovery Manager: R ...

随机推荐

  1. 为sql server 增加 parseJSON 和 ToJSON 函数

    在SqlServer中增加Json处理的方法 Sql Server 存储非结构话数据可以使用xml类型,使用xpath方式查询,以前写过一篇随笔:Sql Server xml 类型字段的增删改查 除了 ...

  2. C#DateTimePicker控件问题

    DateTimPicker控件在遇到29这样特殊的日期,选择时可能会出现 解决方案:在属性中把Value值设置为除29日外的其他日期或者在代码中直接设置Value值:DateTimePicker1 = ...

  3. 怎样实现了捕获应用中的日志在android开发中

    怎样实现了捕获应用中的日志在android开发中,大家可研究一下. Process mLogcatProc = null; BufferedReader reader = null; try { mL ...

  4. spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件)转

    关键字:spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) 应用场景:很多时候我们想要在某个类加载完毕时干某件事情,但是使用了spring管理对象,我们这个类引用 ...

  5. Java中使用Jedis操作Redis

    使用Java操作Redis需要jedis-2.1.0.jar,下载地址:http://files.cnblogs.com/liuling/jedis-2.1.0.jar.zip 如果需要使用Redis ...

  6. ahjesus 前端缓存原理 转载

    LAMP缓存图 从图中我们可以看到网站缓存主要分为五部分 服务器缓存:主要是基于web反向代理的静态服务器nginx和squid,还有apache2的mod_proxy和mod_cache模 浏览器缓 ...

  7. phpcms 移植【添加相关文章】功能

    添加相关文章功能相当有用,移植一个过来基本上可以实现比较复杂的页面内包含分类功能,做二次开发时可以省下不少力气. 用例:如果一个产品,属于一个厂家,而这个厂家是动态添加的,既不是一个分类,而是一个厂家 ...

  8. 基于HTML5 geolocation 实现的天气预报功能

    最近一直在学习HTML5,因为8月份要开发手机项目了.所以先把HTML5学习下. 基本思路: 1. 用户未设置任何城市之前,根据HTML5 geolocation 获取用户所在的地理位置. 2. 根据 ...

  9. Struts1 中提交中文表单到ActionForm后出现乱码问题的原因及处理方法

    问题: 在你所有页面设置的编码都是utf-8的情况下仍然会出现中文乱码现象. 一.乱码出现原因 由于Struts框架直接把表单数据发送给了ActionForm,所以这里面没有对HttpRequestS ...

  10. SQL 行列转换简单示例

    SQLSERVER 2005 以后提供了新的方式进行行列转换,下面是一个实例供参考: if object_id('tb') is not null drop table tbTest go ),季度 ...