NBU重新配置导致恢复不成功--Oracle和NBU的link

[root@SsevendbS01 rman]# su - oracle
[oracle@SsevendbS01 ~]$ rman target /

Recovery Manager: Release 11.2.0.3.0 - Production on Fri Sep 19 09:47:47 2014

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

connected to target database: sevendb (not mounted)

RMAN> restore controlfile from ‘/usr/openv/rman/control.sevendb‘;

Starting restore at 19-SEP-14
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=461 device type=DISK

channel ORA_DISK_1: copied control file copy
output file name=/oradata/sevendb/control01.ctl
output file name=/oradata/sevendb/control02.ctl
Finished restore at 19-SEP-14

RMAN> alter database mount;

database mounted
released channel: ORA_DISK_1

RMAN> list incarnation of database;


List of Database Incarnations
DB Key  Inc Key DB Name  DB ID            STATUS  Reset SCN  Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1       1       sevendb    1917838411       PARENT  1          25-OCT-12
2       2       sevendb    1917838411       CURRENT 7906931    17-JAN-13

RMAN> run {
2> set until time "to_date (‘09/18/2014 18:30:00‘, ‘MM/DD/YYYY HH24:MI:SS‘ )";
3> allocate channel c1 type sbt;
4> send ‘NB_ORA_CLIENT=PsevendbS01‘ ;
5> restore database;
6> recover database;
7> release channel c1;
8> }

executing command: SET until clause

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of allocate command on c1 channel at 09/19/2014 09:48:27
ORA-19554: error allocating device, device type: SBT_TAPE, device name: 
ORA-27211: Failed to load Media Management Library
Additional information: 2

RMAN>



[oracle@SsevendbS01 trace]$ cat sevendb_ora_13171.trc
Trace file /oracle/app/oracle/diag/rdbms/sevendb/sevendb/trace/sevendb_ora_13171.trc
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORACLE_HOME = /oracle/app/oracle/product/11.2.0/dbhome_1
System name:    Linux
Node name:      SsevendbS01
Release:        2.6.18-194.el5
Version:        #1 SMP Tue Mar 16 21:52:39 EDT 2010
Machine:        x86_64
Instance name: sevendb
Redo thread mounted by this instance: 1
Oracle process number: 23
Unix process pid: 13171, image: oracle@SsevendbS01 (TNS V1-V3)


*** 2014-09-19 10:04:04.632
*** SESSION ID:(461.19) 2014-09-19 10:04:04.632
*** CLIENT ID:() 2014-09-19 10:04:04.632
*** SERVICE NAME:() 2014-09-19 10:04:04.632
*** MODULE NAME:(rman@SsevendbS01 (TNS V1-V3)) 2014-09-19 10:04:04.632
*** ACTION NAME:(0000001 STARTED1) 2014-09-19 10:04:04.632
 
SKGFQ OSD: Error in function sbtinit on line 2734
SKGFQ OSD: Look for SBT Trace messages in file /oracle/app/oracle/diag/rdbms/sevendb/sevendb/trace/sbtio.log
SBT Initialize failed for oracle.static
[oracle@SsevendbS01 trace]$ which sbttest
/oracle/app/oracle/product/11.2.0/dbhome_1/bin/sbttest
[oracle@SsevendbS01 lib]$ sbttest /etc/hosts
The sbt function pointers are loaded from oracle.static library.
libobk.so could not be loaded.  Check that it is installed

查了很多资料发现:
导致上述结果的原因是Oracle没有和NBU做链接,
cd $ORACLE_HOME/lib
ln /usr/openv/netbackup/bin/libobk.so
操作后重新测试SBTTEST:
[oracle@SsevendbS01 lib]$ 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.5 (2013061020)
sbtinit: allocated sbt context area of 8 bytes
sbtinit: proxy copy is supported
-- sbtinit2 succeeded
-- regular_backup_restore starts ................................
OK,配置成功。



[oracle@SsevendbS01 lib]$ ls -lrt /oracle/app/oracle/product/11.2.0/dbhome_1/lib/libobk.so64 
ls: /oracle/app/oracle/product/11.2.0/dbhome_1/lib/libobk.so64: No such file or directory
[oracle@SsevendbS01 lib]$ 
[oracle@SsevendbS01 lib]$ 
[oracle@SsevendbS01 lib]$ pwd
/oracle/app/oracle/product/11.2.0/dbhome_1/lib
[oracle@SsevendbS01 lib]$ cp /usr/openv/netbackup/bin/libobk.so64 libobk.so64
[oracle@SsevendbS01 lib]$ pwd
/oracle/app/oracle/product/11.2.0/dbhome_1/lib
[oracle@SsevendbS01 lib]$ ls -lrt /oracle/app/oracle/product/11.2.0/dbhome_1/lib/libobk.so64 
-r-xr-xr-x 1 oracle oinstall 1511982 Sep 19 10:03 /oracle/app/oracle/product/11.2.0/dbhome_1/lib/libobk.so64
[oracle@SsevendbS01 lib]$ 
[oracle@SsevendbS01 lib]$ 
[oracle@SsevendbS01 lib]$ rman target /

Recovery Manager: Release 11.2.0.3.0 - Production on Fri Sep 19 10:04:01 2014

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

connected to target database: sevendb (DBID=1917838411, not open)

