RMAN实战7:list、report命令、相关动态视图、shell对RMAN监控

来源:互联网 发布:倚天屠龙记星河源码 编辑:程序博客网 时间:2024/06/09 21:09

    • list 命令
    • report 命令
    • SQL命令
      • 与备份集备份片备份文件等有关的几个动态视图
      • 查看备份的性能表vrman_backup_job_details
    • 用shell脚本来检查RMAN备份的失败情况

看RMAN备份情况常用的命令有list和report,功能可以从字面的意思上理解出来^_^,另外可以从几个动态视图中看有关备份信息。

list 命令

--查看比较详细的信息RMAN> list backup;备份集列表===================BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间------- ---- -- ---------- ----------- ------------ -------------------268     Full    17.20M     DISK        00:00:01     2015-12-15 20:45:24        BP 关键字: 277   状态: AVAILABLE  已压缩: NO  标记: TAG20151215T204523段名:C:\APP\ORACLE\FAST_RECOVERY_AREA\CYANG\AUTOBACKUP\2015_12_15\O1_MF_S_898548323_C702V43N_.BKP  包含的 SPFILE: 修改时间: 2015-12-15 20:37:14  SPFILE db_unique_name: CYANG  包括的控制文件: Ckp SCN: 3767379      Ckp 时间: 2015-12-15 20:45:23--查看备份摘要信息RMAN> list backup summary;备份列表===============关键字     TY LV S 设备类型 完成时间            段数 副本数 压缩标记------- -- -- - ----------- ------------------- ------- ------- ---------- ---268     B  F  A DISK        2015-12-15 20:45:24 1       1       NO         TAG20151215T204523269     B  F  A DISK        2015-12-15 20:47:04 1       1       NO         TAG20151215T204703270     B  1  A DISK        2015-12-15 20:47:15 1       1       NO         INCUPDATE271     B  1  A DISK        2015-12-15 20:47:23 1       1       NO         INCUPDATE272     B  F  A DISK        2015-12-15 20:47:26 1       1       NO         TAG20151215T204725273     B  1  A DISK        2015-12-15 20:47:37 1       1       NO         INCUPDATE274     B  1  A DISK        2015-12-15 20:47:45 1       1       NO         INCUPDATE275     B  F  A DISK        2015-12-15 20:47:48 1       1       NO         TAG20151215T204748276     B  F  A DISK        2015-12-16 18:43:09 1       1       NO         TAG20151216T184309--查看镜像副本RMAN> list copy;--列出已经备份的所有文件和相关备份集团RMAN> listbackup by file;--显示磁盘上的归档重做日志RMAN> list archivelog all;db_unique_name 为 CYANG 的数据库的归档日志副本列表=====================================================================关键字     线程序列     S 时间下限------- ---- ------- - -------------------64      1    73      A 2015-12-15 19:42:05        名称: C:\APP\ORACLE\FAST_RECOVERY_AREA\CYANG\ARCHIVELOG\2015_12_16\O1_MF_1_73_C72G9PJZ_.ARC--显示磁盘上的归档重做日志RMAN> list copy of archivelog all;db_unique_name 为 CYANG 的数据库的归档日志副本列表=====================================================================关键字     线程序列     S 时间下限------- ---- ------- - -------------------64      1    73      A 2015-12-15 19:42:05        名称: C:\APP\ORACLE\FAST_RECOVERY_AREA\CYANG\ARCHIVELOG\2015_12_16\O1_MF_1_73_C72G9PJZ_.ARC--列出归档日志的备份,及哪些归档重做日志包含到备份片中RMAN> list backup of archivelog all;说明与资料档案库中的任何备份都不匹配RMAN>

report 命令

