RMAN命令详解

一、list命令

1. List 当前RMAN所备份的数据库:


    1.1. listbackup summary; --概述可用的备份
         list incarnation;--汇总查询

                    --如果备份文件多的话多用这两个list命令可以对备份文件有个总体了解。
       B 表示backup
       A表示Archivelog、 F 表示full backup、 0,1,2 表示incremental level备份
       A表示可用AVALIABLE、 X 表示EXPIRED

      这个命令可以派生出很多类似命令,例如
       list backupof database summary
       list backupof archivelog all summary
       list backupof tablespace users summary;
       list backupof datafile n,n,n summary

   这些命令可以让我们对已有的备份文件有一个整体,直观的了解。


    1.2.listbackup by file;--按照文件类型分别列出
      分别为:数据文件列表、归档日志列表、控制文件列表、SPFILE列表

    1.3.listbackup;
   这个命令列出已有备份集的详细信息。

    1.4.listexpired backup;
   列出过期的备份文件

    1.5.listcopy;
   列出copy文件
    list copy ofdatabase;
    list copy ofcontrolfile;
    list copy oftablespace users;
    list copy ofdatafile n,n,n;
    list copy ofarchivelog all;
    list copy ofarchivelog from scn 10000;
    list copy ofarchivelog until sequence 12;

 


2. List 相关文件的信息
    list backupof {archivelog, controlfile, database, datafile, spfile,tablespace};
    list backupof database; --full,incremental,tablespace,datafile

2.1服务器参数文件:
    list backupof spfile;


2.2 控制文件:
    list backupof controlfile;


2.3 数据文件:
    list backupof datafle n,n,n,n;


2.4表空间:
    list backupof tablespace tablespace_name;--表空间对应的backup

2.5归档日志:
    list backupof archivelog {all, from, high, like, logseq, low, scn, sequence,time, until};
    list backupof archivelog all;
    list backupof archivelog until time 'sysdate-1';
    list backupof archivelog from sequence 10;
    list backupof archivelog until sequence 10;
    list backupof archivelog from scn 10000;
    list backupof archivelog until scn 200000;

    listarchivelog from scn 1000;
    listarchivelog until scn 2000;
    listarchivelog from sequence 10;
    listarchivelog until sequence 12;

二、report常用命令总结备忘


report用于判断数据库当前可恢复状态、以及数据库已有备份的信息。
最常使用的是report obsolete; report schema;

report {device, need, obsolete, schema, unrecoverable}

report schema;
report obsolete;
report unrecoverable;
report need backup;
report need backup days=3; --报告最近3天内没有备份的文件
report need backup redundancy=3; --报告冗余次数小于3的数据文件。
report need backup recovery window of 2 days;


report schema;---报告数据库模式
report obsolete;---报告已丢弃的备份集(配置了保留策略)。

reportunrecoverable;---报告当前数据库中不可恢复的数据文件(即没有这个数据文件的备份、或者该数据文件的备份已经过期)

report need backup;---报告需要备份的数据文件(根据条件不同)
report need backup days=3;
      --最近三天没有备份的数据文件(如果出问题的话,这些数据文件将需要最近3天的归档日志才能恢复)
report need backup incremental=3;
      --需要多少个增量备份文件才能恢复的数据文件。(如果出问题,这些数据文件将需要3个增量备份才能恢复)
report need backup redundancy=3;
      --报告出冗余次数小于3的数据文件
      --例如数据文件中包含2个数据文件system01.dbf和users01.dbf.
      --在3次或都3次以上备份中都包含system01.dbf这个数据文件,而users01.dbf则小于3次
      --那么,报告出来的数据文件就是users01.dbf
      --即,报告出数据库中冗余次数小于 n 的数据文件
report need backup recovery window of 2 days;
      --报告出恢复需要2天归档日志的数据文件

