RMAN restore fails with ORA-01180: can not create datafile 1 (文档 ID 1265151.1)

 

http://blog.itpub.net/26655292/viewspace-2131269/

 

########Q&A

issue1:
ORA-01180: can not create datafile 1
ORA-01110: data file 1: ‘/u01/system01.dbf’

solution:
rman target / catalog rman11g/rman11g@cat11g

 

 

##########

[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,更改恢复脚本后,恢复成功。

    原文作者:feiyun8616
    原文地址: https://www.cnblogs.com/feiyun8616/p/9234479.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