RMAN

----RMAN 概念
RMAN体系结构:
    1、目标数据库(target);2、RMAN命令行客户端;3、通道(channel);
    4、快速恢复区(fast recovery area);5、介质管理器;6、RMAN备份资料库
   
客户端一次登录目标数据库上会创建两个连接,即会有两个服务器进程为RMAN服务;一个进程是RMAN主会话,负责与客户端进行通信和指令传达;另一个进程是RMAN监控会话,负责监控通道;

通道 是指RMAN体系中执行备份、还原操作时用来处理I/O流的物理结构和逻辑结构的复合体。可以理解为 字节流。
通道确定了I/O流的源头、目的地及操作者,即会话。该会话在RMAN体系中与服务器进程是一定是一一对应的关系。
也就是说,如果用RMAN的一个通道备份数据库,那么RMAN在目标数据库上将建占用3个会话,也即3个服务器进程。
通道的三个组成阶段:读、复制、写。
如果是备份,在读阶段,通道将读入文件(即备份的文件)的数据块从磁盘读入输入缓冲;在复制阶段,通道将输入缓冲
中的数据块读入输出缓冲,并执行必要的操作(比如校验,压缩,加密);在写阶段,通道将输出缓冲中的数据块写入DISK
和SBT设备。如果是还原操作,则三个阶段不变,只是通道的传输的方向及复制阶段的操作是逆向的。
如果在数据块文件的读写及DISK设备的读写,当初始化参数 _backup_disk_io_slaves 为0时,相应的输入和输出缓冲会在
服务器进程的PGA中;如果是大于 0 则在 SGA中。该参数值大于 0 解决操作系统不支持异步I/O,模拟异步I/O的。这时
LARGE_POOL_SIZE 就不应该设置为0 了。

快速恢复区是RMAN备份默认的磁盘保存路径地点。是一个默认放置所有备份和备份恢复操作有关的文件的地方。
可以为快速恢复区设置空间配额。初始化参数 db_recovery_file_dest_size 决定恢复区的空间配额。参数:db_recovery_file_dest
决定快速恢复区的路径。快速恢复区可以存放两种类型的文件:
永久性文件(在线重做日志、在线控制文件镜像) 和短期性文件(控制文件镜像复制、数据文件镜像复制、
RMAN备份片、归档日志文件、闪回日志)。
快速恢复区下的目录结构和文件名是自动控制的,目录结构最多三级子目录。oracle称之为 OMF(ORACLE MANAGED FILES).
第一级子目录名取自数据库唯一名,即初始化参数 DB_UNIQUE_NAME的值。第二级子目录名取自文件的类型:
1、archivelog;放置归档日志
2、autobackup;放置控制文件自动备份
3、controlfile;放置当前控制文件
4、datafile;放置数据文件镜像复制
5、backupset;放置RMAN备份片
6、onlinelog;放置在线日志
7、flashback;放置闪回日志

只有 archivelog \ autobackup\backupset目录下有第三级子目录。格式为 YYYY-YY-DD表示文件生成的时间。
通过 v$flash_recovery_area_usage视图查看空间利用情况。


介质管理器的功能则是使RMAN可以对第三方存储体进行读写操作,其接口MML(Media Management Layer,介质管理层)
由ORACLE制定。备份时RMAN向介质管理器传送字节流;还原时介质管理器向RMAN传递字节流。
MML中的特有功能就是RMAN将备份和还原时的读写操作完全托付给介质管理器去具体的实现,这种功能成为 代理复制(Proxy Copy);

RMAN的资料库记载了RMAN备份的位置和其他相关数据信息。RMAN资料库可以保存在 目标数据库的控制文件中  和 恢复编录中。

二、

