1. RMAN FULL COLD Backup.
rman target / catalog rman/rman@prman
run
{
STARTUP FORCE DBA;
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
BACKUP INCREMENTAL LEVEL 0 DATABASE include current controlfile;
ALTER DATABASE OPEN;
}
2. RMAN Incremental COLD Backup.
rman target / catalog rman/rman@prman
run
{
STARTUP FORCE DBA;
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
BACKUP INCREMENTAL LEVEL 1 DATABASE include current controlfile;
ALTER DATABASE OPEN;
}
3. RMAN Duplicate to restore the cold backup to a different server with a different Name.
rman target sys/password@
RMAN> connect auxiliary /
run
{
ALLOCATE AUXILIARY CHANNEL ch00 TYPE 'SBT_TAPE';
SEND 'NB_ORA_SERV=
set newname for datafile 1 to '/uXX/oradata/
set newname for datafile 2 to '/uXX/oradata/
set newname for datafile 3 to '/uXX/oradata/
set newname for datafile 4 to '/uXX/oradata/
set newname for tempfile 1 to '/uXX/oradata/
duplicate target database to
LOGFILE
GROUP 1 ('/uXX/oradata/
GROUP 2 ('/uXX/oradata/
GROUP 3 ('/uXX/oradata/
release channel ch00;
}
RMAN Duplicate for a cold backup will automatically use "Recover NOREDO", since it knows that its a cold backup and hence does not look for online-redo-logs.
4. Restore the database to the same server.
run
{
ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
SEND 'NB_ORA_SERV=
#set until time "to_date('18-JUN-08 11:56:38','DD-MON-YY HH24:MI:SS')";
restore controlfile;
sql 'alter database mount';
restore database;
recover database noredo; ==> This is to tell RMAN that its a cold backup restore
and do not look for online-redo-logs.
}