--报告各种详细信息RMAN> report schema;db_unique_name 为 CYANG 的数据库的数据库方案报表永久数据文件列表===========================文件大小 (MB) 表空间           回退段数据文件名称---- -------- -------------------- ------- ------------------------1    800      SYSTEM               YES     C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_SYSTEM_BYCLTN26_.DBF2    250      PDB$SEED:SYSTEM      NO      C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_SYSTEM_BYCM0ZWL_.DBF3    780      SYSAUX               NO      C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_SYSAUX_BYCLRWV7_.DBF4    550      PDB$SEED:SYSAUX      NO      C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_SYSAUX_BYCM0ZW8_.DBF5    645      UNDOTBS1             YES     C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_UNDOTBS1_BYCLWPHZ_.DBF6    5        USERS                NO      C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_USERS_BYCLWOB1_.DBF7    260      PYANG1:SYSTEM        NO      C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_SYSTEM_BYCMNHWC_.DBF8    600      PYANG1:SYSAUX        NO      C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_SYSAUX_BYCMNHW0_.DBF9    5        PYANG1:USERS         NO      C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_USERS_BYCMNHWP_.DBF10   1260     PYANG1:EXAMPLE       NO      C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_EXAMPLE_BYCMNHVM_.DBF11   500      RECCAT               NO      C:\APP\ORACLE\RECCATLODDIR\RECCAT01.DBF临时文件列表=======================文件大小 (MB) 表空间           最大大小 (MB) 临时文件名称---- -------- -------------------- ----------- --------------------1    197      TEMP                 32767       C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_TEMP_BYCM0XJO_.TMP2    100      PDB$SEED:TEMP        32767       C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\PDBSEED_TEMP012015-09-02_12-03-07-AM.DBF3    197      PYANG1:TEMP          32767       C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\PYANG1_TEMP012015-09-02_12-13-42-AM.DBF--过时备份RMAN> report obsolete;RMAN 保留策略将应用于该命令将 RMAN 保留策略设置为冗余 1已废弃的备份和副本报表类型                 关键字 完成时间           文件名/句柄-------------------- ------ ------------------ --------------------数据文件副本         48     2015-12-15 20:44:45 C:\APP\ORACLE\FAST_RECOVERY_AREA\CYANG\DATAFILE\O1_MF_SYSTEM_C702SQFL_.DBF数据文件副本         49     2015-12-15 20:44:52 C:\APP\ORACLE\FAST_RECOVERY_AREA\CYANG\DATAFILE\O1_MF_SYSAUX_C702SYLG_.DBF--查看需要备份的文件RMAN> report need backup;RMAN 保留策略将应用于该命令将 RMAN 保留策略设置为冗余 1文件冗余备份少于1个文件 #bkps 名称---- ----- -----------------------------------------------------11   0     C:\APP\ORACLE\RECCATLODDIR\RECCAT01.DBF--根据不同的备份策略预测下需要备份的文件RMAN> report need backup redundancy 2;文件冗余备份少于2个文件 #bkps 名称---- ----- -----------------------------------------------------10   1     C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_EXAMPLE_BYCMNHVM_.DBF11   0     C:\APP\ORACLE\RECCATLODDIR\RECCAT01.DBFRMAN> report need backup redundancy 1;文件冗余备份少于1个文件 #bkps 名称---- ----- -----------------------------------------------------11   0     C:\APP\ORACLE\RECCATLODDIR\RECCAT01.DBFRMAN> report need backup redundancy 1 datafile 4;文件冗余备份少于1个文件 #bkps 名称---- ----- -----------------------------------------------------RMAN> report need backup redundancy 1 datafile 6;文件冗余备份少于1个文件 #bkps 名称---- ----- -----------------------------------------------------RMAN> report need backup redundancy 1 datafile 19;RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-03002: report 命令 (在 12/16/2015 20:28:18 上) 失败RMAN-20201: 在恢复目录中未找到数据文件RMAN-06010: 在查看数据文件时出错: 19--无法进行恢复得数据文件RMAN> report unrecoverable;由于操作无法被恢复, 文件的报表需要备份备份请求名称的文件类型---- ----------------------- -----------------------------------RMAN> backup database ;RMAN> report unrecoverable;由于操作无法被恢复, 文件的报表需要备份备份请求名称的文件类型---- ----------------------- -----------------------------------RMAN> report need backup redundancy 1 datafile 6;文件冗余备份少于1个文件 #bkps 名称---- ----- -----------------------------------------------------RMAN> report need backup redundancy 1 datafile 4;文件冗余备份少于1个文件 #bkps 名称---- ----- -----------------------------------------------------RMAN> report need backup redundancy 2;文件冗余备份少于2个文件 #bkps 名称---- ----- -----------------------------------------------------11   1     C:\APP\ORACLE\RECCATLODDIR\RECCAT01.DBFRMAN> report need backup redundancy 1;文件冗余备份少于1个文件 #bkps 名称---- ----- -----------------------------------------------------RMAN>