RMAN> run {
2> set until time "to_date (‘09/18/2014 18:30:00‘, ‘MM/DD/YYYY HH24:MI:SS‘ )";
3> allocate channel c1 type sbt;
4> send ‘NB_ORA_CLIENT=PsevendbS01‘;
5> restore database;
6> recover database;
7> release channel c1;
8> }

executing command: SET until clause

using target database control file instead of recovery catalog
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of allocate command on c1 channel at 09/19/2014 10:04:04
ORA-19554: error allocating device, device type: SBT_TAPE, device name: 
ORA-27211: Failed to load Media Management Library
Additional information: 2

RMAN> exit


Recovery Manager complete.

[oracle@SsevendbS01 lib]$ mv libobk.so64 libobk.so
需要将libobk.so64改为libobk.so。
[oracle@SsevendbS01 lib]$ rman target /

Recovery Manager: Release 11.2.0.3.0 - Production on Fri Sep 19 10:04:26 2014

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

connected to target database: sevendb (DBID=1917838411, not open)

RMAN> run {
2> set until time "to_date (‘09/18/2014 18:30:00‘, ‘MM/DD/YYYY HH24:MI:SS‘ )";
3> allocate channel c1 type sbt;
4> send ‘NB_ORA_CLIENT=PsevendbS01‘;
5> restore database;
6> recover database;
7> release channel c1;
8> }

executing command: SET until clause

using target database control file instead of recovery catalog
allocated channel: c1
channel c1: SID=461 device type=SBT_TAPE
channel c1: Veritas NetBackup for Oracle - Release 7.5 (2013061020)

sent command to channel: c1

Starting restore at 19-SEP-14

channel c1: starting datafile backup set restore
channel c1: specifying datafile(s) to restore from backup set
channel c1: restoring datafile 00002 to /oradata/sevendb/sysaux01.dbf
channel c1: restoring datafile 00004 to /oradata/sevendb/users01.dbf
channel c1: restoring datafile 00005 to /oradata/sevendb/tivoliorts01.dbf
channel c1: restoring datafile 00006 to /oradata/sevendb/TS_CIM_DATA_01.dbf
channel c1: restoring datafile 00009 to /oradata/sevendb/TS_ETL_IND_01.dbf
channel c1: reading from backup piece bk_4975_1_858258002
channel c1: ORA-19870: error while restoring backup piece bk_4975_1_858258002
ORA-19507: failed to retrieve sequential file, handle="bk_4975_1_858258002", parms=""
ORA-27029: skgfrtrv: sbtrestore returned error
ORA-19511: Error received from media manager layer, error text:
   Backup file <bk_4975_1_858258002> not found in NetBackup catalog

channel c1: starting datafile backup set restore
channel c1: specifying datafile(s) to restore from backup set
channel c1: restoring datafile 00001 to /oradata/sevendb/system01.dbf
channel c1: restoring datafile 00003 to /oradata/sevendb/undotbs01.dbf
channel c1: restoring datafile 00007 to /oradata/sevendb/TS_CIM_IND_01.dbf
channel c1: restoring datafile 00008 to /oradata/sevendb/TS_ETL_DATA_01.dbf
channel c1: reading from backup piece bk_4976_1_858258148
channel c1: ORA-19870: error while restoring backup piece bk_4976_1_858258148
ORA-19507: failed to retrieve sequential file, handle="bk_4976_1_858258148", parms=""
ORA-27029: skgfrtrv: sbtrestore returned error
ORA-19511: Error received from media manager layer, error text:
   Backup file <bk_4976_1_858258148> not found in NetBackup catalog

failover to previous backup

channel c1: starting datafile backup set restore
channel c1: specifying datafile(s) to restore from backup set
channel c1: restoring datafile 00002 to /oradata/sevendb/sysaux01.dbf
channel c1: restoring datafile 00004 to /oradata/sevendb/users01.dbf
channel c1: restoring datafile 00005 to /oradata/sevendb/tivoliorts01.dbf
channel c1: restoring datafile 00006 to /oradata/sevendb/TS_CIM_DATA_01.dbf
channel c1: restoring datafile 00009 to /oradata/sevendb/TS_ETL_IND_01.dbf
channel c1: reading from backup piece bk_4894_1_857653202
channel c1: ORA-19870: error while restoring backup piece bk_4894_1_857653202
ORA-19507: failed to retrieve sequential file, handle="bk_4894_1_857653202", parms=""
ORA-27029: skgfrtrv: sbtrestore returned error
ORA-19511: Error received from media manager layer, error text:
   Backup file <bk_4894_1_857653202> not found in NetBackup catalog

channel c1: starting datafile backup set restore
channel c1: specifying datafile(s) to restore from backup set
channel c1: restoring datafile 00001 to /oradata/sevendb/system01.dbf
channel c1: restoring datafile 00003 to /oradata/sevendb/undotbs01.dbf
channel c1: restoring datafile 00007 to /oradata/sevendb/TS_CIM_IND_01.dbf
channel c1: restoring datafile 00008 to /oradata/sevendb/TS_ETL_DATA_01.dbf
channel c1: reading from backup piece bk_4895_1_857653337

以上报错提示找不到备份片,通常此等报错均是跟NBU的media server有关,通过查看/etc/hosts 和 bp.conf 发现没有问题,最终将问题定位到NB_ORA_CLIENT=PsevendbS01上,查看NBU备份脚本,其中client为PsevendbS而不是PsevendbS01,更改恢复脚本后,恢复成功。


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。