搭建RMAN库(恢复编目录)环境:
RMAN目录库可以是备份目标库也可以是其他库或其他服务器上的库。这里将 ORCL库作为RMAN恢复目录库。
登录orcl库,
    1、为RMAN指定一个专用表空间;
    2、为RMAN恢复目录创建方案用户,并指定前面创建的专用表空间,并将该用户解锁;
    3、为该用户授权(connect、resource 和 recovery_catalog_owner 角色);
    4、windows系统>运行命令状态窗口>RMAN;
    5、RMAN> 用该用户登录 orcl 库;
    6、创建 catalog 恢复目录。这里建议将catalog 放到前面创建的专用 表空间中;
    7、注册目标数据库在恢复目录orcl中,只有注册后才有权使用恢复目录:
    7.1、RMAN>分别连接 备份目标数据库 和 orcl 恢复目录库。(建议先连目标库,因为我先连orcl 会报无catalog错误);
    7.2、RMAN>register database;
    注意:当注册后,默认是会做一次完全同步(full resync complete),如果没有看到该过程,可以手动做一次最好(resync catalog);
            该过程完成的任务是:1、向恢复编目录中相应的表中插入行;(SQL>SELECT * FROM USER_RMAN.DB;)
                                                  2、将目标数据库控制文件中的RMAN资料库上传到恢复目录的相关表中;
                                                  3、最后同步控制文件与恢复编目录;
                                                 
    日后连接RMAN目标库,建议用 带 catalog 子句的连接方式同时连接编目录库,这样可以保证最大程度的控制文件和恢复目录之间信息同步;
    (RMAN> CONNECT TARGET test_user/testdb@testdb  cataloguser_rman/user_rman@orcl;)
   
    同步分为两类:
        局部同步:同步归档日志文件信息、备份集信息、镜像复制信息;
        完全同步:包含局部同步的过程,还同步数据库表空间和数据文件物理结构信息;
        完全同步时,RMAN会先创建一个当前目标控制文件的快照即控制文件的副本,然后RMAN利用控制文件快照与恢复目录进行比较,
        如果有需要则将目标控制文件中的归档日志信息、备份集信息、镜像信息、表空间信息、数据文件物理结构信息上传至恢复编目录。
        控制文件快照在 完全同步和没有启用恢复目录时,执行任何备份命令时都恢复产生。
        快照控制文件的路径: SHOW SNAPSHOT CONTROLFILE NAME;
        修改快照控制文件的路径: configure snapshot controlfile name to '路径\文件名.ctl'
       
        RMAN的增强能力:
            在NOMOUNT状态下查看RMAN资料库:list backup summary;
            查看数据库的物理结构历史信息:report schema at time "sysdate - interval '1' days ";---查看一天前的结构
            保存RMAN脚本(create script... 该脚本只能在当前目标数据库上执行,称为 本地脚本
                                     或 create global script.... 可以在所有的注册的数据库上执行,成为 全局脚本)
                查看脚本的名称:list script names;list global script names;
                查看脚本的内容:print script script_name;print global script global_script_name;
                用RMAN连接目标库和恢复目录库后执行脚本:RUN {EXECUTE global script /SCRIPT script_name}
   

---创建一个数据作为恢复目录的数据
---在该数据库上创建一个表空间用于作为恢复目录的默认表空间
create tablespace rman_catalog
datafile 'D:\OracleDB\rman\data_file01.dbf' SIZE 30M AUTOEXTEND ON NEXT 10M
NOLOGGING;

----为恢复目录创建 方案(用户)
CREATE USER user_rman identified by user_rman
default tablespace rman_catalog
quota unlimited on rman_catalog;

alter user user_rman account unlock;

---给用户授权
grant connect,resource to user_rman;
grant recovery_catalog_owner to user_rman;

--在RMAN 下执行
cmd>rman

connect catalog user_rman/user_rman@orcl;

create catalog tablespace rman_catalog;


---连接恢复目录和目标数据
connect target test_user/testdb@testdb;---testdb作为我的备份目标数据
connect catalog user_rman/user_rman@ORCL;---ORCL作为我的目录数据库

---查看控制文件快照路径
SHOW SNAPSHOT CONTROLFILE NAME;
---修改快照路径
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'D:/ORACLEDB/TESTRMAN/SNAPSHOT.CTL';

三、通道分配

