1 列出对应物  RMAN>list incarnation;(转载)
  
  2 列出备份
  
  2.1概述可用的备份    RMAN>list backup summary;
               B 表示 backup
               F 表示 FULL
               A 表示 archive log
               0 1 表示 incremental backup
               S 说明备份状态 (A AVAILABLE   X EXPIRED )
  
  2.2按备份类型列出备份  RMAN>list backup by file;
               按照 数据文件备份,归档日志备份,控制文件备份,服务器参数文件备份 列出
  
  2.3列出详细备份     RMAN>list backup;
  
  2.4列出过期备份     RMAN>list expired backup;
  
  2.5列出表空间和数据文件备份
              list backup of tablespace 和list backup of datafile 输出和list backup 相似
               如:list backup of tablespace user_tbs;
                 list backup of datafile 3;
  
  2.6列出归档日志备份   RMAN>list archivelog all;      简要信息
    RMAN>list backup of archivelog all; 详细信息
  
  2.7列出控制文件和服务器参数文件
               RMAN>list backup of controlfile;
               RMAN>list backup of spfile;
  
    RMAN 的 report命令
  
  1. 报告最近没有被备份的数据文件
    RMAN>report need backup days=3;
   
  2. 报告备份冗余或恢复窗口
    RMAN>report need backup redundancy=2;
    RMAN>report need backup recovery window of 2 days;
   
  3. 报告数据文件的不可恢复操作
    RMAN>report unrecoverable;
  
  4. 报告数据库模式
    RMAN>report schema;
   
  5. 报告丢弃的备份
    如果使用了保存策略,备份会标记为丢弃状态  RMAN>report obsolete; 删除丢弃状态备份RMAN>delete obsolete;
  
    RMAN的crosscheck 命令
  
  1 备份集有两种状态A(Available,RMAN认为该项存在于备份介质上)X(Expired,备份存在于控制文件或恢复目录中,但是并没有物理存在于备份介质上)
   
  2 crosscheck 的目的是检查RMAN 的目录以及物理文件,如果物理文件不存在于介质上,将标记为Expired。如果物理文件存在,将维持Available。如果原先标记为Expired 的备份集再次存在于备份介质上(如恢复了损坏的磁盘驱动器后),crosscheck将把状态重新从Expired标记回Available。
  
  3 crosscheck 输出分两部分。第一部分列出确定存在于备份介质上的所有备份集片,第二部分列出不存在于备份介质上的备份集片,并将其标记为Expired。当设置备份保存策略后,一个备份过期,crosscheck之后标记为丢弃的备份状态依旧为availabel,要删除丢弃备份delete obsolete。
  
  4 示例:
   crosscheck backup
   crosscheck backup of datafile 1;
   crosscheck backup of tablespace users;
   crosscheck backup of controfile;
   crosscheck backup of controlfile;
   crosscheck backup tag='SAT_BACKUP';
   crosscheck backup completed after 'sysdate - 2'
   crosscheck backup completed between 'sysdate - 5' and 'sysdate -2 '
   crosscheck backup device type sbt;
   crosscheck archivelog all;
   crosscheck archivelog like '%ARC00012.001'
   crosscheck archivelog from sequence 12;
   crosscheck archivelog until sequence 522;
  
  =====================================================
  =====================================================
  RMAN 的validate 命令
  
  1 validate 命令验证备份集片是否能够被还原
  
  2 list backup summary; 得到了备份集得主键ID如40,然后validate backupset 40;
  =====================================================
  =====================================================
  RMAN 的备份保存策略以及change ,delete命令
  
  0.带delete参数的change 命令删除备份集,从备份介质,并且从控制文件和恢复目录中删除。
   change backupset 117,118 delete;
   change backuppiece 1304 delete;
   change archivelog until logseq =544 delete;
  
  1.两类策略:恢复窗口备份保存策略(recovery windows backup retension policy) 基于时间
        备份冗余备份保存策略(backup redundancy backup retension policy) 基于备份的数量
  
   两类策略互相排斥
   
  2.即使使用了备份保存策略,备份到期并不删除,只是在RMAN目录中标记为丢弃,看到的状态依旧为available;
   要查看标记为丢弃的备份 report obsolete,只有使用delete obsolete才真正物理删除。
  
  3.configure retension policy to recovery window of 7 days;
   configure retension policy to redundancy 3;
   显示结果 show all;
   
  4.查看到期丢弃的备份时,可能需要手工保存一些备份 ,可以使用change 命令带keep 参数,使用这个命令后,那些被修改的备份将被认为是个long-term backup,不在受保存策略影响也就是说delete obsolete 也不删除。
  
  5.要使备份时候不受保存策略影响 ,使用带keep参数的backup 命令
   backup database keep forever;
   backup database keep 5 days;
  
  6.change 命令功能
  
    可以修改备份为永久保存并将以及该备份的相关的日志保存下来,保证总能将备份恢复到当前时间点
    change backupset 31 keep forever logs;
    可以设置备份丢弃的新日期 ,将备份在多保存7 天,7 天后将删除
    change backupset 32 keep until time 'sysdata + 7' logs;
  
  7.change 可以将备份集设置为unavailable
    change backupset 33 unavailable;
    标记为unavailable状态的备份集并不参与crosscheck;
  =====================================================
  =====================================================
  恢复目录的记录删除
  
  1. $ORACLE_HOME/rdbms/admin/prgrmanc.sql 脚本定期删除恢复目录中具有DELETED状态的记录
  
  2. 要删除旧的对应物记录incarnation.必须从DBINC 表中删除这些对应物,使用RC_DATABASE_INCARNATION 视图来确定要删除的对应物。记录要删除的每个对应物的DBINC_KEY
    随后启动SQL*Plus,执行delete from dbinc where dbinc_key=2;
  =====================================================
  =====================================================
  手工同步恢复目录
  
  resync catalog;
  
  Oracle同步恢复目录的时候,首先创建快照控制文件,然后比较这个文件和恢复目录,完成后,Oracle 更新恢复目录,使恢复目录和控制文件同步
  =====================================================
  =====================================================
  在RMAN 中存储脚本
  
  1,连接到目标数据库和恢复目录
    rman target / catalog rman/rman@rman9i
   
  2,创建脚本
    RMAN>create . my_bk_.
    2>{backup database plus archivelog;}
     create . my_bk_.
    
  3,打印脚本
   RMAN>print . my_bk_.;
   printing stored scipt:my_bk_.
   {backup database plus archivelog;}
   
  4,运行这个脚本,备份目标数据库
   RMAN>run {execute scipt my_bk_.;}
   
  5 删除脚本
   RMAN>delete . my_bk_.;
  6 查看所有脚本
   RMAN>list . names;
    archivelog模式下的完全恢复
  
  step1:set oracle_sid=recover
      rman target rman_backup/password
      configure controlfile autobackup .;
      
  step2:backup database plus archivelog delete input;
  
  step3:shutdown immediate;
  
  step4:重命名所有的数据文件和控制文件,不重命名联机重做日志。
  
  step5: startup nomount;
      set DBID=****
      restore controlfile from autobackup;
      alter database mount;
     
  step6: restore database;
      recover database;
      alter database open resetlogs;
  
  表空间恢复
  
  sql"alter tablespace users offline";
  sql"alter tablespace tools offline";
  restore tablespace users,tools;
  recover tablespace users,tools;
  sql"alter tablespace users .line";
  sql"alter tablespace tools .line";
  
  数据文件恢复
  
  sql"alter database datafile 3 offline";
  sql"alter database datafile 'd:oracleoradatausers01.dbf' offline";
  restore datafile 3
  restore datafile 'd:oracleoradatausers01.dbf';
  recover datafile 3
  recover datafile 'd:oracleoradatausers01.dbf';
  sql"alter database datafile 3 .line";
  sql"alter database datafile 'd:oracleoradatausers01.dbf .line";
  
  =====================================================
  =====================================================
  切换当前的incarnation 回到resetlogs 前RESET DATABASE TO INCARNATION inc_key
  
  =====================================================
  =====================================================
  
  RMAN 高级恢复
  
  1 基于时间点的恢复
  run
  {
  set until time "to_date('07/01/02 15:00:00','mm/dd/yy hh24:mi:ss')"'
  restore database;
  recover database;
  alter database open resetlogs;
  }
  
  2 基于SCN 的恢复
  startup mount;
  restore database UNTIL SCN 10000;
  recover database UNTIL SCN 10000;
  alter database open resetlogs;
  
  3 基于日志序列的恢复
  startup mount;
  restore database UNTIL SEQUENCE 100 thread 1;
  recover database UNTIL SEQUENCE 100 thread 1;
  alter database open resetlogs;
 
 
  一:RMAN是Oracle提供的一个数据库备份和恢复工具。
  特点:
  1)备份和恢复数据库、表空间、控制文件、数据文件和归档文件
  2)校验备份数据集
  3)通过备份检查损坏块
  4)增量备份
  5)脚本能力
  6)备份和恢复获得更好的性能
  7)结合OS一起实现自动备份
  8)支持OPS
  ----------------------------------------------------------------------------
  二:RMAN的一些术语
  Target Database 被管理目的数据库
  Recover Catalog 存储备份信息的数据库用户
  Channel 在备份和恢复时使用的通道,文件或磁带
  Backup set 一次的备份操作输出的一个或多个文件
  Backup piece 备份集中的一个物理文件称为piece
  Image copies 数据库文件的一个拷贝
  ------------------------------------------------------------------------------
  3:使用rman的准备
  1:将要备份的数据库设成归档模式。(具体方法精华区里有详细介绍)
  2:用dbca创建rman数据库(可以在本机也可以在其他机器)
  3:windows在注册表,unix在.profile里修改参数:
  NLS_DATE_LANGUAGE=AMERICAN
  NLS_DATE_FORMAT=MON DD YYYY HH24:MI:SS
  4:创建用户rman
  create tablespace rman_ts datafile 'c:\oracle\oradata\rmants.dbf'
  size 20m
  default storage(
  initial 100k
  next 100k
  pctincrease 0
  )
  
  create user rman identified by rman
  default tablespace rman_ts
  Temporary tablespace temp
  quota unlimited . rman_ts
  grant recovery_catalog_owner to rman;
  grant connect,resource to rman;
  ------------------------------------------------------------------------------
  4:开始使用
  1)C:\>rman
  RMAN>connect catalog rman/rman@rman
  RMAN>create catalog tablespace rman_ts
  RMAN>connect target system/manager
  RMAN>register database;
  RMAN>resync catalog;
  2):--全部备份:
  RMAN>Run {
  2> Allocate channel c1 type disk;
  3> Backup full filesperset 3
  4> (database format 'e:\bk\full_%p%d.%s');}
  3):--备份表空间USERS 注意表空间名大写。
  RMAN>run{
  2> allocate channel c1 type disk;
  3> backup tablespace "USERS" filesperset 1
  4> format 'e:\bk\users_%t%s.%p';
  5> }
  其它备份方式看我具体步骤,作了这么多眼花了。
  -----------------------------------------------------------------------------
  以下是我操作时从屏幕拷贝下来的内容
  C:\>rman
  RMAN>connect catalog rman/rman@rman
  RMAN-06008:连接到恢复目录数据库
  RMAN-06428:未安装恢复目录
  
  RMAN>create catalog tablespace rman_ts
  
  RMAN-06431:恢复目录已创建
  
  RMAN>connect target system/manager
  
  RMAN-06005:连接到目标数据库:TULIP (DBID=3789239814)
  
  RMAN>register database;
  
  RMAN-03022:正在编译命令:register
  RMAN-03023:正在执行命令:register
  RMAN-08006:注册在恢复目录中的数据库
  RMAN-03023:正在执行命令:full resync
  RMAN-08002:正在启动全部恢复目录的 resync
  RMAN-08004:完成全部 resync
  
  RMAN>resync catalog;
  
  RMAN-03022:正在编译命令:resync
  RMAN-03023:正在执行命令:resync
  RMAN-08002:正在启动全部恢复目录的 resync
  RMAN-08004:完成全部 resync
  --------------------------------------------------------------------
  --全部备份:
  
  RMAN>Run {
  2> Allocate channel c1 type disk;
  3> Backup full filesperset 3
  4> (database format 'e:\bk\full_%p%d.%s');}
  
  RMAN-03022:正在编译命令:allocate
  RMAN-03023:正在执行命令:allocate
  RMAN-08030:分配的通道:c1
  RMAN-08500:通道 c1:sid=16 devtype=DISK
  
  RMAN-03022:正在编译命令:backup
  RMAN-03023:正在执行命令:backup
  RMAN-08008:通道 c1:正在启动 full 数据文件备份集
  RMAN-08502:set_count=2 set_stamp=505150811 creation_time=9月 19 2003 15:40:11
  RMAN-08010:通道 c1:正在指定备份集中的数据文件
  RMAN-08522:输入数据文件 fno=00003 name=C:\ORACLE\ORADATA\TULIP\USERS01.DBF
  RMAN-08522:输入数据文件 fno=00007 name=C:\ORACLE\ORADATA\TULIP\DR01.DBF
  RMAN-08522:输入数据文件 fno=00004 name=C:\ORACLE\ORADATA\TULIP\TEMP01.DBF
  RMAN-08013:通道 c1:已创建 1 段
  RMAN-08503:段 handle=E:\BK\FULL_1TULIP.2 comment=NONE
  RMAN-08525:备份集完成,经过时间:00:00:26
  RMAN-08008:通道 c1:正在启动 full 数据文件备份集
  RMAN-08502:set_count=3 set_stamp=505150837 creation_time=9月 19 2003 15:40:37
  RMAN-08010:通道 c1:正在指定备份集中的数据文件
  RMAN-08522:输入数据文件 fno=00001 name=C:\ORACLE\ORADATA\TULIP\SYSTEM01.DBF
  RMAN-08011:备份集中包括当前控制文件
  RMAN-08522:输入数据文件 fno=00006 name=C:\ORACLE\ORADATA\TULIP\INDX01.DBF
  RMAN-08013:通道 c1:已创建 1 段
  RMAN-08503:段 handle=E:\BK\FULL_1TULIP.3 comment=NONE
  RMAN-08525:备份集完成,经过时间:00:00:45
  RMAN-08008:通道 c1:正在启动 full 数据文件备份集
  RMAN-08502:set_count=4 set_stamp=505150882 creation_time=9月 19 2003 15:41:22
  RMAN-08010:通道 c1:正在指定备份集中的数据文件
  RMAN-08522:输入数据文件 fno=00002 name=C:\ORACLE\ORADATA\TULIP\RBS01.DBF
  RMAN-08522:输入数据文件 fno=00005 name=C:\ORACLE\ORADATA\TULIP\TOOLS01.DBF
  RMAN-08013:通道 c1:已创建 1 段
  RMAN-08503:段 handle=E:\BK\FULL_1TULIP.4 comment=NONE
  RMAN-08525:备份集完成,经过时间:00:00:46
  RMAN-03023:正在执行命令:partial resync
  RMAN-08003:启动部分恢复目录的 resync
  RMAN-08005:完成部分 resync
  RMAN-08031:释放的通道:c1
  
  -----------------------------------------------------------------------------
  
  --备份表空间USERS 注意表空间名大写。
  RMAN>run{
  2> allocate channel c1 type disk;
  3> backup tablespace "USERS" filesperset 1
  4> format 'e:\bk\users_%t%s.%p';
  5> }
  
  RMAN-08031:释放的通道:c1
  RMAN-03022:正在编译命令:allocate
  RMAN-03023:正在执行命令:allocate
  RMAN-08030:分配的通道:c1
  RMAN-08500:通道 c1:sid=16 devtype=DISK
  
  RMAN-03022:正在编译命令:backup
  RMAN-03023:正在执行命令:backup
  RMAN-08008:通道 c1:正在启动 full 数据文件备份集
  RMAN-08502:set_count=6 set_stamp=505151314 creation_time=9月 19 2003 15:48:34
  RMAN-08010:通道 c1:正在指定备份集中的数据文件
  RMAN-08522:输入数据文件 fno=00003 name=C:\ORACLE\ORADATA\TULIP\USERS01.DBF
  RMAN-08013:通道 c1:已创建 1 段
  RMAN-08503:段 handle=E:\BK\USERS_5051513146.1 comment=NONE
  RMAN-08525:备份集完成,经过时间:00:00:07
  RMAN-03023:正在执行命令:partial resync
  RMAN-08003:启动部分恢复目录的 resync
  RMAN-08005:完成部分 resync
  RMAN-08031:释放的通道:c1
  
  -------------------------------------------------------------------
  --备份数据文件
  
  RMAN>run{
  2> allocate channel c1 type disk;
  3> backup datafile 'c:\oracle\oradata\tulip\users01.dbf'
  4> format 'e:\bk\users%t%s.%p';
  5> }
  
  RMAN-03022:正在编译命令:allocate
  RMAN-03023:正在执行命令:allocate
  RMAN-08030:分配的通道:c1
  RMAN-08500:通道 c1:sid=16 devtype=DISK
  
  RMAN-03022:正在编译命令:backup
  RMAN-03023:正在执行命令:backup
  RMAN-08008:通道 c1:正在启动 full 数据文件备份集
  RMAN-08502:set_count=7 set_stamp=505151699 creation_time=9月 19 2003 15:54:59
  RMAN-08010:通道 c1:正在指定备份集中的数据文件
  RMAN-08522:输入数据文件 fno=00003 name=C:\ORACLE\ORADATA\TULIP\USERS01.DBF
  RMAN-08013:通道 c1:已创建 1 段
  RMAN-08503:段 handle=E:\BK\USERS5051516997.1 comment=NONE
  RMAN-08525:备份集完成,经过时间:00:00:07
  RMAN-03023:正在执行命令:partial resync
  RMAN-08003:启动部分恢复目录的 resync
  RMAN-08005:完成部分 resync
  RMAN-08031:释放的通道:c1