RMAN备份命令

backup Database format='/home/oracle/backup/bak_full_%U_%T' tag='bak_full'; 
sql 'alter system archive log current'; 
backup archivelog all tag='arc_bak' format='/home/oracle/backup/arch_%U_%T' delete input; 
backup current controlfile tag='bak_ctlfile' format='/home/oracle/backup/bak_ctl_%U_%T'; 
backup spfile tag='spfile' format='/home/oracle/backup/bak_spfile_%U_%T';

备份完后插入测试数据

insert into zz values(2); commit;

insert into qq values(2); commit;

然后通过alter system switch logfile多切几次归档,切出多个归档文件

o1_mf_1_12_cpb2xhg8_.arc o1_mf_1_14_cpb36dbo_.arc
o1_mf_1_13_cpb35zgs_.arc o1_mf_1_15_cpb37ff2_.arc

删除12和14文件

[oracle@ocp 2016_06_18]$ rm o1_mf_1_12_cpb2xhg8_.arc
[oracle@ocp 2016_06_18]$ rm o1_mf_1_14_cpb36dbo_.arc

通过在RMAN中运行处理使得报错

run {

sql'alter database datafile 6 offline';

restore datafile 6;

recover datafile 6;

sql'alter database datafile 6 online';

}

错误为

RMAN> recover datafile 6;

Starting recover at 18-JUN-16
using channel ORA_DISK_1

starting media recovery

archived log for thread 1 with sequence 13 is already on disk as file /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2016_06_18/o1_mf_1_13_cpb35zgs_.arc
archived log for thread 1 with sequence 15 is already on disk as file /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2016_06_18/o1_mf_1_15_cpb37ff2_.arc
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 06/18/2016 16:59:59
RMAN-06053: unable to perform media recovery because of missing log
RMAN-06025: no backup of archived log for thread 1 with sequence 14 and starting SCN of 1105737 found to restore
RMAN-06025: no backup of archived log for thread 1 with sequence 12 and starting SCN of 1080714 found to restore

查看archieve目录,发现确实只有

o1_mf_1_13_cpb35zgs_.arc  o1_mf_1_15_cpb37ff2_.arc

查看v$log,得到最后需要应用的日志文件应该是16

SQL> select group#,sequence#,status from v$log;

GROUP# SEQUENCE# STATUS
---------- ---------- ----------------
1 16 CURRENT
2 14 INACTIVE
3 15 INACTIVE

被还原的6号文件的scn为

SQL> select file#,change# from v$recover_file;

FILE# CHANGE#
---------- ----------
6 1080514

查看v$log_history得知需要从10号文件开始恢复

SQL> select sequence# from v$log_history where 1080514 between first_change# and next_change#-1;

SEQUENCE#
----------
10

RMAN> list backup of archivelog all;

List of Backup Sets
===================

BS Key Size Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ ---------------
3 61.04M DISK 00:00:03 16-JUN-16
BP Key: 3 Status: AVAILABLE Compressed: NO Tag: TAG20160616T165323
Piece Name: /u01/app/oracle/flash_recovery_area/ORCL/backupset/2016_06_16/o1_mf_annnn_TAG20160616T165323_cp4t83nk_.bkp

List of Archived Logs in backup set 3
Thrd Seq Low SCN Low Time Next SCN Next Time
---- ------- ---------- --------- ---------- ---------
1 6 1022418 08-JUN-16 1033516 16-JUN-16
1 7 1033516 16-JUN-16 1047305 16-JUN-16

BS Key Size Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ ---------------
4 61.05M DISK 00:00:02 16-JUN-16
BP Key: 4 Status: AVAILABLE Compressed: NO Tag: TAG20160616T165445
Piece Name: /u01/app/oracle/flash_recovery_area/ORCL/backupset/2016_06_16/o1_mf_annnn_TAG20160616T165445_cp4tbogp_.bkp

List of Archived Logs in backup set 4
Thrd Seq Low SCN Low Time Next SCN Next Time
---- ------- ---------- --------- ---------- ---------
1 6 1022418 08-JUN-16 1033516 16-JUN-16
1 7 1033516 16-JUN-16 1047305 16-JUN-16
1 8 1047305 16-JUN-16 1047358 16-JUN-16

BS Key Size Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ ---------------
7 61.02M DISK 00:00:03 18-JUN-16
BP Key: 7 Status: AVAILABLE Compressed: NO Tag: ARC_BACK
Piece Name: /home/oracle/backup/arch_07r8fcti_1_1_20160618

