Let us we discuss about how to lost all files (control,data and parameter files)  and recover using Rman Backup

REQUIRED

Full Backup Loss -  All the Parameter ,Controlfiles, and Data files including system and sysaux

TAKE DATABASE FULL BACKUP

RMAN>BACKUP DATABASE PLUS ARCHIVELOG FORMAT "<lOC>"

Once you did the backup check the backup tag

RMAN>list backup of database summary;

back into DB create user and table insert values  in that.

SIMULATE FAILURE

find all control files ,data files locations

SQL>select name from V$controlfile;

SQL>select name from V$datafile;

DELETE CONTROL AND DATA FILES FROM DATABASE

I)remove data files

Oracle@Oracle11g~]$rm - rf  /u01/app/oracle/product/11.2.0.3/oradata/CA/*.dbf

II)remove control files

Oracle@Oracle11g~]$rm - rf  /u01/app/oracle/product/11.2.0.3/oradata/CA/*.ctl

START RECOVERY

kill db instance , if running you can do shut abort or kill pmon at os level

SQL> Shut abort

check the background process on your db

Oracle@Oracle11g~]$ps -ef | grep CA

oracle    4663     1  0 18:18 ?        00:00:00 ora_pmon_CA
oracle    4665     1  0 18:18 ?        00:00:00 ora_psp0_CA
oracle    4667     1  0 18:18 ?        00:00:01 ora_mman_CA
oracle    4669     1  0 18:18 ?        00:00:00 ora_dbw0_CA
oracle    4671     1  0 18:18 ?        00:00:03 ora_lgwr_CA
oracle    4673     1  0 18:18 ?        00:00:02 ora_ckpt_CA
oracle    4675     1  1 18:18 ?        00:00:11 ora_smon_CA
oracle    4677     1  0 18:18 ?        00:00:00 ora_reco_CA
oracle    4679     1  0 18:18 ?        00:00:01 ora_cjq0_CA
oracle    4681     1  0 18:18 ?        00:00:06 ora_mmon_CA
oracle    4683     1  0 18:18 ?        00:00:01 ora_mmnl_CA
oracle    4685     1  0 18:18 ?        00:00:00 ora_d000_CA
oracle    4687     1  0 18:18 ?        00:00:01 ora_d001_CA
oracle    4689     1  0 18:18 ?        00:00:00 ora_d002_CA
oracle    4691     1  0 18:18 ?        00:00:06 ora_s000_CA
oracle    4713     1  0 18:18 ?        00:00:00 ora_arc0_CA
oracle    4715     1  0 18:18 ?        00:00:02 ora_arc1_CA
oracle    4719     1  0 18:19 ?        00:00:00 ora_qmnc_CA
oracle    4735     1  0 18:19 ?        00:00:01 ora_q000_CA
oracle    4749     1  0 18:19 ?        00:00:00 ora_q001_CA
oracle    7631     1  1 18:30 ?        00:00:01 ora_j000_CA
oracle    7674  4613  0 18:32 pts/1    00:00:00 grep CA

KILL PMON PROCESS

$ kill -9 4663

CONNECT TO RMAN ALONG WITH CATALOG

RMAN>STARTUP FORCE NOMOUNT;
RMAN>RESTORE SPFILE FROM AUTOBACKUP;
RMAN>STARTUP FORCE NOMOUNT;
RMAN>RESTORE CONTROLFILE FROM AUTOBACKUP;
RMAN>SQL 'ALTER DATABASE MOUNT';
RMAN>RESTORE DATABASE FROM TAG "<TAG>";
RMAN>RECOVER DATABASE;
RMAN>SQL 'ALTER DATABASE OPEN RESETLOGS';

SPFILE AND CONTROL FILE RESTORE MANUALLY

RMAN>LIST BACKUP OF SPFILE SUMMARY;
RMAN>LIST BACKUP OF CONTROLFILE SUMMARY;

CHECK THE CONTROLFILE DETAILS UNDER THE BACKUP TAG FROM ABOVE COMMAND

RMAN>LIST BACKUP TAG<>;

IDENTIFY THE BACKUP PIECE WHICH HAS THE CONTROLFILE

RMAN>RESTORE SPFILE FROM <BACKUP PIECE LOCATION>;
RMAN>RESTORE CONTROLFILE FROM <BACKUP PIECE LOCATION>;

RECOVERY WITH MANUAL CHANNELS

The above-performed recovery needs monitoring and also the speed depends on on the automatic channels configured. You can allocate manual channels to speed up the recovery process using RMAN run block.

RUN{
allocate channel ch1 device type disk;
allocate channel ch2 device type disk;
startup force nomount;
restore spfile from autobackup;
startupo force nomount;
restore controlfile from autobackup;
sql 'alter database mount';
restore database from tag<tag>;
recover database;
sql 'alter database open RESETLOGS';
release channel ch1;
release channel ch2;
}