ITPub博客

首页 > Linux操作系统 > Linux操作系统 > RMAN必记命令

RMAN必记命令

原创 Linux操作系统 作者:wmsok 时间:2013-07-20 02:21:47 0 删除 编辑

-----RMAN备份生成的文件有两种:备份集和镜像,默认情况下生成的文件为备份集-------------

一、简单RMAN备份(backup后面都可以支持delete all input | format 'd:\%U.bak'|tag 'fulldatabase')

1、备份数据库     backup database format ‘c:\rman\all_%U.bak’;
2、备份表空间     backup tablespace abc format ‘c:\rman\t_%U.bak’;
3、备份数据文件   1)backup datafile 5 format ‘c:\rman\d_%U.bak’;
                 2)backup datafile ‘C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ABC.DBF’format‘c:\rman\d_%U.bak’;
4、备份控制文件   backup current controlfile format ‘c:\rman\ctr_%U.ctl’;
                 backup datafile 5 format ‘c:\rman\d_c_%U.bak’include current controlfile;
                 sql "alter database backup controlfile to ''/tmp/orclcontrol.bak''";
                 sql "alter database backup controlfile to trace as ''/tmp/orclcontrol.bak''";
5、备份spfile文件 backup spfile format ‘c:\rman\sp_%U.sp’;
6、备份日志文件   backup archivelog sequence between 38 and 41 format ’c:\rman\ar_%U.log’delete all input(可选,备份日志文件后,删除原来日志文件);
                 backup database plus archivelog format ‘c:\rman \d_ar_%U.d_a’;
                      此过程和backup archivelog all区别很大。先归档未归档的日志,然后备份归档日志,
                      然后备份指定项目(SQLPLUS下的备份alter system archivelog current),然后再归档日志,最后备份归档日志
                 backup archivelog from time "sysdate-15" until time "sysdate-7";
8、copy功能(相当于用户管理备份)
                 backup as copy database format ‘c:\rman\%U.cy’;  
                 copy datafile 5 to ‘c:\rman\d_%U.cy’;  
                   注:backup as copy可以备份整个数据库,copy只能备份current controlfile、datafile、tablespace等,这个数据库不支持 
9、多路复制       backup copies 2 database format 'c:\disk1\%U.cy', 'c:\disk\%U.cy';
                 这里要明确说的是copies并不代表生成的文件是镜像文件,除非默认备份类型为copy或都在这里明确backup as copy copies 2....

二、增量备份
1、差异性增量备份
backup incremental level 0 database format ‘c:\rman\L0_%U.bak’;   --增量0级备份是基础
backup incremental level 1 database format ‘c:\rman\L1C_%U.bak’;
--如果incremental level 1 中没有加关键字cumulative,默认就代表也差异备份differential
--如果没有增量0级备份而直接进行增量备份,则备份时会数据库会自动执行0级备份,然后自然不需要进行1级增量备份了

2、累积性增量备份
backup incremental level 0 database format ‘c:\rman\L0_%U.bak’;
backup incremental level 1 cumulative database format ‘c:\rman\L1C_%U.bak’;

    Note:差异性备份是同一级别不备份,而累积性备份是同一级别的也备份备份的级别可以为0、1、2、3、4

3、快速增量备份需要开启块跟踪,启用/关闭oracle块更改跟踪
开启  alter database enable block change tracking using file‘c:\oracle\product\10.2.0\admin\orcl\bdump\block_trace.txt‘
关闭  alter database disable block change tracking;  
select * from v$block_change_tracking;
  