List of Archived Logs in backup set 7
Thrd Seq Low SCN Low Time Next SCN Next Time
---- ------- ---------- --------- ---------- ---------
1 9 1047358 16-JUN-16 1071119 16-JUN-16
1 10 1071119 16-JUN-16 1080684 18-JUN-16
1 11 1080684 18-JUN-16 1080714 18-JUN-16

备份级里面有6,7,8,9,10,11,6号文件test01.dbf需要的是从10号archivelog开始,但需要恢复到16号文件,目前缺少12,14文件.

查找一下12-14文件的位置,进行确认.

RMAN> list archivelog low sequence 12 high sequence 14

2> ;

List of Archived Log Copies for database with db_unique_name ORCL
=====================================================================

Key Thrd Seq S Low Time
------- ---- ------- - ---------
7 1 12 A 18-JUN-16
Name: /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2016_06_18/o1_mf_1_12_cpb2xhg8_.arc

8 1 13 A 18-JUN-16
Name: /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2016_06_18/o1_mf_1_13_cpb35zgs_.arc

9 1 14 A 18-JUN-16
Name: /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2016_06_18/o1_mf_1_14_cpb36dbo_.arc

只能不完全恢复到12

shutdown abort;

starup force mount;

RMAN> run {
2> set until sequence 12;
3> restore database;
4> }

executing command: SET until clause

Starting restore at 18-JUN-16
using channel ORA_DISK_1
flashing back control file to SCN 1080714

channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/orcl/system01.dbf
channel ORA_DISK_1: restoring datafile 00002 to /u01/app/oracle/oradata/orcl/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/orcl/undotbs01.dbf
channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/orcl/users01.dbf
channel ORA_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/orcl/example01.dbf
channel ORA_DISK_1: restoring datafile 00006 to /u01/app/oracle/oradata/orcl/test01.dbf
channel ORA_DISK_1: reading from backup piece /home/oracle/backup/back_full_05r8fcon_1_1_20160618
channel ORA_DISK_1: piece handle=/home/oracle/backup/back_full_05r8fcon_1_1_20160618 tag=BACK_FULL
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:35
Finished restore at 18-JUN-16

RMAN> run {
2> set until sequence 12;
3> recover database;
4> }

executing command: SET until clause

Starting recover at 18-JUN-16
using channel ORA_DISK_1

starting media recovery

channel ORA_DISK_1: starting archived log restore to default destination
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=10
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=11
channel ORA_DISK_1: reading from backup piece /home/oracle/backup/arch_07r8fcti_1_1_20160618
channel ORA_DISK_1: piece handle=/home/oracle/backup/arch_07r8fcti_1_1_20160618 tag=ARC_BACK
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
archived log file name=/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2016_06_18/o1_mf_1_10_cpb4clcf_.arc thread=1 sequence=10
channel default: deleting archived log(s)
archived log file name=/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2016_06_18/o1_mf_1_10_cpb4clcf_.arc RECID=20 STAMP=914865395
archived log file name=/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2016_06_18/o1_mf_1_11_cpb4clcl_.arc thread=1 sequence=11
channel default: deleting archived log(s)
archived log file name=/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2016_06_18/o1_mf_1_11_cpb4clcl_.arc RECID=19 STAMP=914865394
media recovery complete, elapsed time: 00:00:00
Finished recover at 18-JUN-16

RMAN> alter database open resetlogs;

database opened

用scott/tiger登录后查看,发现插入的数据不在了.

打开后,需要重新备份数据库,备份前需要删除原有多余的backup set及archivelog

RMAN> configure retention policy to redundancy 1;

new RMAN configuration parameters:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1;
new RMAN configuration parameters are successfully stored

RMAN> crosscheck backup;

using channel ORA_DISK_1
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2016_06_16/o1_mf_nnndf_TAG20160616T164736_cp4sx8fp_.bkp RECID=1 STAMP=914690856
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2016_06_16/o1_mf_ncsnf_TAG20160616T164736_cp4sznlh_.bkp RECID=2 STAMP=914690932
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2016_06_16/o1_mf_annnn_TAG20160616T165323_cp4t83nk_.bkp RECID=3 STAMP=914691203
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2016_06_16/o1_mf_annnn_TAG20160616T165445_cp4tbogp_.bkp RECID=4 STAMP=914691285
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/home/oracle/backup/back_full_05r8fcon_1_1_20160618 RECID=5 STAMP=914862871
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/home/oracle/backup/back_full_06r8fcr2_1_1_20160618 RECID=6 STAMP=914862947
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/home/oracle/backup/arch_07r8fcti_1_1_20160618 RECID=7 STAMP=914863026
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/home/oracle/backup/back_ctl_08r8fd2c_1_1_20160618 RECID=8 STAMP=914863181
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/home/oracle/backup/back_spfile_09r8fd3n_1_1_20160618 RECID=9 STAMP=914863223
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/home/oracle/backup/bak_ctl_0ar8i7jh_1_1_20160619 RECID=10 STAMP=914955890
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/home/oracle/backup/bak_full_0br8i7kj_1_1_20160619 RECID=11 STAMP=914955923
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/home/oracle/backup/bak_full_0cr8i7mk_1_1_20160619 RECID=12 STAMP=914955989
Crosschecked 12 objects

RMAN> report obsolete;

RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 1
Report of obsolete backups and copies
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Backup Set 1 16-JUN-16
Backup Piece 1 16-JUN-16 /u01/app/oracle/flash_recovery_area/ORCL/backupset/2016_06_16/o1_mf_nnndf_TAG20160616T164736_cp4sx8fp_.bkp
Backup Set 2 16-JUN-16
Backup Piece 2 16-JUN-16 /u01/app/oracle/flash_recovery_area/ORCL/backupset/2016_06_16/o1_mf_ncsnf_TAG20160616T164736_cp4sznlh_.bkp
Backup Set 3 16-JUN-16
Backup Piece 3 16-JUN-16 /u01/app/oracle/flash_recovery_area/ORCL/backupset/2016_06_16/o1_mf_annnn_TAG20160616T165323_cp4t83nk_.bkp
Backup Set 4 16-JUN-16
Backup Piece 4 16-JUN-16 /u01/app/oracle/flash_recovery_area/ORCL/backupset/2016_06_16/o1_mf_annnn_TAG20160616T165445_cp4tbogp_.bkp
Backup Set 5 18-JUN-16
Backup Piece 5 18-JUN-16 /home/oracle/backup/back_full_05r8fcon_1_1_20160618
Backup Set 6 18-JUN-16
Backup Piece 6 18-JUN-16 /home/oracle/backup/back_full_06r8fcr2_1_1_20160618
Backup Set 7 18-JUN-16
Backup Piece 7 18-JUN-16 /home/oracle/backup/arch_07r8fcti_1_1_20160618
Backup Set 8 18-JUN-16
Backup Piece 8 18-JUN-16 /home/oracle/backup/back_ctl_08r8fd2c_1_1_20160618
Archive Log 7 18-JUN-16 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2016_06_18/o1_mf_1_12_cpb2xhg8_.arc
Backup Set 9 18-JUN-16
Backup Piece 9 18-JUN-16 /home/oracle/backup/back_spfile_09r8fd3n_1_1_20160618
Archive Log 8 18-JUN-16 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2016_06_18/o1_mf_1_13_cpb35zgs_.arc
Archive Log 9 18-JUN-16 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2016_06_18/o1_mf_1_14_cpb36dbo_.arc
Archive Log 10 18-JUN-16 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2016_06_18/o1_mf_1_15_cpb37ff2_.arc
Archive Log 21 18-JUN-16 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2016_06_18/o1_mf_1_16_cpb4d2gl_.arc
Archive Log 23 18-JUN-16 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2016_06_18/o1_mf_1_15_cpb4d2jt_.arc
Archive Log 22 18-JUN-16 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2016_06_18/o1_mf_1_14_cpb4d2jn_.arc
Backup Set 10 19-JUN-16
Backup Piece 10 19-JUN-16 /home/oracle/backup/bak_ctl_0ar8i7jh_1_1_20160619

RMAN> delete obsolete

crosscheck archivelog all;

delete noprompt expired archivelog all;