三、backup常用命令总结备忘
   1.设置备份标记
       backupdatabase tag='full_bak1';
      注:每个标记必须唯一,相同的标记可以用于多个备份只还原最新的备份。

   2.设置备份集大小(一次备份的所有结果为一个备份集,要注意备份集大小)
       backupdatabase maxsetsize=100m tag='datafile1';
      注:maxsetsize限定备份集的大小。所以必须大于数据库总数据文件的大小,否则会报错。
     RMAN-06183: datafile ordatafile copy larger than MAXSETSIZE: file# 1/data/oradata/system01.dbf

   3.设置备份片大小(磁带或文件系统限制)
       run {
       allocatechannel c1 type disk maxpicecsize 100m format'/data/backup/full_0_%U_%T';
       backupdatabase tag='full_0';
       releasechannel c1;
       }
      可以在allocate子句中设定每个备份片的大小,以达到磁带或系统限制。
      也可以在configure中设置备份片大小。
       Configurechannel device type disk maxpiecesize 100 m;
       configurechannel device type disk clear;

   4.备份集的保存策略
       backupdatabase keepforever;                 --永久保留备份文件
       backupdatabase keep until time='sysdate+30'; --保存备份30天


   5.重写configure exclude命令
       backupdatabas noexclude keep forever tag='test backup';

   6.检查数据库错误
       backupvalidate database;
      使用RMAN来扫描数据库的物理/逻辑错误,并不执行实际备份。

   7.跳过脱机,不可存取或只读文件
       backupdatabase skip readonly;
       backupdatabase skip offline;
       backupdatabase skip inaccessible;
       backupdatabase skip readonly skip offline skip inaccessible;

    8.强制备份
       backupdatabase force;

   9.基于上次备份时间备份数据文件
      1>只备份添加的新数据文件
          backupdatabase not backed up;
      2>备份"在限定时间周期内"没有被备份的数据文件
          backupdatabase not backed up since time='sysdate-2';

   10.备份操作期间检查逻辑错误
       backup checklogical database;
       backupvalidate check logical database;

   11.生成备份副本
       backupdatabase copies=2;

   12.备份控制文件
       backupdatabase device type disk includ current controlfile;

四、configure常用命令总结备忘


4.1 显示当前的配置信息

4.1.1 RMAN> show all;

RMAN 配置参数为:

CONFIGURE RETENTION POLICY TO REDUNDANCY 1; #default

CONFIGURE BACKUP OPTIMIZATION OFF; # default

CONFIGURE DEFAULT DEVICE TYPE TO DISK; #default

CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICETYPE DISK TO '%F'; # default

CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUPTYPE TO BACKUPSET; # default

CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPEDISK TO 1; # default

CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPEDISK TO 1; # default

CONFIGURE MAXSETSIZE TO UNLIMITED; # default

CONFIGURE ENCRYPTION FOR DATABASE OFF; #default

CONFIGURE ENCRYPTION ALGORITHM 'AES128'; #default

CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; #default

CONFIGURE SNAPSHOT CONTROLFILE NAME TO'D:/ORACLE/PRODUCT/10.2.0/DB_1/DATABASE/S

NCFDBA.ORA'; # default


4.1.2 查询RMAN设置中非默认值:
   SQL> select name,value fromv$rman_configuration;



4.2. 常用的configure选项

4.2.1 保存策略 (retention policy)

   configure retention policy torecovery window of 7 days;
   configure retention policy toredundancy 5;
   configure retention policyclear;

CONFIGURE RETENTION POLICY TO NONE;
第一种recoverwindow是保持所有足够的备份,可以将数据库系统恢复到最近七天内的任意时刻。任何超过最近七天的数据库备份将被标记为obsolete。
第二种redundancy是为了保持可以恢复的最新的5份数据库备份,任何超过最新5份的备份都将被标记为redundancy。它的默认值是1份。

第三四:NONE 可以把使备份保持策略失效,Clear 将恢复默认的保持策略

一般最安全的方法是采用第二种保持策略。


4.2.2 备份优化 backup optimization
   configure backup optimizationon;
   configure backup optimizationoff;
   configure backup optimizationclear;
默认值为关闭,如果打开,rman将对备份的数据文件及归档等文件进行一种优化的算法。

4.2.3 默认设备 default device type
   configure default device typeto disk;
   configure default device typeto stb;
   configure default device typeclear;
是指定所有I/O操作的设备类型是硬盘或者磁带,默认值是硬盘
磁带的设置是CONFIGURE DEFAULT DEVICE TYPE TO SBT;


4.3.4 控制文件 controlfile
   configure controlfileautobackup on;
   configure controlfileautobackup format for device type disk to'/cfs01/backup/conf/conf_%F';
   configure controlfileautobackup clear;
   configrue controlfileautobackup format for device type disk clear;
   configrue snapshot controlfilename to '/cfs01/backup/snapcf/scontrofile.snp';

--是配置控制文件的快照文件的存放路径和文件名,这个快照文件是在备份期间产生的,用于控制文件的读一致性。
   configrue snapshot controlfilename clear;


强制数据库在备份文件或者执行改变数据库结构的命令之后将控制文件自动备份,默认值为关闭。这样可以避免控制文件和catalog丢失后,控制文件仍然可以恢复。


