Home  >  Article  >  Database  >  Oracle RMAN日常维护命令

Oracle RMAN日常维护命令

WBOY
WBOYOriginal
2016-06-07 16:58:43954browse

一、REPORT1、报告目标数据库的物理结构 RMANgt;REPORT SCHEMA2、报告需要备份的数据文件 在执行备份之前,常常需要取

    一、REPORT
1、报告目标数据库的物理结构
   RMAN>REPORT SCHEMA2、报告需要备份的数据文件    在执行备份之前,常常需要取得需要备份的数据文件信息,通过执行REPORT NEED BACKUP 命令,可以列出需要备份的数据文件。当使用REPORT NEED BACKUP命令时,可以带
    有INCREMENTAL、DAYS、REDUNDANCY、RECOVERY WINDOW 四个选项。
   
    (1)报告需要转储的增量备份超出特定个数的数据文件
       当恢复数据文件时,需要转储数据文件备份,然后应用归档日志执行恢复。如果备份数据文件采用了增量备份和累积备份策略,那么在转储数据文件时依次转储
       0、1、2..级别的增量备份,转储的数据文件备份越多,恢复时间越长,下面以报告恢复数据文件需要转储的增量备份个数超过3次的数据文件为例:
       RMAN>REPORT NEED BACKUP INCREMENTAL 3       其中 file 用于标识数据文件的编号,Incrementals用于标识需要转储的备份文件个数,Name用于标识数据文件的名称,如果某个文件出现转储的次数大于3次,
       应该在该数据文件上执行完全备份或增量0级备份。    (2)报告特定天数未备份的数据文件
       当恢复数据文件时,在转储了所需的数据文件备份之后,会应用从备份点开始的所有归档日志。需要应用的归档日志越多,恢复时间越长,为了减少恢复时间,应该制定
       备份数据文件的时间周期。       USERS表空间上3天未备份的数据文件
       RMAN>REPORT NEED BACKUP DAYS 3 TABLESPACE USERS;       数据库内10天以上未备份的数据文件
       REPORT NEED BACKUP DAYS 10   
    (3)报告低于特定备份次数的数据文件
       恢复数据文件时,需要转储数据文件备份。当数据文件出现介质失败,并且数据文件备份也出现问题时,会导致数据文件无法恢复。在制定备份册落时,
       为了防止数据文件备份出现问题,应该为数据文件保留多个备份,但某些文件的备份次数过少时,需要增加备份数量。
      RMAN>REPORT NEED BACKUP REDUNDANCY 2 DATABASE;    (4)报告在恢复时间窗口内未备份的数据文件
       当恢复数据文件时,,在转储了所需的数据文件备份之后,会应用从备份点开始的所有归档日志。需要应用的归档日志越多,恢复时间越长。通过使用
       恢复时间窗口,可以将恢复操作需要应用的归档日志控制在特定时间范围内。下面以报告超过恢复窗口6天的未备份数据文件为例,说明使用DAYS选项的方法:
       RMAN>REPORT NEED BACKUP RECOVERY WINDOW OF 6 DAYS       DAYS 用于标识恢复数据文件需要应用几天前的归档日志。3、报告陈旧备份
     当使用RMAN执行恢复操作时,RMAN会自动转储最近的备份文件,然后应用该备份文件之后的归档日志。如果在特定数据文件上进行了多次备份,那么可以删除
     早期备份,通过使用REPORT OBSOLETE命令,可以报告陈旧备份。下例报告备份次数超过2次的陈旧备份:
      RMAN>REPORT OBSOLETE REDUNDANCY 2;4、报告不可恢复的数据文件
     当使用NOLOGGING选项装载了数据库之后,因为数据变化没有被记录到归档日志中,所以会导致过去的数据文件备份不能恢复当前数据文件。为防止数据文件不能
     恢复,应该备份该数据文件,通过如下语句,可以查看数据库所有不可恢复的数据文件:
     RMAN>REPORT UNRECOVERABLE;
二、LIST   1、列出数据文件备份集
      RMAN>LIST BACKUP OF TABLESPACE USER01;   2、列出控制文件备份集
      RMAN>LIST BACKUP OF CONTROLFILE;
  
   3、列出归档日志备份集
      RMAN>LIST BACKUP OF ARCHIVELOG ALL;   4、列出SPFILE备份集
      RMAN>LIST BACKUP OF SPFILE;   5、列出数据文件映像副本
      可用LIST COPY OF DATABASE列出所有数据文件的映像副本;用LIST COPY OF TABLESPACE 列出特定表空间数据文件的映像副本;用 LIST COPY OF DATAFILE列出特定
       数据文件的映像副本。
    
       RMAN>LIST COPY OF DATAFILE 5   6、列出控制文件映像副本
       RMAN>LIST COPY OF CONTROLFILE
  
   7、列出归档日志映像副本。
       RMAN>LIST COPY OF ARCHIVELOG ALL;   8、列出数据库副本
      每次使用RESETLOGS选项打开数据库之后都会生成一个新的数据库副本。
       RMAN>LIST INCARNATION OF DATABASE;
