zoukankan      html  css  js  c++  java
  • 11g RMAN Restore archivelog用法

    I.备份所有归档日志文件

    RMAN> BACKUP FORMAT '/u01/backup/arch_%U_%T' skip inaccessible filesperset 5 ARCHIVELOG ALL DELETE INPUT;

    II.使用RMAN方式清除
     RMAN清除方式会自动清除磁盘上的归档日志文件,同时会释放控制文件中对应的归档日志的归档信息。
     可以基于不同的条件来清除归档日志,如基于SCN,基于SEQUENCE,基于TIME等方式。
     对于上述的三种方式又可以配合from, until, between .. and .. 等等子句来限定范围,方式灵活多变。
     下面的命令用于校验归档日志的有效性,列出无效的归档日志,以及以何种方式清除归档日志,列出几种常用的: 
     crosscheck archivelog all;                                   --->校验日志的可用性
     list expired archivelog all;                                 --->列出所有失效的归档日志 
     delete archivelog until sequence 16;                         --->删除log sequence为16及16之前的所有归档日志
     delete archivelog all completed before 'sysdate-7';          --->删除系统时间7天以前的归档日志,不会删除闪回区有效的归档日志
     delete archivelog all completed before 'sysdate - 1';        --->同上,1天以前的
     delete archivelog from time 'sysdate-1';                     --->注意这个命令,删除系统时间1天以内到现在的归档日志
     delete noprompt archivelog all completed before 'sysdate';   --->该命令清除所有的归档日志
     delete noprompt archivelog all;                              --->同上一命令

    III. Restore archivelog选项

    1.RAC环境下需要加上Thread Number,不加默认是Thread 1
    RMAN> restore archivelog from sequence 112 thread 2;


    2.恢复全部归档日志文件

    RMAN> restore archivelog all;


    3.恢复Sequence范围

    RMAN> restore archivelog from sequence 90 until sequence 98;
    RMAN> restore archivelog sequence between 20 and 35;


    4.恢复从第5个归档日志起

    RMAN> restore archivelog from sequence 5;
    RMAN> restore archivelog low sequence 5;


    5.恢复7天内的归档日志

    RMAN> restore archivelog from time 'sysdate-7';


    6.恢复到哪个日志文件为止

    RMAN> restore archivelog until sequence 110;
    RMAN> restore archivelog high sequence 108;


    7.改变恢复到另外路径下 则可用下面语句

    set archivelog destination to '/u01/backup';

    RMAN> run
    2> {allocate channel c1 type disk;
    3> set archivelog destination to '/u01/backup';
    4> restore archivelog all;
    5> release channel c1;
    6> }


    8.根据时间查看需要的备份集:

    RMAN> list backup of archivelog time between "to_date('2014-04-24 11:00:00','yyyy-mm-dd hh24:mi:ss')" and "to_date('2014-04-24 14:30','yyyy-mm-dd hh24:mi:ss')";

    恢复指定时间段

    RMAN> run {
    set archivelog destination to '/u01/backup';
    SQL 'ALTER SESSION SET NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"';
    restore archivelog time between '2014-04-24 11:00:00' and '2014-04-24 15:00:00';
    }

    附:RMAN 配置归档日志删除策略
    Oracle 11g中对于归档日志的删除,除了遵循RMAN保留策略外,也可以通过RMAN来配置归档日志的删除策略,也就是归档日志何时可以被删除。归档日志删除策略适用于所有归档位置(使用快速闪回区FRA/不使用FRA)。

    1、关于归档日志删除策略
          也就是哪些归档日志符合删除策略能够被删除,如前所述,归档位置适用于所有归档位置(使用快速闪回区FRA/不使用FRA)
          当启用该策略后,如归档日志存在于FRA中,则Oracle会尽可能根据保留他们,一旦FRA空间告急,则Oracle会根据归档日志删除策略自动删除
          对于不在FRA中的归档日志,需要手动使用delete obsolete或delete archivelog方式来删除日志
          无论归档日志存在于FRA内或外,都可以通过BACKUP ... DELETE INPUT or DELETE ARCHIVELOG方式来删除
          该策略不适用于使用LogMiner方式从主数据库传送到逻辑standby生成的外部归档日志文件,因为这些日志文件不能够在逻辑standy上备份或恢复

    2、配置归档日志删除策略
        使用下面的方式来配置归档日志删除策略
            configure archivelog deletion policy to backed up 2 times to sbt;
            configure archivelog deletion policy to backed up 1 times to device type disk;
            configure archivelog deletion policy to applied on standby;
            configure archivelog deletion policy to shipped on standby;
            configure archivelog deletion policy clear;
        对于Oracle 10g没有该特性,但有一个类似的用于配置归档日志被备份次数,如下;
            configure archivelog backup copies for device type disk to ${archiveretention};

    3、禁用归档日志删除策略
          缺省情况下,该策略被设置为none。也就是说根据RMAN备份保留策略,对于FRA中的归档日志,被备份过一次(到磁盘或磁带)即符合条件被删除
        如果Oracle不再需要当前的归档日志用于保证数据库时点恢复或数据库闪回,则RMAN备份保留策略认为当前日志为obsolete
        在SYSDATE-'DB_FLASHBACK_RETENTION_TARGET'之后创建的归档日志是需要被保留的

    4、启用归档日志删除策略
        一旦启用该策略,则指定的归档日志被备份数量达到设定值后,这些归档日志能够被删除
        BACKUP ARCHIVELOG 会在未超出指定备份数的情况下(比如设置为2)备份归档日志到指定位置,如超出2次,则RMAN会跳过这些备份过2次的归档日志
        对于上述的情形,可以为BACKUP ARCHIVELOG适用force选项来强制备份归档日志
        如果启用该策略且配置为APPLIED ON STANDBY子句,则所有强制standby位置被apply后,这些归档日志会被RMAN删除 
        如果启用该策略且配置为SHIPPED ON STANDBY子句,则所有强制standby位置被成功传送后,这些归档日志会被RMAN删除

    转自:http://www.linuxidc.com/Linux/2013-11/92670.htm
     http://blog.chinaunix.net/uid-15108676-id-4225997.html
  • 相关阅读:
    根据nba数据预测17-18总冠军(转)
    mysql删除数据(delete)之后如何释放磁盘空间
    base64加密常用命令
    mysqldump报错:Error 2013: Lost connection to MySQL server during query when dumping table `mng_fdbk_reply` at row: 444087
    rsync安装配置与使用
    find 命令日常使用
    使用XtraBackup全量备份还原
    lvs 虚IP 轮训配置
    mysql-binlog 日志清理
    查看mysql正在执行的sql进程
  • 原文地址:https://www.cnblogs.com/future2012lg/p/4832520.html
Copyright © 2011-2022 走看看