• 如何使用 RMAN 异构恢复一些表空间


    在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。


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

  • 相关阅读:
    一些点子的梳理
    网络安全解决方案
    流量劫持技术
    运营商DNS系统安全解决方案
    安卓工作室 设置每次启动 选择项目,不直接打开项目
    多臂机测试, AB测试
    vue 入门
    web开发 入门
    C# .NET 使用第三方类库DotNetZip解压/压缩Zip文件
    Linq 101 工具和源码
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4752233.html
Copyright © 2020-2023  润新知