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

时间: 2024-09-29 01:39:20

11g RMAN Restore archivelog用法的相关文章

rman 还原归档日志(restore archivelog)

听说过还原(restore)数据库,表空间及数据库文件,使用归档日志恢复(recover)数据库,表空间,数据库文件. 咦,还有还原归档日志这一说法呢?没错,可能我们忽略了还原归档日志这一个过程,原因是还原归档日志通常情况下是oracle在recover时自动完成的. 大多数情况下我们是先还原数据库,恢复数据库,打开数据库.实际上在恢复数据库之前有一个动作,那就是还原归档日志,也就是将日志文件还原到缺省的归档位置, 如果我们在备份归档日志时使用了delete [all] input子句的话. 本

restore archivelog 的用法

1.备份所有归档日志文件 RMAN> backup archivelog all delete input; 第二: restore archivelog 的各种选项 0.根据rac线程restore archivelog from logseq 6160 thread 2; 1.restore archivelog all  恢复全部归档日志文件 RMAN> restore archivelog all; 2.只恢复 5到8这四个归档日志文件 RMAN> restore archive

restore archivelog 常用用法

         restore archivelog all;   还原全部归档日志文件      restore archivelog from logseq 2213 ;  还原log sequence为2213之后的所有归档日志      restore archivelog from logseq 2213 until logseq 2222; 还原log sequence为2213到2222这几个归档日志       restore archivelog from time 'sys

Oracle 11g rman备份相关

1.验证备份是否可以被成功还原,完全还原确定需应用哪些备份集和归档日志. RMAN> restore database preview; Starting restore at 07-OCT-15 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=202 device type=DISK allocated cha

Oracle 11G RMAN 单实例异机恢复

数据备份当然是为数据恢复准备,新环境的oracle一直在进行备份,但都没有测试验证备份的有效性,所以本次测试的重要性不言而喻了!以下为WIN平台下RMAN异机恢复实例. 源库 目标库 操作系统 WIN SVR 2008 R2 WIN SVR 2008 R2 主机名 Ora ORATEST IP 192.168.18.20 192.168.18.25 数据库版本 11.2.0.1.0 11.2.0.1.0 存储方式 单实例 单实例 ORACLE_HOME D:\app\Administrator\

Restore archivelog from ASM to filesystem

RMAN> run 2> { 3> set archivelog destination to '/tmp'; 4> restore archivelog sequence 142 thread 2; 5> } executing command: SET ARCHIVELOG DESTINATION Starting restore at 2015-03-12 00:22:25 using channel ORA_DISK_1 archived log for thread

11g rman blockrecover 的新特性

参考自: New Rman Blockrecover command in 11g (Recover corruption list) (文档 ID 1390759.1) 11g rman blockrecover 时的新特性: 注意:10g时的blockrecover命令被废弃,但是依然支持. Rman> Recover datafile <fileno> block <block number reported corrupt>; Rman> Recover dat

Tensorflow---Saver和restore的用法

Saver的作用是将我们训练好的模型的参数保存下来,以便下一次继续用于训练或测试:Restore的用法是将训练好的参数提取出来. 1.Saver类训练完后,是以checkpoints文件形式保存.提取的时候也是从checkpoints文件中恢复变量.Checkpoints文件是一个二进制文件,它把变量名映射到对应的tensor值 . 2.通过for循环,Saver类可以自动的生成checkpoint文件.这样我们就可以保存多个训练结果.例如,我们可以保存每一步训练的结果.但是为了避免填满整个磁盘

rman restore spfile from backup

spfile一般在$ORACLE_HOME/dbs(linux)目录,如果你丢失了spfile并不会引起实例立刻停掉,你的实例可以继续操作,尽管当你restore spfile的时候需要关闭重启实例,那么可以通过多种方式进行恢复 1).通过alert_sid.log,alert里面包含你修改过的所有参数,可以根据alert日志重新创建pfile,再创建spfile恢复 2).如果pfile还存在 shutdown immediate; create spfile from pfile; 创建sp