RMAN restore fails with ORA-01180: can not create datafile 1 (文档 ID 1265151.1)
In this Document
APPLIES TO:
Oracle Database - Enterprise Edition - Version 9.2.0.1 and laterInformation in this document applies to any platform.
***Checked for relevance on 16-Apr-2014***
SYMPTOMS
RMAN restore fails with errors like the following:
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 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:
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.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .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吗?