欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oracle案例12——NBU Oracle恢复

程序员文章站 2022-03-23 12:28:26
最近在做NBU ORACLE备份的恢复测试,执行恢复时报错ORA-27211: Failed to load Media Management Library,具体处理过程如下:一、错误信息 执行命令: 报错信息: 二、错误原因 由于数据库的Lib库不包含NBU的库文件,所以执行rman恢复时报错 ......

最近在做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';