RMAN命令简解

RMAN命令简解 

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 script my_bk_script
   2>{backup database plus archivelog;}
    create script my_bk_script
    
 3,打印脚本
  RMAN>print script my_bk_script;
  printing stored scipt:my_bk_script
  {backup database plus archivelog;}
  
 4,运行这个脚本,备份目标数据库
  RMAN>run {execute scipt my_bk_script;}
  
 5 删除脚本
  RMAN>delete script my_bk_script;
 =====================================================
 =====================================================
 archivelog模式下的完全恢复
 
 step1:set oracle_sid=recover
     rman target rman_backup/password
     configure controlfile autobackup on;
     
 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 online";
 sql"alter tablespace tools online";
 
 数据文件恢复
 
 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 online";
 sql"alter database datafile 'd:oracleoradatausers01.dbf'online";
 
 =====================================================
 =====================================================
 切换当前的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 hh34: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;

成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、成都网站制作、多伦网络推广、微信小程序开发、多伦网络营销、多伦企业策划、多伦品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供多伦建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com


分享名称:RMAN命令简解
文章分享:http://myzitong.com/article/jipoeh.html