SQL命令

与备份集、备份片、备份文件等有关的几个动态视图

掌握oracle里面的视图有利于让我们更熟悉ORACLE,下面是几个视图的简要说明:

View Name Information Provided V$RMAN_BACKUP_JOB_DETAILS RMAN backup jobs,单个备份任务回话,含有绘画前景所有信息 V$BACKUP Backup status of online data files placed in backup mode(for hot backups) V$BACKUP_ARCHIVELOG_SUMMARY Archive logs backed up,汇总。 V$BACKUP_ARCHIVELOG_DETAILS Archive logs backed up,详细。 V$BACKUP_CONTROLFILE_SUMMARY Control files backed up,汇总 V$BACKUP_CONTROLFILE_DETAILS Control files backed up,详细 V$BACKUP_COPY_SUMMARY Control file and data file copies,汇总 V$BACKUP_COPY_DETAILS Control file and data file copies V$BACKUP_DATAFILE Control files and data files backed up V$BACKUP_DATAFILE_DETAILS Data files backed up in backup sets, image copies, and proxy copies V$BACKUP_FILES Data files, control files, spfiles, and archive redo logs backed up V$BACKUP_SPFILE Spfiles V$BACKUP_PIECE Backup piece files V$BACKUP_PIECE_DETAILS Backup piece details V$BACKUP_SET Backup sets V$BACKUP_SET_DETAILS Backup set details V$RMAN_CONFIGUATION RMAN 的配置
--查看备份集和数据文件直接的关系sys@CYANG> SET LINES 200 PAGESIZE 100sys@CYANG> BREAK ON REPORT ON bs_key ON completion_time ON bp_name ON file_namesys@CYANG> COL bs_key FORM 99999 HEAD "BS Key"sys@CYANG> COL bp_name FORM a50 HEAD "BP Name"sys@CYANG> COL file_name FORM a88 HEAD "Datafile"sys@CYANG> SELECT  2  s.recid bs_key  3  ,TRUNC(s.completion_time) completion_time  4  ,p.handle bp_name  5  ,f.name file_name  6  FROM v$backup_set s  7  ,v$backup_piece p  8  ,v$backup_datafile d  9  ,v$datafile f 10  WHERE p.set_stamp = s.set_stamp 11  AND p.set_count = s.set_count 12  AND d.set_stamp = s.set_stamp 13  AND d.set_count = s.set_count 14  AND d.file# = f.file# 15  ORDER BY 16  s.recid 17  ,p.handle 18  ,f.name;BS Key COMPLETION_TIME     BP Name                                            Datafile------ ------------------- -------------------------------------------------- -------------------------------------------------------------------------------------   277 2015-12-16 00:00:00 C:\APP\ORACLE\FAST_RECOVERY_AREA\CYANG\BACKUPSET\2 C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_SYSAUX_BYCLRWV7_.DBF                           015_12_16\O1_MF_NNNDF_TAG20151216T202849_C72P821L_                           .BKP                                                                              C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_SYSTEM_BYCLTN26_.DBF                                                                              C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_UNDOTBS1_BYCLWPHZ_.DBF                                                                              C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_USERS_BYCLWOB1_.DBF                                                                              C:\APP\ORACLE\RECCATLODDIR\RECCAT01.DBF   278 2015-12-16 00:00:00 C:\APP\ORACLE\FAST_RECOVERY_AREA\CYANG\809378F0242 C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_EXAMPLE_BYCMNHVM_.DBF                           54A0AAF1C7D06CC6D9706\BACKUPSET\2015_12_16\O1_MF_N                           NNDF_TAG20151216T202849_C72P8KBW_.BKP                                                                              C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_SYSAUX_BYCMNHW0_.DBF                                                                              C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_SYSTEM_BYCMNHWC_.DBF                                                                              C:\APP\ORACLE\ORADATA\CYANG\DATAFILE\O1_MF_USERS_BYCMNHWP_.DBF已选择 9 行。sys@CYANG>

