RMANを使用してバックアップからデータベースを復元しようとすると、次のエラーメッセージが表示されます。
rman target /
RMAN> set dbid=130474031
RMAN> configure device type 'sbt_tape' clear;
RMAN> startup nomount;
RMAN> restore controlfile from autobackup;
RMAN> sql 'alter database mount';
RMAN> restore database;
Starting restore at 22-DEC-15
using channel ORA_DISK_1
creating datafile fno=1 name=/opt/Oracle/oradata/prod/system01.dbf
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 12/22/2015 12:47:01
ORA-01180: can not create datafile 1
ORA-01110: data file 1: '/opt/Oracle/oradata/prod/system01.dbf'
RMAN>
[〜#〜]編集[〜#〜]
RMAN> restore database;
Starting restore at 22-DEC-15
using channel ORA_DISK_1
creating datafile fno=1 name=/opt/Oracle/oradata/prod/system01.dbf
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 12/22/2015 14:22:01
ORA-01180: can not create datafile 1
ORA-01110: data file 1: '/opt/Oracle/oradata/prod/system01.dbf'
RMAN> exit
Recovery Manager complete.
[Oracle@DR-Corebank ~]$ id
uid=501(Oracle) gid=501(oinstall) groups=501(oinstall),502(dba)
[Oracle@DR-Corebank ~]$ cd /opt/Oracle/oradata/prod/
[Oracle@DR-Corebank prod]$ touch aaa
[Oracle@DR-Corebank prod]$ ls -ltr
total 875772
-rw-r----- 1 Oracle oinstall 298631168 Dec 22 14:22 control03.ctl
-rw-r----- 1 Oracle oinstall 298631168 Dec 22 14:22 control02.ctl
-rw-r----- 1 Oracle oinstall 298631168 Dec 22 14:22 control01.ctl
-rw-r--r-- 1 Oracle oinstall 0 Dec 22 14:22 aaa
[Oracle@DR-Corebank prod]$ pwd
/opt/Oracle/oradata/prod
[Oracle@DR-Corebank prod]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/cciss/c0d0p3 1.1T 163G 850G 17% /
/dev/cciss/c0d0p1 244M 18M 213M 8% /boot
tmpfs 7.9G 0 7.9G 0% /dev/shm
/dev/mapper/mpath0 493G 248M 467G 1% /opt/Oracle2/u002
元々質問に編集された(および Balazs Papp によるコメントに基づく)自己回答からのコミュニティWiki回答。
私は化身を忘れました:
RMAN> list incarnation;
List of Database Incarnations
DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1 1 PROD 130474031 PARENT 1 10-MAY-10
2 2 PROD 130474031 PARENT 195833299 21-OCT-10
3 3 PROD 130474031 PARENT 3655020271 06-OCT-12
4 4 PROD 130474031 PARENT 3655121615 08-OCT-12
5 5 PROD 130474031 CURRENT 5588371557 19-OCT-14
RMAN> reset database to incarnation 4;
database reset to incarnation 4
RMAN> restore database;
Starting restore at 22-DEC-15
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=10993 devtype=DISK
creating datafile fno=3 name=/opt/Oracle/oradata/prod/sysaux01.dbf
creating datafile fno=4 name=/opt/Oracle/oradata/prod/users01.dbf
これで問題は解決しました。
私の場合、復元が成功する前にバックアップをクロスチェックする必要がありました。どういうわけか、そのステータスはEXPIRED
でした。
このディレクトリ/opt/Oracle/oradata/prod/
存在し、Oracleユーザーはこのディレクトリに必要な権限を持っています