4.3.5 并行数(通道数) device type disk|stb pallelismn;
   configure device type disk|stbparallelism 2;
   configure device type disk|stbclear; --用于清除上面的信道配置
   configurechannel device type disk format 'e/:rmanback_%U';
   configurechannel device type disk maxpiecesize 100m
   configure channel device typedisk rate 1200K
    configurechannel 1 device type disk format 'e/:rmanback_%U';
    configurechannel 2 device type disk format 'e/:rmanback_%U';
    configurechannel 1 device type disk maxpiecesize 100m

配置数据库设备类型的并行度。


4.3.6 生成备份副本 datafile|archivelog backupcopies
   configure datafile backupcopies for device type disk|stb to 3;
   configure archivelog backupcopies for device type disk|stb to 3;

--是设置数据库的归档日志的存放设备类型
   configure datafile|archivelogbackup copies for device type disk|stb clear
   BACKUP DEVICE TYPE DISKDATABASE
    FORMAT'/disk1/backup/%U', '/disk2/backup/%U', '/disk3/backup/%U';


是配置数据库的每次备份的copy数量,oracle的每一次备份都可以有多份完全相同的拷贝。


4.3.7 排除选项 exclude
   configure exclude fortablespace 'users';
   configrue exclude clear;

此命令用于将指定的表空间不备份到备份集中, 此命令对只读表空间是非常有用的。


4.3.8 备份集大小 maxsetsize
   configure maxsetsize to1G|1000M|1000000K|unlimited;
   configure maxsetsizeclear;

4.3.9 其它选项 auxiliary
   CONFIGURE AUXNAME FOR DATAFILE1 TO '/oracle/auxfiles/aux_1.f';
   CONFIGURE AUXNAME FOR DATAFILE2 TO '/oracle/auxfiles/aux_2.f';
   CONFIGURE AUXNAME FOR DATAFILE3 TO '/oracle/auxfiles/aux_3.f';
   CONFIGURE AUXNAME FOR DATAFILE4 TO '/oracle/auxfiles/aux_4.f';
   -
   CONFIGURE AUXNAME FOR DATAFILE1 CLEAR;
   CONFIGURE AUXNAME FOR DATAFILE2 CLEAR;
   CONFIGURE AUXNAME FOR DATAFILE3 CLEAR;
   CONFIGURE AUXNAME FOR DATAFILE4 CLEAR;

五、delete命令

         删除相关的备份集或镜像副本的物理文件,同时将删除标记DELETE更新到控制文件,如果使用恢复目录,则是清除恢复目录内的备份集。

   RMAN> delete backupset;

   RMAN> delete backupset n;

   RMAN> delete obsolete ;

   RMAN> delete obsolete redundancy 2;

   RMAN> delete noprompt copy;

   RMAN> delete noprompt backupset tagTAG20101016T143521;

   RMAN> delete obsolete recovery window of 7 days;

   RMAN> delete expired backupset;

   RMAN> delete expired copy;

   RMAN> delete expired archivelog all;

   RMAN>delete archivelog until time 'sysdate-5';

六、crosscheck命令

用于检验存储仓库中的备份集或镜像副本,执行改命令后,将更新存储仓库中的刚刚校验的对象状态,便于后续操作处理。

RMAN备份校验是的几种状态:

Expired:对象不存在于磁盘或磁带。当一个备份集处于expired状态,则该备份集中所有的备份片同样处于expired状态。

Available:对象处于可用状态。当一个备份集可用,则改备份集内的所有备份片同样可用。

Unavailable:对象处于不可用状态。当一个备份可不用,则改备份集内的所有备份片同样不可用

   RMAN> crosscheckbackupset;   

   RMAN> crosscheckcopy;                  

   RMAN> crosscheck backup of controlfile;   

   RMAN> crosscheck backup of archivelog all;

   RMAN> crosscheck backup of datafile1,2;  

   RMAN> crosscheck backup of tablespace sysaux,system;                    

   RMAN> crosscheck backup completed between'13-OCT-10' and '23-OCT-10';

   RMAN> crosscheck backupset1067,1068; 

七、validate命令

      验证一个备份集内的数据的完整性。RMAN扫描备份集得所有备份片,并检查校验和,验证其内容是否可以成功还原,validate是较crosscheck更高一级的验证操作,crosscheck仅仅是检查备份集的头部信息,检验文件的存在性,validate验证数据的有效性。

RMAN> validate backupset <primarykey> [check logical]

八、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;

你可能感兴趣的:(RMAN命令详解)