查看备份的性能,表v$rman_backup_job_details

用v$rman_backup_job_details这个表来看,这个地方需要注意下,里面的起止结束时间是session时间,是你连上RMAN到退出RMAN的时间,不是做备份的时间,一般都是用来统计用脚本备份的时间,如果你手动连上RMAN后在里面折腾一阵子再备份,那么时间肯定比较长,就没什么价值了。

C:\app\oracle\product\12.1.0\dbhome_1\BIN>sqlplus "/ as sysdba"SQL*Plus: Release 12.1.0.2.0 Production on 星期三 1216 22:39:02 2015Copyright (c) 1982, 2014, Oracle.  All rights reserved.连接到:Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit ProductionWith the Partitioning, OLAP, Advanced Analytics and Real Application Testing optionssys@CYANG> COL hours FORM 9999.99sys@CYANG> COL time_taken_display FORM a20sys@CYANG> SET LINESIZE 132sys@CYANG> --sys@CYANG> SELECT  2  session_recid  3  ,compression_ratio  4  ,time_taken_display  5  ,(end_time - start_time) * 24 as hours  6  ,TO_CHAR(end_time,'dd-mon-yy hh24:mi') as end_time  7  FROM v$rman_backup_job_details  8  ORDER BY end_time;SESSION_RECID COMPRESSION_RATIO TIME_TAKEN_DISPLAY      HOURS END_TIME------------- ----------------- -------------------- -------- --------------------          119        1.62642761 00:11:35                  .19 07-12月-15 20:21          177        2.62281522 00:00:13                  .00 14-12月-15 19:47          180        1.63233666 00:00:37                  .01 14-12月-15 20:02          186        2.95125914 00:07:31                  .13 14-12月-15 20:55          195        3.01111485 00:21:05                  .35 15-12月-15 19:53          208         3.2232692 00:18:44                  .31 15-12月-15 20:16          228        5.13025553 00:00:42                  .01 15-12月-15 20:21          235        1.49291726 00:14:55                  .25 15-12月-15 20:47          258        1.63223903 00:00:40                  .01 16-12月-15 20:29已选择 9 行。sys@CYANG>

用shell脚本来检查RMAN备份的失败情况

下面这个脚本用来检测N天之内RMAN是否有过备份,已经N天内是否有未备份的数据文件,该脚本需要两个参数,参数1是SID,参数2是备份间隔天数:

#!/bin/bash#if [ $# -ne 2 ]; thenecho "Usage: $0 SID threshold"exit 1fi# source oracle OS variables. /var/opt/oracle/oraset $1#--这一部分是检查N天之内是否备份过,N就是脚本的第2个参数crit_var=$(sqlplus -s <<EOF/ as sysdbaSET HEAD OFF FEEDBACK OFF--delta表示 现在距最后一次备份有几天了,如果有值说明这几天之内没备份过SELECT COUNT(*) FROM(SELECT (sysdate - MAX(end_time)) deltaFROM v\$rman_backup_job_details) aWHERE a.delta > $2;EOF)#if [ $crit_var -ne 0 ]; thenecho "rman backups not running on $1" | mailx -s "rman problem" XXXX@XXXX.comelseecho "rman backups ran ok"fi#--这一部分是检查N天内,那个数据文件还没有进行备份,即维护了数据文件后要及时进行备份crit_var2=$(sqlplus -s <<EOF/ as sysdbaSET HEAD OFF FEEDBACK OFFSELECT COUNT(*)FROM(SELECT nameFROM v\$datafileMINUSSELECT DISTINCTf.nameFROM v\$backup_datafile d,v\$datafile fWHERE d.file# = f.file#AND d.completion_time > sysdate - $2);EOF)#if [ $crit_var2 -ne 0 ]; thenecho "datafile not backed up on $1" | mailx -s "backup problem" XXXX@XXXX.comelseecho "datafiles are backed up..."fi#exit 0
0 0
原创粉丝点击