千家信息网

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

发表于:2024-11-15 作者:千家信息网编辑
千家信息网最后更新 2024年11月15日,In this DocumentSymptomsCauseSolutionAPPLIES TO:Oracle Database - Enterprise Edition - Version 9.2.0
千家信息网最后更新 2024年11月15日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_bfttqhh7_.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;

0