三、删除备份
   备份保留策略分时间和冗余,故一般删除备份只删除过期和失效的备份
    configure retention policy to recovery window of 3 days       -----保留的备份不一定仅仅是3天的,应该是恢复到的3天之内任何时间点所需要的所有备份.
    configure retention policy to redundancy 1
    configure retention policy to none                            ---三选一
    检查
    crosscheck archivelog all/backup/backupset/......         ----把物理上不存在的归档或备份标记为expired
    delete expired archivelog all
           当手工删除了磁盘上的文件后,Rman备份会检测到日志缺失,无法进一步执行。所以执行crosscheck,之后Rman备份可以恢复正常。
           注意delete命令并没有把对应备份集信息从控制文件中删除,只是把expired标记改成了deleted了,所以备份集号才能一直增长,控制文件也越来越大
------------------------------------------
    report obsolete
    delete obsolete
           针对不符合retention policy要求的文件进行删除
------------------------------------------
其它
delete archivelog|backup until time 'sysdate - 30'
delete backupset 100,101,102
delete [noprompt] bacup            ----[不提示]删除所有备份
delete [noprompt] expired          ----[不提示]标记所有失效expired的记录为deleted

    注:在recovery window of 1 days的假设下(此处的半天、一整天、1.5天是个大概的量):
    ㈠ optimization和read only下:半天
    ㈡ report obsolete:一整天
    ㈢ report need backup:1.5天

四、查看备份
    list backup summary        ----备份汇总
    list backup|backupset|copy            -----查看所有的备份             
list backup|backupset of database
list backup|backupset of tablespace users
list backup|backupset of datafile 1,2,3
list datafilecopy all;
list backup|backupset|copy of controlfile
list backup|backupset|copy of archivelog all
list backup|backupset of spfile      ------参数文件不可以备份为镜像文件的
list backup|backupset completed after "sysdate-7";
list backup|backupset completed before "sysdate-7";
---------------------------------------------------
list archivelog all;           ---不是备份的归档,仅仅是归档日志
list archivelog  all until  time 'sysdate-30'; 

五、验证备份
   restore validate controlfile|spfile|database;
    validate device type disk backupset 1;

六、报告
     report schema;
     report obsolete;
 report unrecoverable;  ----报告不可恢复的数据文件
 report need backup;
 report need backup days 4; ----4天没有备份的数据文件
 report need backup incremental 4   ---- Report of files that need more than 4 incrementals during recovery
 report need redundancy 3   -----列出恢复路径需超过4个等级1增量备份的数据文件
 report need backup tablespace users,system;
七、校验备份
RMAN> crosscheck backup;
RMAN> crosscheck backup of database|tablespace|controlfile|spfile|archivelog all;
RMAN> crosscheck backupset
RMAN> crosscheck archivelog all

八、找回归档日志文件
    重建控制文件或者转移备份后执行了delete expired
rman>catalog datafilecopy 'd:\backup\xxwz_data.dbf';
rman>catalog archivelog 'd:\arch\arch_12.arc','d:\arch\arch_13.arc';
    rman>catalog start with 'd:\arch' noprompt;//登记这个目录的所有归档日志文件信息

九、change命令
   修改RMAN的备份状态
rman>change backupset 49 unavailable;     ----快速恢复区不可用
rman>change backupset 49 available;

   从保留策略中豁免(即不受保留策略的限制)
rman>change backupset 49 keep forever nologs;    -----永不限制    
rman>change datafilecopy 'd:\copy\xxx.dbf' keep until 'sysdate+60';  ----不限制60天,不支持快速恢复区、
rman>change backupset 1 nokeep    -----恢复默认保留策略

    取消登记信息
rman>change backuppiece 51 uncatalog;   -----uncatalog不支持备份集,但支持单独的备份片和镜像
rman>change datafilecopy 'd:\backup\xxwz_data.dbf' uncatalog;
rman>change archivelog ... uncatalog

    其它
    rman>change backupset 1 crosscheck;  ----相当于crosscheck
    rman>change backupset 1 delete;      ----相当于delete
    rman>change backup of database validate   ----相当于validate
    

更高深的命令请看RMAN经典命令

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25960404/viewspace-766732/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-07-07

  • 博文量
    24
  • 访问量
    117258