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

In this Document

  Cause


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/

posted @   seasonzone  阅读(601)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
点击右上角即可分享
微信分享提示