Oracle RMAN还原失败显示 ORA-01180: can not create datafile 1

 

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com

ORA-01180
oerr ora 1180
01180, 00000, "can not create datafile 1"
// *Cause:  Attempting to create datafile 1 using ALTER DATABASE CREATE
//          DATAFILE.
// *Action: Recover file from a backup or recreate database.

适用于:

Oracle Database – Enterprise Edition – 版本9.2.0.1 及以上
本文信息适用于任何平台。
***于16-Apr-2014检查相关性***

症状

RMAN 还原失败显示错误如下:

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’

 

这种错误可能对任何数据文件出现。然而,如果它是数据文件1就是关键问题,因为数据文件1是系统数据文件。它无法在RMAN还原过程中被创建。它必须从备份中还原。因此,我们必须看看它为什么不能首先被还原。

通常情况下,通过查看错误信息”can not create datafile 1″,有人可能认为RMAN无法写入目标驱动器这样的错误不是问题。

原因

 

没有可使用的备份

当前incarnation未正确设置

 

 

 

解决方案

检查数据库的incarnation并观察备份时间。你是否有可以使用的备份?是否正确设置了incarnation?

确认incarnation 和备份:

RMAN> list incarnation of database;
RMAN> list backup of datafile 1;
RMAN> list copy of datafile 1;
RMAN> list backup summary;
1) 是否有可以使用的备份?
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

 

实际上,错误是缺少数据文件的备份(level 0, full或 copy)。如果备份的状态是EXPIRED,则对备份集键运行crosscheck 查看它是否存在:

 

RMAN> crosscheck backupset 138;
如果存在,状态将会被更新为AVAILABLE。
如果在运行crosscheck后状态仍为EXPIRED,则你需要的备份在物理上不存在。

 

2) 检查当前的Incarnation

如果备份可用,则检查incarnation。它是否被正确设置?

查看以下:

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

 

要还原在13 FEB 2015 14:09:34进行的备份标签 (TAG20150213T140934),你必须在执行还原之前将incarnation重置为11 。

RMAN> reset database to incarnation 11;

Comment

*

沪ICP备14014813号-2

沪公网安备 31010802001379号