三、CROSSCHECK
   该命令用于核对磁盘和磁带上的备份文件,以确保RMAN资料库与备份文件保持同步。该命令只会检查RMAN资料库所记载的备份文件。当执行CROSSCHECK命令时,如果资料库
   记录不匹配于备份文件的物理状态,那么该命令会更新资料库记录的状态信息。当使用CROSSCHECK命令核对备份文件之后,备份文件的状态会包括AVALIABLE、UNAVALIABLE和EXPIRED 三种,
   如果备份文件处于EXPIRED状态,则说明物理文件已经被手工删除或者损坏。注意,如果备份文件处于EXPIRED状态,应该使用DELETE命令删除该备份文件。
  
   1、核对所有备份集
      RMAN>CROSSCHECK BACKUP;   2、核对所有数据文件的备份集
      RMAN>CROSSCHECK BACKUP OF DATABASE;   3、核对特定表空间的备份集
      RMAN>CROSSCHECK BACKUP OF TABLESPACE SYSTEM;   4、核对特定数据文件的备份集
      RMAN>CROSSCHECK BACKUP OF DATAFILE 4;   5、核对控制文件的备份集
      RMAN>CROSSCHECK BACKUP OF CONTROLFILE;   6、核对SPFILE的备份集
      RMAN>CROSSCHECK BACKUP OF SPFILE;
  
   7、核对归档日志的备份集
      RMAN>CROSSCHECK BACKUP OF ARCHIVELOG SEQUENCE 3;   8、核对所有映像副本
      RMAN>CROSSCHECK COPY;   9、核对所有数据文件的映像副本
      RMAN>CROSSCHECK COPY OF DATABASE;   10、核对特定表空间的映像副本
      RMAN>CROSSCHECK COPY OF TABLESPACE USERS;   11、核对特定数据文件的映像副本
       RMAN>CROSSCHECK COPY OF DATAFILE 4;   12、核对控制文件的映像副本
        RMAN>CROSSCHECK COPY OF CONTROLFILE;   13、核对归档日志的映像副本
       RMAN>CROSSCHECK COPY OF ARCHIVELOG SEQUENCE 4;
四、DELETE    该命令用于删除RMAN备份记录及相应的物理文件    1、删除陈旧备份
       RMAN>DELETE OBSOLETE;    2、删除 EXPIRED 备份集
      当使用OS命令删除了备份集对应的备份片文件后,如果执行CROSSCHECK命令核对备份集,那么会将该备份集标记为EXPIRED状态。
       RMAN>DELETE NOPROMPT EXPIRED BACKUP;    3、删除EXPIRED副本
       RMAN>DELETE NOPROMPT EXPIRED COPY;     
    4、删除特定备份集
      RMAN>DELETE NOPROMPT BACKUPSET 19;    5、删除特定备份片
      RMAN>DELETE NOPROMPT BACKUPPIECE 'D:\BACKUP\DEMO_18.BAK';    6、删除所有备份集
      RMAN>DELETE NOPROMPT BACKUP;    7、删除特定映像副本
       RMAN>DELETE NOPROMPT DATAFILECOPY 'D:\BACKUP\DEM0_19.BAK';    8、删除所有映像副本
       RMAN>DELETE NOPROMPT COPY;    9、在备份后删除输入对象
       当使用BACKUP命令备份归档日志或备份集时,在备份完成之后可以删除原有输入对象,示例如下:
       RMAN>BACKUP ARCHIVELOG ALL DELETE INPUT;
       RMAN>BACKUP BACKUPSET 22 FORMAT='D:\BACKUP\%u.BAK' DELETE INPUT;五、CHANGE   1、改变备份集状态
      可用CHANGE BACKUPSET .. UNAVAILABLE/AVAILABLE 来改变一个备份集的状态。

      RMAN>CHANGE BACKUPSET 22 UNAVAILABLE   2、改变映像副本状态
      数据文件:CHANGE DATAFILECOPY .. AVAILABLE/UNAVAILABLE
      控制文件:CHANGE CONTROLFILECOPY .. AVAILABLE/UNAVAILABLE
      归档日志:CHANGE ARCHIVELOG .. AVAILABLE/UNAVAILABLE      例如:
       RMAN>CHANGE DATAFILECOPY 'D:\BACKUP\DEMO_37.BAK' UNAVAILABLE;   3、建立长期备份
      长期备份是指被长期保留的备份文件,使用长期备份的目的是为了可以将数据库恢复到过去的特定时间点。当社顶了长期备份之后,RMAN会从设备冗余策略中
      免除该备份文件,也就是说,长期备份文件不会被标记为陈旧备份。
      命令:CHANGE .. KEEP/NOKEEP      (1)使备份集156永久保留
         RMAN>CHANGE BACKUPSET 156 KEEP FOREVER LOGS;
      (2)使备份集198保留60天
         RMAN>CHANGE BACKUPSET 198 KEEP UNTIL TIME 'SYSDATE+60' LOGS;
      (3)免除备份集156的保留期限
         RMAN>CHANGE BACKUPSET 156 NOKEEP

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn