在oracle 在日常维护的数据库中难免会遇到误删数据和使用(drop。delete。 truncate)当我们使用常规手段(flashback query 。flashback drop)当数据不能恢复。能够使用近期的逻辑备份,在异机使用dmp 来恢复对应的表,可是假设没有这些逻辑备份。可是有一个近期的rman 全备。那么我们就能够利用这个备份来恢复被误删的表空间。从而实现数据的恢复,这里我以NBU 的备份环境为例简单描写叙述下怎样来回复部分
表空间;

-------在nomount 状态 。恢复控制文件

run {

allocate channel t1 type 'sbt_tape';

send 'NB_ORA_SERV=netbackup,NB_ORA_CLIENT=http://blog.csdn.net/lixora';

restore controlfile to '/oracle11/oradata1/control011.ctl' from '/c-2151157071-20141111-00';

release channel t1 ;

}

-------在还原好控制文件后。将实例启动到mount状态,然后開始还原部分表空间数据文件:

rman target / nocatalog msglog=/home/oracledb/rman.log <<EOF

run {                                              

allocate channel t1 type 'sbt_tape';

allocate channel t2 type 'sbt_tape';               

send 'NB_ORA_SERV=netbackup,NB_ORA_CLIENT=http://blog.csdn.net/lixora';







set newname for datafile   1 to '/oracle11/oradata/datafile/system.262.762381347' ; 

set newname for datafile   3 to '/oracle11/oradata/datafile/undotbs1.264.762381401';

set newname for datafile   4 to '/oracle11/oradata/datafile/undotbs2.266.762381455';

set newname for datafile 227 to '/oracle11/oradata/datafile/system02.dbf';         

set newname for datafile 344 to '/oracle11/oradata/datafile/lixora.375.820259689'; 

set newname for datafile 345 to '/oracle11/oradata/datafile/lixora.414.820949317'; 





 restore tablespace system,undotbs1,undotbs2。lixora  ;

 switch datafile all;

 

release channel t1;

release channel t2;

}

EOF

---------【假设表空比較多。能够先批量生成表空间的 offline drop 命令】開始恢复数据库



rman target / msglog=recover.log << EOF

RUN{

ALLOCATE CHANNEL ch0 TYPE 'SBT_TAPE' ;

ALLOCATE CHANNEL ch1 TYPE 'SBT_TAPE' ;

send 'NB_ORA_SERV=netbackup,NB_ORA_CLIENT=http://blog.csdn.net/lixora';

set until time "to_date('2014/11/11 14:00:00','yyyy/mm/dd hh24:mi:ss')";





recover database skip forever tablespace SYSAUX,TEMP,USERS,INDEX_DATA;





release channel ch0;

release channel ch1;

}

EOF







---以resetlogs 方式打开oracle数据库

alter database open resetlogs。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

如何使用 RMAN 异构恢复一些表空间的更多相关文章

  1. RMAN 备份恢复 删除表空间后控制文件丢失

    先备份一个控制文件 RMAN> backup current controlfile tag='bak_ctlfile' format='/home/oracle/backup/bak_ctl_ ...

  2. RMAN恢复 增加表空间后控制文件丢失

    查看目前的控制文件位置 SQL> select name from v$controlfile; NAME-------------------------------------------- ...

  3. 转://RMAN跨平台可传输表空间和数据库

    参考链接: http://blog.itpub.net/23135684/viewspace-776048/ http://blog.sina.com.cn/s/blog_69e7b8d7010164 ...

  4. 备份恢复-----system表空间损坏

    无法进行关库,报错如下 SQL> shutdown immediate ORA-01122: database file 1 failed verification checkORA-01110 ...

  5. Oracle备份恢复之无备份情况下恢复undo表空间

    UNDO表空间存储着DML操作数据块的前镜像数据,在数据回滚,一致性读,闪回操作,实例恢复的时候都可能用到UNDO表空间中的数据.如果在生产过程中丢失或破坏了UNDO表空间,可能导致某些事务无法回滚, ...

  6. RMAN备份数据库与表空间

    脚本: 数据库备份: backup database format='/u01/app/oracle/oradata/Backup/oradb_%d_%s.bak'; 表空间备份:backup tab ...

  7. nbu恢复 oracle10g rac asm 到单实例asm(恢复某个表空间)

    一 检验条件 二 准备工作 1 创建相关目录 mkdir -p /oracle/admin/orcl/adumpmkdir -p /oracle/admin/orcl/bdumpmkdir -p /o ...

  8. Oracle 阅读器-刚看完表空间回复的详细解释

    (一) 当使用一个控制文件的备份恢复,例如下面的附图.使用备份控制文件恢复位置 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGVtb25zb24=/fo ...

  9. 【RMAN】TSPITR--RMAN表空间基于时间点的自动恢复

    [RMAN]TSPITR--RMAN表空间基于时间点的自动恢复 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其 ...

随机推荐

  1. C#(SuperWebSocket)与websocket通信

    原文:C#(SuperWebSocket)与websocket通信 客户端代码 点击可以查看一些关于websocket的介绍 <!DOCTYPE html> <html> &l ...

  2. SorlNet

    Solr学习 上一篇已经讲到了Solr 查询的相关的参数.这里在讲讲C#是如何通过客户端请求和接受solr服务器的数据, 这里推荐使用SolrNet,主要是:SolrNet使用非常方便,而且用户众多, ...

  3. SQL server 2005 PIVOT运算符的使用

    原文:SQL server 2005 PIVOT运算符的使用 PIVOT,UNPIVOT运算符是SQL server 2005支持的新功能之一,主要用来实现行到列的转换.本文主要介绍PIVOT运算符的 ...

  4. 注意事项: Solr设备 Hello World

    试用 Solr-4.10.2 一 shards, 这两款机器 一是垃圾 rm -r example/solr/collection1/data/* 启动一个 node cd example java ...

  5. 【Android进阶】快捷图标的创建与移除

    注释已经说得很清楚了,如果有疑问,请留言 /** * 添加桌面快捷方式 * * @param view */ public void click1(View view) { if (isExit()) ...

  6. ACM:图BFS,迷宫

    称号: 网络格迷宫n行m单位列格组成,每个单元格无论空间(使用1表示),无论是障碍(使用0为了表示).你的任务是找到一个动作序列最短的从开始到结束,其中UDLR同比分别增长.下一个.左.向右移动到下一 ...

  7. js的StringBuffer实施和使用类

    <strong>JAVA有一个StringBuffer分类,js但不是在下面,以实现自己的简单js的StringBuffer分类.</strong> //创建一个StringB ...

  8. hibernate 双向n-n

    领域模型: 关系数据模型 双向 n-n 关联须要两端都使用集合属性 双向n-n关联必须使用连接表 集合属性应添加 key 子元素用以映射外键列, 集合元素里还应添加many-to-many子元素关联实 ...

  9. SQL入门学习4-复杂查询

    5-1 视图 视图和表 视图和表的区别只有一个是否保存了实际的数据 使用INSERT和SELECT实际上就是从存储设备中读取数据,各种计算后,将数据呈现给用户. 视图不会将数据保存在存储设备中.实际上 ...

  10. Cocos2d-x3.0 DrawNode吸取

    DrawNode正如它的绘图形状的节点,相互作用可以使将来更加灵活. DrawNode* DrawLayer::shape() { auto shape = DrawNode::create(); s ...