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

In this Document

  Symptoms
  Cause
  Solution


APPLIES TO:

Oracle Database - Enterprise Edition - Version 9.2.0.1 and later
Information in this document applies to any platform.
***Checked for relevance on 16-Apr-2014***

SYMPTOMS

RMAN restore fails with errors like the following:

creating datafile fno=1 name=/u01/system01.dbf
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 01/01/2010 00:00:01
ORA-01180: can not create datafile 1
ORA-01110: data file 1: '/u01/system01.dbf'

 

This error can happen for any datafiles. However, it is a major concern if it is datafile 1. Datafile 1 is the system datafile. It cannot be CREATED during an RMAN restore. It must RESTORED from a backup. Therefore we must look to see why it cannot be restored in the first place.

Often the  error is not a problem with RMAN unable to write to the destination drive as one might think by looking at the error message "can not create datafile 1".

CAUSE

 

There are no backups available for use

OR

The current incarnation is not set correctly

 

 

 

SOLUTION

Check the database's incarnation and observe the backup time. Do you have available backups to use? Is the incarnation set correctly?

Confirm that the incarnation and backup:

RMAN> list incarnation of database;
RMAN> list backup of datafile 1;
RMAN> list copy of datafile 1;
RMAN> list backup summary;


1) Are the backups available for use?


RMAN> list backup of datafile 1;


List of Backup Sets
===================

BS Key  Type LV Size       Device Type Elapsed Time Completion Time     
------- ---- -- ---------- ----------- ------------ --------------------
138     Full    531.25M    DISK        00:00:00     13 FEB 2015 14:31:35
        BP Key: 136   Status: AVAILABLE  Compressed: NO  Tag: TAG20150213T143135
        Piece Name: /opt/app/oracle/fra/ORA102/backupset/2015_02_13/o1_mf_nnndf_TAG20150213T143135_bftw0r14_.bkp
  List of Datafiles in backup set 138
  File LV Type Ckp SCN    Ckp Time             Name
  ---- -- ---- ---------- -------------------- ----
  1       Full 25207062   13 FEB 2015 14:31:35 /opt/app/oracle/oradata/ORA102/system01.dbf

 

Instead the error is lack of backup (level 0, full or copy) of the datafile. If the backup is in status EXPIRED, then run crosscheck on the backup set key to see if it still exists:

 

RMAN> crosscheck backupset 138;


If found, the status will be updated to AVAILABLE.
If the status is still EXPIRED after running crosscheck then the backup you need no longer physically exists.

 

2) Check the CURRENT Incarnation

If a backup is Available for use, but the restore still fails, then check the incarnation. Has it been set correctly?

Consider the following:

RMAN> list backup of datafile 1;


List of Backup Sets
===================

BS Key  Type LV Size       Device Type Elapsed Time Completion Time     
------- ---- -- ---------- ----------- ------------ --------------------
138     Full    531.25M    DISK        00:00:00     13 FEB 2015 14:31:35
        BP Key: 136   Status: AVAILABLE  Compressed: NO  Tag: TAG20150213T143135
        Piece Name: /opt/app/oracle/fra/ORA102/backupset/2015_02_13/o1_mf_nnndf_TAG20150213T143135_bftw0r14_.bkp
  List of Datafiles in backup set 138
  File LV Type Ckp SCN    Ckp Time             Name
  ---- -- ---- ---------- -------------------- ----
  1       Full 25207062   13 FEB 2015 14:31:35 /opt/app/oracle/oradata/ORA102/system01.dbf

BS Key  Type LV Size       Device Type Elapsed Time Completion Time     
------- ---- -- ---------- ----------- ------------ --------------------
139     Full    531.32M    DISK        00:00:00     13 FEB 2015 14:09:34
        BP Key: 137   Status: AVAILABLE  Compressed: NO  Tag: TAG20150213T140934
        Piece Name: /opt/app/oracle/fra/ORA102/backupset/2015_02_13/o1_mf_nnndf_TAG20150213T140934_bfttqhh6_.bkp
  List of Datafiles in backup set 139
  File LV Type Ckp SCN    Ckp Time             Name
  ---- -- ---- ---------- -------------------- ----
  1       Full 25206825   13 FEB 2015 14:09:34 /opt/app/oracle/oradata/ORA102/system01.dbf

 

RMAN> list incarnation of database;


List of Database Incarnations
DB Key  Inc Key DB Name  DB ID            STATUS  Reset SCN  Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1       1       ORA102   400119926        CURRENT 1          19 MAR 2012 15:29:58
2       2       ORA102   400119926        ORPHAN  5766931    04 OCT 2012 15:37:51
3       3       ORA102   400119926        ORPHAN  5768164    16 OCT 2012 15:33:09
...
9       9       ORA102   400119926        ORPHAN  25204629   13 FEB 2015 13:03:55
10      10      ORA102   400119926        ORPHAN  25205038   13 FEB 2015 13:35:57
11      11      ORA102   400119926        ORPHAN  25206695   13 FEB 2015 14:09:07
13      13      ORA102   400119926        ORPHAN  25206882   13 FEB 2015 14:16:24
14      14      ORA102   400119926        ORPHAN  25206882   13 FEB 2015 14:43:32
12      12      ORA102   400119926        ORPHAN  25206883   13 FEB 2015 14:30:54

 

To restore backup tag taken on 13 FEB 2015 14:09:34, (TAG20150213T140934), you must reset the incarnation to 11 before performing the the restore.

 RMAN> reset database to incarnation 11;

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

原文地址:https://www.cnblogs.com/seasonzone/p/8624743.html