RMAN>SHOW ALL;----查看RMAN全部默认配置参数
SHOW DEFAULT DEVICE TYPE;---查看默认的通道类型
SHOW DEVICE TYPE;--查看所有可用的设备类型(包含通道并行度)
SHOW CHANNEL;--查看所有的已配置的通道
CONFIGURE DEVICE TYPE.....---修改特定的设备类型支持的通道数(并行度)
CONFIGURE DEVICE TYPE SBT/DISK PARALLELISM N  ---指定通道的并行度
CONFIGURE DEFAULT DEVICE TYPE TO DISK/SBT ---指定自动通道的默认设备(修改自动通道的设备类型)

----以下两命令用来设置使用该设备时,每次备份的数据量。
CONFIGURE CHANNEL DEVICE TYPE....--- 用来定义无通道号的设备(创建或修改特定设备类型通道的通用模板)
CONFIGURE CHANNEL N DEVICE ---用来定义指定的一个通道参数 n 代表第几个通道(创建或修改特定通道的属性)

configure channel 命令可以对每个通道设置不同属性,这样就可以为通道指定不同的备份路径以达到避免I/O竞争的目的。
也可以对同一设备类型的通道设置通用属性。
例如:
    CONFIGURE CHANNEL C1 DEVICE TYPE DISK TO DESTINATION 'path1';
    CONFIGURE CHANNEL C2 DEVICE TYPE DISK TO DESTINATION 'path2';
    通道最多可以设置254个,设置的通道数必须也 PARALLELISM的值吻合,否则,即使配置了也无法使用。
    如果PARALLELISM的值大于实际配置的通道数,多出的部分由快速恢复区或者 $ORACLE_HOME/DBS目录自动顶上。

---手动通道配置
1、如果通道名已经配置并且受PARALLELISM并行度限制
RMAN> backup device type disk
(tablespace users_tablespace channel c1 )
(tablespace system_tablespace channel c2);

2、如果要临时突破PARALLELISM的限制或使用未配置过的通道,则用 RUN命令
RUN
{
    ALLOCATE CHANNEL c1 DEVICE TYPE disk to destination 'path';---分配通道名并指定设备类型和备份目的地
    ALLOCATE CHANNEL c2 DEICE TYPE  disk;---分配通道名并指定设备类型 未指定备份目的地
    backup
     (tablespace users_tablespace channel c1);
     (tablespce system_tablespace channel c2);----根据前面分配的通道信息,用指定的通道备份指定的文件
    backup  device type disk (tablespace tt channel ora_disk_1);
}

删除DISK设备的通道,恢复DISK设备的默认值。
RMAN>CONFIGURE CHANNEL c1 device type disk clear;
CONFIGURE CHANNEL DEVICE TYPE DISK CLEAR;
CONFIGURE DEVICE TYPE DISK CLEAR;
将自动通道类型恢复到出厂默认设置,还原成disk
CONFIGURE DEFAULT DEVICE TYPE CLEAR;

----通道常用控制参数
FILESPERSET ---现在 BACKUP 时备份集的文件个数。
MAXPIECESIZE-----       设置备份集中每个备份片文件的大小,定义该参数时,可以指定通道的名称。
FORMAT ---设置备份文件的存储目录及文件的名称格式
MAXSETSIZE ---用着 BACKUP CONFIGURE命令中设置备份片的大小
RATE---用于设置通道的I/O限制
CONNECT --用于设置允许同时连接到多个不同的数据库实例。

 

BACKUP 命令语法
---backup命令执行时数据库必须在  MOUNT 或是 OPEN状态下,如果是在OPEN状态下,还必须是启用了 归档日志模式。
BACKUP <LEVEL> (<backup_type> <option>)
backup_type:
    database|datafile|tablespace|current controlfile|archivelog [all]|Datafilecopy[tag]|Controlfilecopy|backupset[all]
level:
    full | incremental (增量备份有1 到 4 个等级)
option:
    tag | format | include current controlfile | filesperset | channel |delete [all] input | maxsetsize |skip
   
