Oracle Rman Recover Skip (Forever) Tablespace

I did a participial recovery task, for the insufficient disk space, I cannot restore the entire database, but just several schemes.
"skip forever tablespace" option is necessary for the task.

The syntax is:

restore database skip forever tables tbs_index_01,  tbs_index_02,  tbs_index_03;

P.S. We can get the tablespace and datafile information from v$tablespace, v$datafile and choose the tablespaces to be skip .

The following description is from Oracle 10gR2 manual:
"SKIP [FOREVER] TABLESPACE Specifies tablespaces that should not be recovered, which is useful for avoiding recovery of tablespaces containing only temporary data or for postponing recovery of some tablespaces. The SKIP clause takes the datafiles in the specified tablespaces offline before starting media recovery. These files are left offline after the media recovery is complete.
If you perform incomplete recovery, then SKIP is not allowed. Instead, use SKIP FOREVER, with the intention of dropping the skipped tablespaces after opening the database with the RESETLOGS option. The SKIP FOREVER clause causes RMAN to take the datafiles offline with the DROP option. Only use SKIP FOREVER when the specified tablespaces will be dropped after opening the database."

In a word,

  • If I can do a complete recovery without resetlogs, SKIP option is enough.
  • Otherwise, incomplete recovery need SKIP FOREVER option to make the offline tablespaces and files marked as DROP. And will be actually droped when open database resetlogs executed.