最近在做 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';
来源: http://www.linuxidc.com/Linux/2018-11/155307.htm