format:
    %c 备份片的拷贝数   %d数据库名称  %D位于该月中第几天  %M位于该年中的第几月
    %n数据库名称,向右填补到最大8个字符  %u 一个8个字符的名称代表备份集与创建时间
    %p该备份集中的备份片号,从1开始到创建的文件数
    %U唯一的文件名,代表 %u_%p_%c
    %s备份集的号;            %t备份集的时间戳;      %T年月日格式(YYYYMMDD).
    %F基于DBID唯一的名称,该格式为c-IIIIIIIIII-YYYYMMDD-QQ 前10个I为该数据库的DBID,QQ是一个1到256的序列
  backup 命令默认情况下将输入文件(备份的文件)作为分配任务的最小单位。即默认情况下如果备份一个输入文件,但是
  启用了2个或多个通道,其实只有一个通道在干活,虽然其他通道也被激活了,但是去没有干活。所以通道数不一定
  就是RMAN命令的并行度。但是ORACLE11g可以让不同的通道并行地备份同一个文件的不同部分(通过备份集优化实现)。
     
    备份实例:
        BACKUP DATABASE;            BACKUP DATABASE FORMAT='D:\TEST\%U';        BACKUP DATABASE TAG='TEST_TAG';
        RUN
        {
            ALLOCATE CHANNEL CN1 TYPE DISK;
            BACKUP database;
            (Archivelog all);
        }
        BACKUP DATABASE TO DESTINATION '路径';---to destination  指定备份目的地
        BACKUP database PLUS ARCHIELOG;---备份数据库同时备份归档日志
        backup tablespace users;
        backup filesperset=3 tablespace users,mytablespace,system;
        run
        {
            allocate channel ch1 device type disk format 'd:\dbback\%T';
             allocate channel ch2 device type disk format 'd:\dbback\%T';
             BACKUP
             ( TABLESPACE SYSTEM,USERS,SYSAUX FILESPERSET 5)
            
        }
        BACKUP  TABLESPACE USERS INCLUDE CURRENT CONTROLFILE;
       
        --备份归档日志
        BACKUP ARCHIELOG [ALL,DELETE INPUT,DELETE ALL INPUT]
        BACKUP ... PLUS ARCHIVELOG
        参数:ALL 备份全部归档日志 
                    DELETE INPUT 备份结束后删除归档日志
                    DELETE ALL INPUT 备份结构后删除所有的归档日志目录文件。
                    PLUS ARCHIVELOG 在备份其他对象时,同时备份归档日志。
                   
                   
   ---BACKUP的冷备份和热备份
   --冷备份:
    RUN
    {
        Allocate channel ch1 device type disk format 'd:\test\%t';
        Allocate channel ch2 device type disk format 'd:\test\%t';
        shutdown immediate;
        startup mount;
        backup database;
        backup current controlfile;
        alter database open;
               
    }
    --热备份
    RUN
    {
        Allocate channel ch1 device type disk format 'd:\test\%t';
       Allocate channel ch2 device type disk format 'd:\test\%t';
       BACKUP DATABASE PLUS ARCHIVELOG INCLUDING CURRENT CONTROLFILE;
    }
   
    BACKUP AS COPY 与 COPY 语法相同,COPY 将来不在存在
    COPY 命令生成的备份叫做 图像副本,是没有压缩过的,可以直接用来还原操作。
    它生成的是数据文件 控制文件 归档日志文件的实际副本。COPY可以备份的文件:
    DATAFILE;       ARCHIVELOG ALL;         CURRENT CONTROLFILE;
    Datafilecopy;   Controlfilecopy;            backupset;
    语法:
        COPY <INPUT FILE> TO  <LOCATION> <OPTION>
    备份实例:
    RUN
    {
     allocate channel ch1 device type disk;
     copy datafile 1 to 'd:\test\backup\datafile01.dbf',
     current controlfile to 'd:\test\backup\controlfile01.dbf';
    }
    ---直接在RMAN下运行
    COPY DATAFILE 1 TO  'd:\test\backup\datafile01.dbf',
    COPY DATAFILE 11 TO  'd:\test\backup\datafile11.dbf',
    COPY DATAFILE 21 TO  'd:\test\backup\datafile21.dbf',
    ;
    ---备份归档日志文件
    COPY  ARCHIVELOG '归档日志文件路径名称' TO  '图像副本文件的路径名称';
   
   
    ---查看备份信息 list 命令
    list 命令使用 by backup 和 by file 选项显示备份信息。SUMMARY VERBOSE 用于精简 或 扩展输出字段
    list backupset by backup summary;
    list backupset by file;
    ---该命令的输出为 数据文件 控制文件 归档日志文件
    LIST与BACKUP的组合有:
    LIST BACKUP;LIST BACKUP  BY FILE; LIST BACKUP OF DATABASE ARCHIVELOG ALL;
    LIST BACKUP SUMMARY;LIST BACKUP OF DATABASE;
    LIST BACKUP TAG 'FULL_BACKUP';
    LIST BACKUP LIKE '/TEST/BACKUP/%';
    list和copy的组合:
    list copy;list copy of database;list copy of controlfile;
   
   
    REPORT 用于查询RMAN资料档案库,获得需要备份和不需要备份的文件,以及数据库的物理模式等信息。
    REPORT NEED BACKUP;
    REPORT ABSOLETE;---显示基于现有的备份策略不在需要的备份
    REPORT SCHEMA;
   
    四、
    备份集(backup set)就是输入文件的备份,物理上由备份片(backup piece)组成。
    备份片:是一种由RMAN管理的文件,一般以备份文件相称。一个备份片包含多个输入文件,一个输入文件也可以
                    分散在多个备份片中。备份片的命名方式有 传统方式(format) 和 OMF两种:
                    OMF方式采用自动格式,只要使用快速恢复区或 用带 to destination 子句即是OMF命名方式。
                    备份片文件中的 7 到 11 之间的5个字符,表示备份片中的输入文件类型。
                    按顺序 a----归档日志 c---控制文件 s----参数文件 d-----数据文件  f----除归档日志以外的任何文件。如果在这些
                    相应的位置上出现n 则表示没有此类输入文件。
                    但是 放置在 autobackup 子目录下的控制文件自动备份的第7个字符是小写s,这是一个例外。
                   
                    backup命令所产生的备份集的数量由以下 5点因素决定
                    1、输入文件的数量:一个备份集至少包含一个输入文件,输入问价不能跨越多个备份集。默认情况下一个备份集
                    最多容纳64个输入文件,backup命令的filesperset子句可以修改这一设置。如果users表空间包含2个数据文件则:
                    ---产生一个备份集
                    run
                    {
                    allocate channel c1 device type disk;
                    backup as backupset tablespace users ;
                    }
                    ----产生2个备份集
                    run
                    {
                        allocate channel c1 device type disk;
                        backup as backupset tablespace users filesperset 1;----一个备份集只能备份一个文件
                    }
                    2、并行度:备份集的数量不会低于backup并行度的数量。
                    3、输入文件的种类:数据文件、归档日志只能单独占用备份集。控制文件和参数文件可以合用备份集。
                                                        只要备份数据文件,RMAN就会自动备份控制文件和参数文件。即数据文件和控制文件
                                                        及参数文件是互斥的。这样会产生两个备份集。
                    4、小括号的使用:小括号其隔离作用,不在一个小括号中的输入文件一定不在同一个备份集中。在同一个
                                                     小括号内的输入文件不一定在同一个备份集中。
                    5、plus archivelog 子句:如果backup命令用了该子句,RMAN会做一个 “归档收尾”。
                                                         即切换当前的在线日志--归档该日志--备份刚刚产生归档日志。这样就会出现一个额外
                                                         的只有一个归档日志的备份集。
                                                        
                    多路传输
                        备份时,一个通道同时读取多个输入文件的数据并将其写入同一个备份片的操作称为 多路传输。读取的输入文件
                           数量称为 多路传输等级(Multiplexing Level)。该等级等于以下3个数中的最小值:
                           1、通道的maxopenfiles;
                           2、通道的输入文件数;
                           3、64 或backup命令的filesperset。---如果filesperset 没有设置则取 64
                          
                      多路传输等级会影响通道在读阶段分配的输入缓冲的大小:
                      1、当等级小于等于4时,输入缓冲由 16个1MB的缓冲组成。
                      2、当等级大于4且小于等于 8时,输入缓冲由多个512KB 的缓冲组成,但总大小要小于16MB。
                      3、等等级大于8时,每个输入文件将分配4个128KB的缓冲,即总大小等级512KB与等级的积
        
                   
                   
                    数据文件增量备份
                        backup 命令的incremental子句可以生成3中增量备份集:
                        1、等级0 增量备份。这是增量备份的基准备份,其与完全备份一样多
                        RMAN>BACKUP INCREMENTAL LEVEL 0 DATABASE;
                        2、等级1 累积增量备份。这种增量备份与等级0增量备份比较。若果当前数据文件中的数据块与上次等级0 增量备份中的不同,
                            则加以备份,否则,跳过该数据块。
                        RMAN>BACKUP CUMULATIVE INCREMENTAL LEVEL 1 DATABASE;
                        3、等级1差异增量备份。该种增量备份可以与等级 0 连同等级 1(不论是累积还是差异的)增量备份比较。
                        RMAN>BACKUP INCREMENTAL LEVEL 1 DATABASE;
                       
                        镜像复制备份(COPY)
                        镜像复制备份就是输入文件的一份副本。镜像复制的数量 大小 与 输入文件一模一样。
                        可以设置痛的默认属性来使用镜像复制作为备份的默认方式
                        configure device type disk backup type to copy;
                        RUN
                        {
                            ALLOCATE CHANNEL C1 DEVICE TYPE DISK;
                            BACKUP DATAFILE 1,2;
                        }
                        RUN
                        {
                            ALLOCATE CHANNEL C1 DEVICE TYPE DISK TO DESTINATION 'PATH1';
                            ALLOCATE CHANNEL C2 DEVICE TYPE DISK TO DESTINATION 'PATH2';
                            BACKUP AS COPY (DATAFILE 1) (DATAFILE 2);
                        }
                        RMAN不会对参数文件做镜像复制备份。
                       
