zoukankan      html  css  js  c++  java
  • Oracle案例12——NBU Oracle恢复

    最近在做NBU ORACLE备份的恢复测试,执行恢复时报错ORA-27211: Failed to load Media Management Library,具体处理过程如下:
    一、错误信息

    执行命令:

    run {
    ALLOCATE CHANNEL ch00 TYPE SBT_TAPE;
    send 'NB_ORA_CLIENT=192.168.x.x';
    send 'NB_ORA_SERV=nbu5230';
    restore controlfile from '/ctrl_dTESTDB_u0at7lkpa_s10_p1_t981127978';
    release channel ch00;
    }

    报错信息:

    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03009: failure of allocate command on ch00 channel at 07/10/2018 16:16:09
    ORA-19554: error allocating device, device type: SBT_TAPE, device name:
    ORA-27211: Failed to load Media Management Library
    Additional information: 2

    二、错误原因

    由于数据库的Lib库不包含NBU的库文件,所以执行rman恢复时报错

    三、解决方案

    将NBU的库文件放入Oracle库文件目录下即可

    [oracle@node1 oracle]$ ln -s /usr/openv/netbackup/bin/libobk.so64  /U01/app/oracle/product/11.2.0.4/lib/libobk.so
    [oracle@node1 oracle]$ sbttest /etc/hosts

    [oracle@node1 oracle]$ sbttest /etc/hosts
    The sbt function pointers are loaded from libobk.so library.
    -- sbtinit succeeded
    -- sbtinit (2nd time) succeeded
    sbtinit: Media manager supports SBT API version 2.0
    sbtinit: Media manager is version 5.0.0.0
    sbtinit: vendor description string=Veritas NetBackup for Oracle - Release 7.7.2 (2016011116)
    sbtinit: allocated sbt context area of 8 bytes
    sbtinit: proxy copy is supported
    -- sbtinit2 succeeded
    -- regular_backup_restore starts ................................

    四、知识扩展

    1.NBU数据库恢复脚本

    run {
    
    allocate channel t1 type 'sbt_tape';
    
    allocate channel t2 type 'sbt_tape';
    
    allocate channel t3 type 'sbt_tape';
    
    send 'NB_ORA_CLIENT=192.168.x.x';
    
    send 'NB_ORA_SERV=nbu5230';
    
    set until sequence 12 thread 1;
    
    restore database;
    
    #switch datafile all;
    
    recover database;
    
    release channel t1;
    
    release channel t2;
    
    release channel t3;
    
    }

    2.归档日志恢复

    run {
    
    allocate channel t1 type 'sbt_tape';
    
    allocate channel t2 type 'sbt_tape';
    
    send 'NB_ORA_CLIENT=192.168.x.x';
    
    send 'NB_ORA_SERV=nbu5230';
    
    restore archivelog from sequence 8 until sequence 12 INCARNATION ALL;
    
    release channel t1;
    
    release channel t2;
    
    }

    3.其他恢复

    更改还原路径:
    
    RMAN> set archivelog destination to '/u01/backup';
    
    还原全部备份归档:
    
    RMAN> restore archivelog all;
    
    归档日志范围恢复:
    
    RMAN> restore archivelog from sequence 8 until sequence 12;
    
    RMAN> restore archivelog sequence between 8 and 12;
    
    从低sequence开始恢复:
    
    RMAN> restore archivelog from sequence 5;
    
    RMAN> restore archivelog low sequence 5;
    
    从高sequnece截止恢复:
    
    RMAN> restore archivelog until sequence 110;
    
    RMAN> restore archivelog high sequence 108;
    
    按时间恢复:
    
    RMAN> restore archivelog from time 'sysdate-7';
  • 相关阅读:
    sourcetree 一次使用bug记录 和 解决方案
    update sql时,常记错同时更新多个参数用and,正确是用逗号
    select 1 from 是什么意思?有什么作用?
    分享一篇:sql语句中使用子查询,可能会引起查询的性能问题,查询时间会变长
    javascript 用cdn方式解决IE浏览器不兼容ES6语法的问题。
    vue单文件组件打包,生成js,可以通过cdn的方式引入提供给他人用,也可上传npm, 通过npm 安装(记录防丢)
    git 解决每次提交代码都需要输入用户名,密码的问题。
    python--__call__、__doc__、__str__
    python--属性方法、类方法、静态方法
    python--封装
  • 原文地址:https://www.cnblogs.com/rangle/p/9293378.html
Copyright © 2011-2022 走看看