Version: 11.2.0.3
Platform : Solaris 10
For a very basic DB, I was restoring the datafiles and tempfile to a new location. Below is the restore log.
The datafiles got restored succesfully. I verified it at OS level using ls command.
But tempfile is not restored from the RMAN backup. Is it normal , tempfiles not getting restored ? Control file thinks that the tempfile is there in the new location , so , a query on v$tempfile returns the new location. But the file is physically not present there !
Although you see error during restore below , you can see that it being failed over to the same backup piece which is cataloged in a different location
errors found reading piece handle=/u01/RMAN_bkp/BKP_sntcdev/sntcdev_full_07njqj6j_1_1_20120828.rmbk
Log from my restore
=======================
$ cat restore.txt
run
{
set newname for database to '/u01/app/CLONE1/oradata/sntcdev/%b' ;
set newname for tempfile '/u01/app/oradata/sntcdev/temp01.dbf' to '/u01/app/CLONE1/oradata/sntcdev/temp01.dbf' ;
restore database;
switch datafile all;
switch tempfile all;
}
$
$
$
$ rman target / cmdfile=restore.txt
Recovery Manager: Release 11.2.0.3.0 - Production on Sun Sep 16 00:59:45 2012
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: sntcdev (DBID=2498462290, not open)
RMAN> run
2> {
3> set newname for database to '/u01/app/CLONE1/oradata/sntcdev/%b' ;
4> set newname for tempfile '/u01/app/oradata/sntcdev/temp01.dbf' to '/u01/app/CLONE1/oradata/sntcdev/temp01.dbf' ;
5> restore database;
6> switch datafile all;
7> switch tempfile all;
8> }
9>
10>
executing command: SET NEWNAME
executing command: SET NEWNAME
Starting restore at 16-SEP-12
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=20 device type=DISK
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /u01/app/CLONE1/oradata/sntcdev/system01.dbf
channel ORA_DISK_1: restoring datafile 00002 to /u01/app/CLONE1/oradata/sntcdev/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /u01/app/CLONE1/oradata/sntcdev/undotbs01.dbf
channel ORA_DISK_1: restoring datafile 00004 to /u01/app/CLONE1/oradata/sntcdev/users01.dbf
channel ORA_DISK_1: restoring datafile 00005 to /u01/app/CLONE1/oradata/sntcdev/example01.dbf
channel ORA_DISK_1: restoring datafile 00006 to /u01/app/CLONE1/oradata/sntcdev/cisdata01.dbf
channel ORA_DISK_1: reading from backup piece /u01/RMAN_bkp/BKP_sntcdev/sntcdev_full_07njqj6j_1_1_20120828.rmbk
channel ORA_DISK_1: errors found reading piece handle=/u01/RMAN_bkp/BKP_sntcdev/sntcdev_full_07njqj6j_1_1_20120828.rmbk
channel ORA_DISK_1: failover to piece handle=/u01/CATALOGTST/rmanBkpPieces/sntcdev_full_07njqj6j_1_1_20120828.rmbk tag=TAG20120828T234834
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:02:58
Finished restore at 16-SEP-12
datafile 1 switched to datafile copy
input datafile copy RECID=8 STAMP=794106165 file name=/u01/app/CLONE1/oradata/sntcdev/system01.dbf
datafile 2 switched to datafile copy
input datafile copy RECID=9 STAMP=794106166 file name=/u01/app/CLONE1/oradata/sntcdev/sysaux01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=10 STAMP=794106166 file name=/u01/app/CLONE1/oradata/sntcdev/undotbs01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=11 STAMP=794106166 file name=/u01/app/CLONE1/oradata/sntcdev/users01.dbf
datafile 5 switched to datafile copy
input datafile copy RECID=12 STAMP=794106166 file name=/u01/app/CLONE1/oradata/sntcdev/example01.dbf
datafile 6 switched to datafile copy
input datafile copy RECID=13 STAMP=794106166 file name=/u01/app/CLONE1/oradata/sntcdev/cisdata01.dbf
renamed tempfile 1 to /u01/app/CLONE1/oradata/sntcdev/temp01.dbf in control file
Recovery Manager complete.
$
$
$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Sun Sep 16 01:04:46 2012
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/u01/app/CLONE1/oradata/sntcdev/system01.dbf
/u01/app/CLONE1/oradata/sntcdev/sysaux01.dbf
/u01/app/CLONE1/oradata/sntcdev/undotbs01.dbf
/u01/app/CLONE1/oradata/sntcdev/users01.dbf
/u01/app/CLONE1/oradata/sntcdev/example01.dbf
/u01/app/CLONE1/oradata/sntcdev/cisdata01.dbf
6 rows selected.
-----------------------> Control file thinks the tempfile is present here !
SQL> col name format a65
SQL> select name, FILE#, RFILE# from v$tempfile;
NAME FILE# RFILE#
----------------------------------------------------------------- ---------- ----------
/u01/app/CLONE1/oradata/sntcdev/temp01.dbf 1 1
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
$
$ ls -alrt /u01/app/CLONE1/oradata/sntcdev/temp01.dbf
/u01/app/CLONE1/oradata/sntcdev/temp01.dbf: No such file or directory
$
$
$