Oracle RMAN 备份及不完全恢复(删除archievelog)的更多相关文章

  1. Rman备份及不完全恢复操作

    最后更新时间:2018/12/18 启用归档 --检查是否为归档 SQL> archive log list; Database log mode              No Archive ...

  2. Oracle RMAN 备份一例

    Oracle RMAN备份一例: Solaris 10 + Oracle 11.2.0.3 Shell:csh,安装有bash,脚本调用bash 备份策略:周日0级备份,周一~周六1级备份,每6小时备 ...

  3. Oracle—RMAN备份(三)

    一.增量备份的相关概念 1. 在前面说明了RMAN的完整备份,完整备份是备份所用使用过的块,不备份没有使用的过的块:增量备份只备份自上次备份以来更改过的块. 2.即使RMAN的默认操作是在增量备份时扫 ...

  4. ORACLE RMAN备份及还原 RMAN能够进行增量备份:数据库,表空间,数据文件

    ORACLE RMAN备份及还原   RMAN能够进行增量备份:数据库.表空间.数据文件 仅仅有使用过的block能够被备份成backup set 表空间与数据文件相应关系:dba_data_file ...

  5. Oracle—RMAN备份(一)

    一.RMAN备份相关概念 1.RMAN备份中表空间不需要处于backup模式下,它备份数据文件,归档日志文件,控制文件,spfile和备份集片,但不备份联机重做日志文件,临时文件和口令文件. 2.备份 ...

  6. Oracle—RMAN备份(二)

    在Oracle  RMAN备份(一)中,对各种文件在RMAN中备份进行了说明, 一.备份集的复制 在RMAN 备份中,可以备份其自己的备份,即备份一个文件放在多个目录下,oralce支持最多备份四个. ...

  7. ORACLE RMAN备份--差异增量与累积增量的策略实例图

    转自原文 ORACLE RMAN备份--差异增量与累积增量的策略实例图

  8. Oracle RMAN备份恢复指导书

    目 录 1 目的与范围... 1 2 术语和定义... 1 3 角色和职责... 2 4 使用RMAN备份数据库... 2 4.1.1 检查数据库模式... 2 4.1.2 连接到target数据库. ...

  9. Oracle RMAN备份与还原

    RMAN在数据库服务器的帮助下实现数据库文件.控制文件.数据库文件与控制文件的映像副本.归档日志文件.数据库服务器参数文件的备份. RMAN的特点: (1) 支持增量备份:传统的exp与expdp备份 ...

随机推荐

  1. [bzoj3132]上帝造题的七分钟——二维树状数组

    题目大意 你需要实现一种数据结构,支援以下操作. 给一个矩阵的子矩阵的所有元素同时加一个数. 计算子矩阵和. 题解 一看这个题,我就首先想到用线段树套线段树做. 使用二维线段树的错误解法 其实是第一次 ...

  2. C++学习笔记之——内联函数,引用

    本文为原创作品,转载请注明出处 欢迎关注我的博客:http://blog.csdn.net/hit2015spring和http://www.cnblogs.com/xujianqing/ 作者:晨凫 ...

  3. (转)Vim 脚本语言

    2012 年 10 月 20 日 by name5566 Categories: Computer Science, Tools 参考文献列表: http://vimdoc.sourceforge.n ...

  4. C语言ASM汇编内嵌语法

    转载:http://www.cnblogs.com/latifrons/archive/2009/09/17/1568198.html C语言ASM汇编内嵌语法 .3 GCC Inline ASM G ...

  5. aiohttp/asyncio 小例子和解释

    #!/usr/bin/env python # encoding: utf-8 import aiohttp import asyncio import time # 通过async def定义的函数 ...

  6. 基于java容器注解---基于泛型的自动装配

    上面利用@Configuration和@Bean配置bean,中间利用@Autowired,指定s1和s2分别指向哪个实现类,下面利用@Autowired,指定s中只有Integer实现类 例子: 在 ...

  7. C++实现高斯滤波器

    在matlab中,我们经常用到高斯滤波器,生成滤波器一般都是这样的函数psf =   fspecial('gauss', GaussSize, sigma),但是在vs2010中用到的高斯滤波器不能自 ...

  8. js数组高效去重

    http://blog.csdn.net/chengxuyuan20100425/article/details/8497277 这个方法的思路是先把数组排序,然后比较相邻的两个值. 排序的时候用的J ...

  9. 在 C# 中通过 P/Invoke 调用Win32 DLL

    在 C# 中通过 P/Invoke 调用Win32 DLL 发布日期 : 1/13/2005 | 更新日期 : 1/13/2005 Jason Clark 下载本文的代码: NET0307.exe ( ...

  10. KO工作原理及带来的好处

    介绍 Knockout是一个以数据模型(data model)为基础的能够帮助你创建富文本,响应显示和编辑用户界面的JavaScript类库.任何时候如果你的UI需要自动更新(比如:更新依赖于用户的行 ...