RMAN 备份的优化
    备份集采取3种方式压缩备份集:空快压缩、未使用块压缩、二进制压缩
    未使用块压缩发生在通道的读阶段。RMAN读取数据文件头部的区分配位图(bitmap),以此获取哪些区已经分配给段
    使用 了,然后仅读取这些区中的块。发生未使用块压缩的条件为:
        数据库没有确保的还原点、数据文件的区是本地管理的、备份集的形式是全备或等级0的增量备份、
        通道的类型是disk 或 osb实现的SBT。
        空块压缩的条件:
            发生在通道工作的复制阶段,RMAN将块读入输出缓冲时检查该块是否为从来没修改并保存过数据的块,如果是则跳过。
         二进制压缩 有3个等级: low 、basic或medium、high 。等级越高,备份时CPU消耗越大。使用configure 命令设置二进制压缩等级
         configure compression algorithm 'LOW';
        
        
  对大数据文件采用 (“section size ” 以多大为单位分割备份)多通道并行备份。
   RUN
   {
    allocate channel c1 device type disk;
    allocate channel c2 device type disk;
    allocate channel c3 device type disk;
    backup as backupset section 100M datafile 3;
   }    
  --结果是 1个备份集  3个备份片
 
 RMAN 备份 安全性
    加密分为3种方式:透明模式、口令模式、双体模式
   
