zoukankan      html  css  js  c++  java
  • 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,更改恢复脚本后,恢复成功。
  • 相关阅读:
    感悟.学习的方式
    IOS地理信息使用
    IOSTimer的例子留个备注
    IOSSelector的用法
    ios中addtarget的用法
    ios绘图时的坐标处理
    mac下装Ruby
    iOSbase64
    ios跳转
    Misha and Palindrome Degree CodeForces
  • 原文地址:https://www.cnblogs.com/feiyun8616/p/9234479.html
Copyright © 2011-2022 走看看