| 第一篇 
                          进入RMAN
                         通过RMAN的方式不论要备份还是要恢复,都必须先启动实例并加载数据库。 一、 连接本地数据库 rman target / (或者先rman 再 connect target /) 二、 连接远程数据库 如果要连接的目标数据库是一个远程数据库,那么必须在建立连接时指定一个有效的网络服务名,同时你本地的tnsname.ora文件中也必须已经建立了该网络服务名的正确配置。示例如下:C:\Documents 
                          and Settings\Administrator>rman target sys/change_on_install 
                          @test db 三、 退出RMAN Exit C:\Documents and Settings\Administrator>rman target 
                          / log d:\logs\rman_log.txt rman 会将执行的结果直接输出到指定的d:\logs\rman_log.txt文件,一旦脚本放入后台执行出现问题,我们可以根据rman_log文件来辅助分析。 第二篇 RMAN命令知多少 一、启动、关闭数据库 rman target / shutdown immediate(关闭) startup(开启) 二、执行操作系统命令 RMAN> host; Microsoft Windows [版本 5.2.3790] (C) 版权所有 1985-2003 Microsoft Corp. C:\Documents and Settings\Administrator>cd \ C:\>exit 主机命令完成 RMAN> 三、 执行SQL语句 在RMAN的命令提示符后输入SQL命令,然后在一对单引号(双引号亦可)中输入要执行的SQL语句,例如: RMAN> SQL ¨ALTER SYSTEM ARCHIVE LOG ALL¨ ; rman 中的sql环境不能执行SELECT语句 四、 定义RMAN配置 五、 显示RMAN默认配置 show all; 其后跟上不同的类型的配置参数,即可以显示不同类型的配置,如: SHOW CHANNEL; SHOW DEVICE TYPE; SHOW DEFAULT DEVICE TYPE; 六、 列出备份信息 LIST 命令用来查看通过RMAN生成的备份信息 列出数据库中所有文件的备份信息: 
                           
                            | RMAN> LIST BACKUP OF DATABASE; |  列出指定表空间的备份信息: 
                           
                            | RMAN>LIST COPY OF TABLESPACE ¨SYSTEM¨; |  列出指定数据文件的备份信息: 
                           
                            | RMAN>LIST BACKUP OF DATAFILE¨F:\ORAHOME1\ORADATA\JSSWEB\JWEB.ORA¨;
 |  七、删除备份 1 、删除陈旧备份 当使用RMAN执行备份操作时,RMAN会根据备份冗余策略确定陈旧备份。  2 、删除EXPIRED备份 执行crosscheck命令核对备份集,那么会将该备份集标记为EXPIRED状态。为了删除相应的备份记录,可以执行delete 
                          expired backup命令。  
                           
                            | RMAN>   delete expired backu p; |  3 、删除EXPIRED副本 
                           
                            | RMAN>   delete expired copy ; |  4 、删除特定备份集 
                           
                            | RMAN>   delete backupset 19 ; |  5 、删除特定备份片 
                           
                            | RMAN>   delete backuppiece ¨d:\backup\DEMO_19.bak¨ ; |  6 、删除所有备份集 7 、删除特定映像副本 
                           
                            | RMAN>   delete datafilecopy ¨d:\backup\DEMO_19.bak¨ ; |  8 、删除所有映像副本 9 、在备份后删除输入对象 
                           
                            | RMAN>   delete archivelog all delete input ; RMAN> delete backupset 22 format = ¨¨d:\backup\%u.bak¨¨ 
                                delete input;  |  七、 批处理命令RUN 第三篇RMAN备份演练初级篇 一、RMAN备份形式 1、镜像复制(Image Copies) 镜像复制实际上就是数据文件、控制文件或归档文件的复制,与用户通过操作系统命令建立的文件复制实质一样,只不过RMAN是利用目标数据库中的 
                          服务进程来完成文件复制,而用户则是用操作系统命令。大家了解一下即可 2、备份集(Backup Sets) 备份集是通过RMAN创建的逻辑备份对象。一个备份集中可以包含多个数据文件、控制文件或归档文件。备份集在物理上是由多个备份片段组成,每个备份片段是一个操作系统文件。 二、RMAN命令执行方式 1、单个执行(没啥说的,之前的示例都是这种方式) 2、批处理 run{ 批处理方式实质是将原来单个执行的命令组合到一起,并放在run{}之间,这种方式最大的好处是所有在run中的命令被视为一个作业,如果作业中任何一条命令执行失败,则整个命令停止执行 } 3、运行脚本(又能细分为几种方式如下:) 
                           
                            | C:\ > rman TARGET / @backup_db.rman RMAN> @backup_db.rman RMAN> RUN { @backup_db.rman } |  运行存储在恢复目录中的脚本(需要首先为rman创建恢复目录) RMAN> RUN { EXECUTE SCRIPT backup_whole_db }; 4、操作系统脚本 
                           
                            | C:\ > rman cmdfile=backup_db.rman |  明眼人看的出来,后两种其实是前面两种加上操作系统命令的综合应用。 三、对数据库进行全备 1、使用backup database命令执行备份 执行上述命令后将对目标数据库中的所有数据文件进行备份,由于没有显式指定FORMAT参数,rman会自动为每个备份片段命名,并保存在ORACLE_HOME/database目录下。 当然,也可以通过显式指定format参数来自定义备份片段的命令规则,比如: RMAN> BACKUP DATABASE FORMAT ¨D:\BACKUP\%U¨; 2 、通过list命令查看刚刚创建的备份信息: 
                           
                            | RMAN> list backup of database; |  四、备份表空间 只要实例启动并处于加载状态,不论数据库是否打开,都可以在rman中对表空间进行备份,而且不需要像手动备份那样先¨ALTER 
                          TABLESPACE ... BEGIN BACKUP¨。例如: 
                           
                            | RMAN> backup tablespace jweb; |  同样,我们在使用backup tablespace也可以通过显式指定format参数自定义备份片段名称。 我们再通过LIST BACKUP 查看一下备份: 
                           
                            | RMAN> LIST BACKUP OF TABLESPACE JWEB ; |  五、备份指定数据文件 首先可以先通过数据字典DBA_DATA_FILES查询出表空间对应的数据文件及其序号,例如: select file_name,file_id,tablespace_name from dba_data_files 然后再通过BACKUP DATAFILE 备份指定序号的数据文件,例如: 如果要查看指定数据文件的备份,可以用: 
                           
                            | RMAN>  LIST BACKUP OF DATAFILE n; |  注:n=指定的的数据文件序号,如果需要备份的数据文件有多个,n=多个序号,中间以逗号分隔即可。 六、备份控制文件 1. 最简单的方式,通过CONFIGURE命令将CONTROLFILE AUTOBACKUP置为ON。 
                           
                            | RMAN>  CONFIGURE CONTROLFILE AUTOBACKUP ON; |  然后你再通过rman做任何备份操作的同时,都会自动对控制文件做备份。 2. 在自动备份打开的情况下,备份任意表空间操作时,RMAN均会自动对控制文件做备份。 3. 手动执行备份命令。 
                           
                            | RMAN>  BACKUP CURRENT CONTROLFILE; |  4. 执行BACKUP时指定INCLUDE CURRENT CONTROLFILE参数,例如: 
                           
                            | RMAN> BACKUP DATABASE INCLUDE CURRENT CONTROLFILE; |  如果要查看备份的控制文件,可以通过: 
                           
                            | RMAN>  LIST BACKUP OF CONTROLFILE; |  七、备份归档日志文件 1 、利用BACKUP ARCHIVELOG命令备份 
                           
                            | RMAN>  BACKUP ARCHIVELOG ALL; |  2 、在BACKUP过程中利用PLUS ARCHIVELOG参数备份,例如: 
                           
                            | RMAN> BACKUP DATABASE PLUS ARCHIVELOG; |  则在备份数据库的同时自动对所有归档文件进行备份。这种方式与上种有什么区别呢,区别太明显了,BACKUP.....PLUS 
                          ARCHIVELOG命令在备份过程中会依次执行下列步骤: 1>. 运行ALTER SYSTEM ARCHIVE LOG CURRENT语句对当前redolog进行归档。 2>. 执行BACKUP ARCHIVELOG ALL命令备份所有已归档日志。 3>. 执行BACKUP命令对指定项进行备份。 4>. 再次运行ALTER SYSTEM ARCHIVE LOG CURRENT对当前redolog归档。 5>. 对新生成的尚未备份的归档文件进行备份。 在完成归档日志文件备份后,我们通过需要删除已备份过的归档文件(归档文件记录下了数据库进行过的所有操作,如果您的数据库操作频繁 
                          而且量大,那归档文件大小也是相当恐怖,备份后删除释放存储空间是相当有必要地)。RMAN提供了DELETE 
                          ALL INPUT参数,加在 BACKUP命令后,则会在完成备份后自动删除归档目录中已备份的归档日志。 完成备份之后,可以通过下列命令查看已备份的归档日志片段: 
                           
                            | RMAN>  LIST BACKUP OF ARCHIVELOG ALL; |  第四篇 RMAN备份演练进阶篇 一、建立增量备份 如果数据库运行于不归档模式下,只能在完全关闭数据库的情况下才能进行一致性的增量备份。 如果数据库运行于归档模式下,既可以在数据库关闭,也可以在数据库打开状态下进行备份。 建立增量备份也是相当简单,实质就是一个参数INCREMENTAL LEVEL=n,在执行BACKUP命令时加上即可,例如,建立一个增量级别0的全库备份: 
                           
                            | RMAN> BACKUP INCREMENTAL LEVEL=0 DATABASE; |  再例如,建立一个增量级别1的users01.dbf数据文件备份 
                           
                            | RMAN> BACKUP INCREMENTAL LEVEL=1 TABLESPACE SYSTEM DATAFILE
 ¨F:\ORAHOME1\ORADATA\JSSWEB\ USERS01 . DBF¨;
 |  注:Rman默认创建的增量备份是Differential方式,如果要建立Cumulative方式的增量备份,在执行BACKUP命令时显式指定即可,例如: 
                           
                            | RMAN> BACKUP INCREMENTAL LEVEL=2 CUMULATIVE DATABASE; |  二、建立镜像复制 Rman中的镜像复制实质与通过系统copy命令备份相同,只是操作系统copy命令复制文件时,只是文件copy。而rman的copy能够复制的同时,验证数据的有效性。 三、建立冗余备份  RMAN 中提供了三种方式实现Duplexed方式备份: 1 、在RMAN中执行BACKUP命令时显式指定COPIES参数。例如: 
                           
                            | RMAN>  BACKUP COPIES 3 DATABASE; |  上述命令将会在全库备份的同时,自动生成当前备份集的2份拷贝到默认备份目录。 2 、在RUN{}命令块中利用SET BACKUP COPIES命令为该命令块中所有的BACKUP命令设置Duplexed方式,例如: 
                           
                            | RMAN>  RUN{2>SET BACKUP COPIES 2; 3>BACKUP DEVICE TYPE DISK FORMAT ¨D:\BACKUP1\%U¨,¨D:\BACKUP2\%U¨ 
                               4>TABLESPACE USERS,SALES; 5>} |  上述命令将生成两份备份集,分别存储到d:\backup1和d:\backup2目录。 3 、通过CONFIGURE ..... BACKUP COPIES命令设置预定义的备份Duplexed方式。 CONFIGURE ... BACKUP COPIES 命令可以为指定的设备类型设置默认的备份拷贝数量。这个配置仅适用于数据文件与归档重做日志文件和备份,并且,只有在使用自动分配的通道时才能够使用 
                          CONFIGURE ... BACKUP COPIES命令设置的配置。例如: 
                           
                            | RMAN> CONFIGURE DEFAULT DEVICE TYPE TO DISK; RMAN> CONFIGURE DATAFILE BACKUP COPIES FOR 
                                DEVICE TYPE disk TO 2; RMAN> CONFIGURE ARCHIVELOG BACKUP COPIES FOR 
                                DEVICE TYPE disk TO 2; |  上述命令将disk设置上数据文件与归档文件的拷备数量设置为2,当再执行BACKUP DATABASE备份时,即会自动生成2份数据文件的备份集。 四、设置RMAN备份的保存策略 RMAN 中提供了两种备份保留策略: 基于时间 和 基于冗余数量  RMAN会自动判断哪些备份集或镜像复制文件不必再保留。这些备份文件将会被标记为“废弃(Obsolete)”,可以通过REPORT 
                          OBSOLETE命令查看当前处于废弃状态的备份文件,或者通过DELETE OBSOLETE命令删除这些废弃的备份。例如: RMAN> report obsolete; RMAN> delete obsolete; 在执行删除命令时有两点需要了解: 如果被判断为废弃的备份是一个单独数据文件的镜像复制,那么在执行DELETE命令时将直接删除这个镜像复制文件。 如果被判断为废弃的备份是一个备份集中的一部分,则必须等到整个备份集中所有其它文件都被废弃之后,才能删除这个备份集。 1 、基于时间的备份保留策略。 设置基于时间的备份保留策略可以通过CONFIGURE命令,例如: 
                           
                            | RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF n DAYS;
 |  注:n=大于0的正整数 执行该命令后,RMAN将始终保留那些将数据库恢复到n天前的状态时需要用到的备份,比如,恢复时间段被设置为7天,那么各个数据文件的备份必须满足如下条件: SYSDATE-(SELECT CHECKPOINT_TIME FROM V$DATAFILE)>=7 任何不满足上述条件的备份都将被RMAN废弃并可通过DELETE OBSOLETE命令删除。 2 、基于冗余数量的备份保留策略 基于冗余数量实质即某个数据文件以各种形式(包括备份集和镜像复制)存在的备份的数量。如果某个数据文件的冗余备份数量超出了指定数量,RMAN将废弃最旧的备份。 同样,基于数量的备份保留策略也是通过CONFIGURE命令设置,例如: 
                           
                            | RMAN>  CONFIGURE RETENTION POLICY TO REDUNDANCY n ; |  同上:n=大于0的正整数 你也可以通过下列命令设置成不采用任何备份保留策略: 
                           
                            | RMAN> CONFIGURE RETENTION POLICY TO NONE; |  五、备份优化 RMAN 中的备份优化(Backup Optimization)是指在备份过程中,如果满足特定条件,RMAN将自动跳过某些文件而不将它们包含在备份集中以节 
                          省时间和空间。说的直白些就是能不备的它就不备了 通常必须满足如下几个条件的情况下,才能够启用备份优化的功能: CONFIGURE BACKUP OPTIMIZATION 参数置为on; 执行的BACKUP DATABASE或BACKUP ARCHIVELOG命令中带有ALL或LIKE参数。 分配的通道仅使用了一种设备类型,也就是没有同时分配使用sbt与disk的多个通道。 打开备份优化设置通过如下命令: 
                           
                            | RMAN>  CONFIGURE BACKUP OPTIMIZATION ON; |  那么在进行备份优化时,RMAN是如何判断要备份的文件是否需要被优化呢,这个算法就相当复杂了,而且可能影响优化算法的因素也非常多,假如某库在上午9点被执行过一次全库备份,等下午3点再次执行全库备份时,备份的文件没有变动而且也已经被备份过时,才会跳过这部分文件。所以理论上备份优化仅对于只读表空间或offline表空间起作用。当然对于已经备份过的archivelog文件,它也会跳过 第五篇 RMAN基础知识补充 一 一、FORMAT字符串替代变量 使用FORMAT参数时可使用的各种替换变量,如下: %c :备份片的拷贝数(从1开始编号); %d :数据库名称; %D :位于该月中的天数 (DD); %M :位于该年中的月份 (MM); %F :一个基于DBID 唯一的名称,这个格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII 
                          为该数据库的DBID,YYYYMMDD 为日期,QQ 是一个1-256 的序列; %n :数据库名称,并且会在右侧用x字符进行填充,使其保持长度为8; %u :是一个由备份集编号和建立时间压缩后组成的8字符名称。利用%u可以为每个备份集生成一个唯一的名称; %p :表示备份集中备份片段的编号,从1 开始编号; %U :是%u_%p_%c的简写形式,利用它可以为每一个备份片段(即磁盘文件)生成一个唯一名称,这是最常用的命名方式; %s :备份集的号; %t :备份集时间戳; %T :年月日格式(YYYYMMDD);s 注:如果在BACKUP命令中没有指定FORMAT选项,则RMAN默认使用%U为备份片段命名。 二、CONFIGURE配置项介绍 首先,我们先来查看一下当前配置,通过SHOW ALL命令: RMAN>show all; 例如: 
                           
                            | RMAN> CONFIGURE RETENTION POLICY CLEAR ; 旧的 RMAN 配置参数: CONFIGURE RETENTION POLICY TO RECOVERY WINDOW 
                                OF 3 DAYS; RMAN 配置参数已成功重置为默认值 |  1 、 CONFIGURE RETENTION POLICY 配置备份保留策略 第4章节我们详细讲过关于备份保留策略,也知道了它有两种保留策略: 基于时间: CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF n 
                          DAYS; 基于冗余数量: CONFIGURE RETENTION POLICY TO REDUNDANCY n ; 也可以取消备份保留策略: CONFIGURE RETENTION POLICY TO NONE; 2 、 CONFIGURE BACKUP OPTIMIZATION 配置备份优化 也是第4章节提到的内容,备份优化,包括OFF和ON两个状态 打开备份优化: CONFIGURE BACKUP OPTIMIZATION ON; 关闭备份优化: CONFIGURE BACKUP OPTIMIZATION O FF ; 3 、 CONFIGURE DEFAULT DEVICE TYPE 配置IO设备类型 RMAN 支持的IO设备类型有两种:磁盘(DISK)和磁带(SBT),默认情况下为磁盘。 使用磁盘设备: CONFIGURE DEFAULT DEVICE TYPE TO DISK; 使用磁带设置: CONFIGURE DEFAULT DEVICE TYPE TO SBT; 在这里需要注意的一点是:如果IO设备发生变化,相关配置项也需要修改。例如: RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 2; 4 、 CONFIGURE CONTROLFILE AUTOBACKUP 配置控制文件自动备份 是否自动备份,包含两个状态:OFF和ON 打开自动备份 CONFIGURE CONTROLFILE AUTOBACKUP ON 禁止自动备份 CONFIGURE CONTROLFILE AUTOBACKUP OFF 同时可以通过如下配置指定备份的控制格式,路径。例如: CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE 
                          TYPE DISK TO ¨d:/backup/%F¨; 在备份期间,将产生一个控制文件的快照,用于控制文件的读一致性,这个快照可以通过如下配置: CONFIGURE SNAPSHOT CONTROLFILE NAME TO ¨D:/BACKUP/ 
                          SNCFJSSWEB.ORA¨; 5 、 CONFIGURE DEVICE TYPE 设置并行备份 RMAN 支持并行备份与恢复,也可以在配置中指定默认的并行程度。例如: CONFIGURE DEVICE TYPE DISK PARALLELISM 2; 指定在以后的备份与恢复中,将采用并行度为2,同时开启2个通道进行备份与恢复,当然也可以在run中指定通道来决定备份与恢复的并行程度。 并行的数目决定了开启通道的个数。如果指定了通道配置,将采用指定的通道,如果没有指定通道,将采用默认通道配置。有点儿绕是吧,我来给你白话一把。 默认情况下,自动分配通道的并行度为1,如果你通过设置PARALLELISM设置了并行通道为2,那么在run块中,如果你没有单独通过ALLOCATE 
                          CHANNEL命令指定通道,它会默认使用2条并行通道,如果你在run命令块中指定了数个ALLOCATE 
                          CHANNEL,那么 rman在执行备份命令时会以你设置的channel为准,而不管configure中配置了多少个并行通道。需要注意的一点是,在backup命令中有一个FILESPERSET参数,该参数是指rman建立的每个备份集中所能包含的备份片段(即磁盘文件)的最大数,该参数默认值为64,如果在执行 
                          backup命令时没有指定该参数值,那么rman会仅使用第一个通道来执行备份,其它通道将处于空闲状态。关于通道数与FILESPERSET值之间也 
                          有一个大小关系,逻辑稍显复杂这些就不多废话了,总之一条,filesperset值不要小于你设定的通道数。 6 、 CONFIGURE DATAFILE BACKUP COPIES 设置备份文件冗余度 4 章也讲过,应该也还有印象吧,不记的了就赶紧回去翻翻。 7 、 CONFIGURE MAXSETSIZE 配置备份集的最大尺寸 该配置限制通道上备份集的最大尺寸。单位支持bytes,K,M,G。默认值是unlimited。相信应该也不会有什么人改它吧,我花了整整20秒时间思考,然后确认,我应该用不着它,OK,跳过。 三、RMAN备份相关的动态性能表 V$ARCHIVED_LOG :本视图包含了所有归档重做日志文件的创建情况,备份情况以及其他信息。 V$BACKUP_CORRUPTION :这个视图显示了RMAN在哪些备份集中发现了损坏的数据坏。在你使用BACKUP 
                          VALIDATE命令对备份集进行检查时如果发现了损坏的数据块,RMAN将在这个视图中写入记录。 V$COPY_CORRUPTIO :本视图显示了哪些镜像复制备份文件已经被损坏。 V$BACKUP_DATAFILE :本视图通常用来获取每个数据文件中非空白数据块的数量,从而帮助你创建出大小基本相等的备份集。另外,在视图中也包含了数据文件中损坏的数据块的信息。 V$BACKUP_REDOLOG :本视图显示了在现有的备份集中饮食有哪些归档重做日志文件。 V$BACKUP_SET :本视图显示了已经创建的备份集的信息。 V$BACKUP_PIECE :本视图显示了已经创建的备份片段的信息。 可以通过如下SQL语句获得正在进行的镜像复制操作的状态信息: 
                           
                            | Select  sid, serial#,
 context ,
 sofar,
 totalwork,
 round(sofar / totalwork * 100 ,  2 ) "% Complete"
 From  v$session_longops
 where  opname  like   ¨RMAN:%¨
 and  opname  not   like  ¨RMAN:aggregate%¨
 |  通过如下SQL获得rman用来完成备份操作的服务进程的SID与SPID信息: 
                           
                            | Select  sid, spid, client_info from  v$process p, v$session s
 where  p.addr = s.paddr
 and  client_info  like   ¨%id=rman%¨
 |  第七篇 RMAN基础知识补充 二 一、RMAN通道 RMAN通道实质是一个到存储设备的数据流。 1 、手工分配通道 在执行BACKUP、RESTORE、DELETE等需要进行磁盘I/O操作的命令时,可以将它们与ALLOCATE 
                          CHANNEL命令放在一个RUN的命令块中,利用ALLOCATE CHANNEL为它们分配通道。例如: 
                           
                            | RUN{ALLOCATE CHANNEL CH1 DEVICE TYPE DISK FORMAT 
                                ¨d:/backup/%U¨; BACKUP DATAFILE ¨F:\ORAHOME1\ORADATA\JSSWEB\JWEB.ORA¨; } |  需要注意的是,RMAN中执行的每一条BACKUP、DELETE等命令都至少要求使用一个通道,通道数决定了这些操作执行的并行度。 2 、自动分配通道 如果没有使用手工分配通道,那么RMAN在执行BACKUP等操作I/O的命令时将会使用预定义配置(configure,记起来了吧)中的设置来自动分配通道。 下列预定义配置命令均可以分配通道: CONFIGURE DEVICE TYPE ... PARALLELISM CONFIGURE DEFAULT DEVICE TYPE CONFIGURE CHANNEL DEVICE TYPE CONFIGURE CHANNEL n DEVICE TYPE 二、RMAN备份类型 利用RMAN进行备份时,可以通过三种方式来对RMAN的备份做分类 完全备份(Full Backup)与增量备份(Incremental Backup) 全备与增备是针对数据文件而言,控制文件和归档日志文件不能进行增量备份。当然,后两者可以做备份优化。 打开备份(Open Backup)或关闭备份(Closed Backup) 数据库打开状态下进行备份即是打开备份,数据库关闭状态下(加载状态)进行的备份即关闭备份。 一致备份(Consistent Backup)与不一致备份(Inconsistent Backup) 数据库打开状态或不干净关闭状态(shutdown abort)进行的备份是不一致备份,利用不一致的备份修复数据库后还需要做数据库的恢复。在数据库干净关闭状态进行的备份是一致备份,利用一致备份修复数据库后不需要做数据库的恢复。 三、增量备份的工作机制 1 、差异备份Differential backup命令在不显式指定的情况下,默认会选择Differential 比自己级别高或者同级的开始增加。 2 、累积增量备份Cumulative 只认比自己级别高的。 四、备份集概述 备份集由RMAN创建的具有特定格式的逻辑备份对象,一个备份集中可能包含多个数据库文件(包括数据文件,控制文件和归档日志文件)。RMAN中通过BACKUP命令建立备份集。 一个备份集是由多个备份片段组成,每个备份片段即是一个物理文件。 五、RMAN恢复目录(CATALOG) 第六篇 实战RMAN备份 在写脚本之前,我们先明确一下我们的目标: 1 、每天夜间1点执行; 2 、数据库全备,同时备份控制文件及归档日志文件,备份文件保存至:D:\backup\目录下,并在完成归档日志文件备份后,自动删除已备份的归档日志; 3 、备份保留7天,过期则自动删除; 4 、保留操作日志备查; 1 、编写rman批处理文件 保存至: E:\oracleScript\backup\database_backup_orcl.rman RUN { CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 
                          DAYS; CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE 
                          TYPE DISK TO “d:/backup/%F”; ALLOCATE CHANNEL CH1 DEVICE TYPE DISK FORMAT “d:/backup/%U”; BACKUP DATABASE SKIP INACCESSIBLE FILESPERSET 10 PLUS ARCHIVELOG FILESPERSET 20 DELETE ALL INPUT; RELEASE CHANNEL CH1; } ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK; CROSSCHECK BACKUPSET; DELETE NOPROMPT OBSOLETE; SKIP INACCESSIBLE :表示跳过不可读的文件。 2 、编写dos批处理 保存至:E:\oracleScript\backup\database_backup_orcl.bat 设定要备份的数据库sid为orcl,将日志按照日期输出到E:\oracleScript\backup\logs\ 
                          目录。 
                           
                            | set oracle_sid=orcl rman target / msglog E:\oracleScript\backup\logs\%date:~0,10%.log 
                                cmdfile=E:\oracleScript\backup\database_backup_orcl.rman |  3 、设定执行计划 控制面板->任务计划中添加计划,运行E:\oracleScript\backup\database_backup_jssweb.bat,设定日程安排中的时间。    |