RMAN 备份进度监控
    查询v$session_longops 可以查看RMAN备份的进度。
    字段 OPENNAME中带有 “aggregate” 的行代表聚合行,该行中SID字段代表RMAN主会话号,聚合行代表RMAN命令中所有任务总进度。
    其他每行表示通道当前的子任务的进度即细节行,细节行的SID字段代表通道的会话号。totalwork 字段表示该行的任务需要处理的
    工作量,sofar 字段表示已经完成的工作量,units 字段表示工作量的单位,sofar与totalwork的比值代表速率。
   
    如果隔了 2分钟后 sofar字段没有增长,则RMAN有可能遇到了不健康的等待事件,这时可以通过查询 v$session_wait视图查看RMAN会话
    正在等待的事件。
 
备份保留策略
    备份保留策略的目的是确保数据库的可恢复性的同时并提高空间利用率。策略决定了哪些数据文件需要被备份及短期文件何时可以被删除。
    可以使用 CONFIGURE命令设置策略,并持久保存于控制文件和恢复编录中。策略分为 2中:
    备份冗余度:指同一文件(只包括控制文件盒数据文件)的备份数量。用 configure retention policy 命令设置。
    比如:
       RMAN> configure retention policy to redundancy 2;
    用 report need backup;---命令查看哪些数据文件需要备份。#bkps 表示档期拥有的备份数量。
    用 report obsolete; ----命令查看什么备份可以被删除了。即查看不受保留策略保护的、已废弃的备份和归档日志;
    用 delete obsolete;-----命令删除不受策略保护的已废弃的备份和归档日志。
   
    恢复窗口大小:指需要设置一个以天为单位的时间窗口,其含义代表两次全备份的时间间隔不能超过该时间窗口,并且该时间窗口以内
                               的全部及边界以外的最近一次备份受策略保护,其余可以删除。
                                       
  备份冗余度和恢复窗口大小  这2种策略,如果RMAN认为某个备份需要保留,那么该备份之后产生的归档日志也必须保留。
 
  RMAN资料库
 
        RMAN资料库的维护命令:list、report、crosscheck、catalog、delete、validate、change
        list 和 report 命令是查看RMAN资料库的接口。常用命令
        list archivelog all;----查看尚未备份的所有的归档日志信息
        list backupset;---查看所有的备份集
        list backupset completed after "sysdate -7";--查看一周内创建的备份集
        list backupset completed before "sysdate -7";--查看一周前创建的备份集
        list datafilecopy all;---查看所有的数据文件镜像复制
        list copy;--查看所有的数据文件和控制文件的镜像复制,以及所有的归档日志
        list backupset of controlfile ;--查看控制文件的备份集备份
        list copy of controlfile;--查看控制文件的镜像复制
        list backupset of tablespace users;--查看users表空间的备份集
        list backupset of datafile 1,3;--查看特定编号的数据文件的备份集
        list backupset of database;--查看任意数据文件的备份集
        list backupset tag 'tag_backup';--查看被标记为 tag_backup的备份集
       
        report schema;--报告当前数据文件的结构
        report need backup days 5;--列出已经5天美意备份的数据文件
        report need backup incremental 5;---列出恢复路径需超过5个等级1增量备份的数据文件
        report need backup redundancy 5;--列出备份冗余度为5的数据文件
        report need backup tablespace users,system;---根据保留策略列出特定表空间需要备份的数据文件
        report obsolete;--根据保留策略列出已废弃的备份
       
        比如 通过report 命令咨询users表空间是否需要备份,并且备份冗余度为2
        report need backup redundancy 2 tablespace users;
       
        为了避免手动或根据系统命令删除备份信息,扰乱RMAN资料库,在执行 LIST  和 REPORT前 执行 crosscheck命令进行
        校验资料库中记录的真实性。比如:
        crosscheck backupset device type disk;
        如果被系统命令删除了备份,执行  crosscheck会....命令会显示被删除的备份片 过期(expired),这时可以使用 delete命令删除
        delete noprompt expired backupset;
       
        catalog命令可以将RMAN资料库中丢失的某备份信息(比如执行delete noprompt expired)寻回,该命令会自动扫描备份文件,
        判断其是否合法并获取所有必要信息。
        catalog backuppiece 'd:/oracledb/rman/20130629.bkp';
       
        校验备份的有效性、查看是否有无坏块、是否适合还原操作等,使用validate命令是一种深度的crosscheck。
        validate device type disk backupset 1;
       
       
        change命令是最灵活的,以上命令都是change命令不同子句的“快捷方式”
        change backupset 1 unavailable;--将指定备份集改为不可用。在快速恢复区中的备份不能被设置为不可用
        change backupset 1 available;---将指定的备份集改为可用
        change backupset 1 crosscheck;--等同 crosscheck
        change backupset 1 delete;--等同 delete
        change backupset 1 keep until time "sysdate +365";--将1号备份集的保留时间限定为一年,即在这一年内 delete obsolete 删除不了。
                                                                                    ---在快速恢复区中的备份不能被设置成 until time 保留策略
         change backupset 1 nokeep;---将1号备份集的保留策略恢复为默认策略。用 show retention policy 查看默认策略
         change datafilecopy 'path' uncatalog;--将指定数据文件镜像复制从RMAN资料库中删除。uncatalog不支持备份集,但单独输入备份片名可行
         change backup of database validate;--等同validate
       

你可能感兴趣的:(RMAN)