http://ist.uwaterloo.ca/~baumbach/ORACLE10g/rman.html
-- recovery files
select name, floor(space_limit / 1024 / 1024) "Size MB", ceil(space_used / 1024 / 1024) "Used MB" from v$recovery_file_dest order by name;
alter system set db_recovery_file_dest_size=190G scope=both
-- Initial step
create tablespace rman datafile '/u01/app/oracle/oradata/rmanrep/rman01.dbf' size 10m autoextend on next 5m;
create user rman identified by rman001 default tablespace rman;
grant resource, connect, recovery_catalog_owner to rman;
-bash-3.2$ rman catalog rman/rman001
RMAN> create catalog;
-bash-3.2$ rman target sys/password catalog rman/rman001
-bash-3.2$ rman target \" / as sysdba \" catalog rman/rman001
-- Configuration
RMAN> register database;
RMAN> configure retention policy to recovery window of 14 days;
RMAN> configure device type disk backup type to compressed backupset;
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
RMAN> CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1;
RMAN> CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1;
RMAN> show all;
RMAN > CONFIGURE RETENTION POLICY TO REDUNDANCY 3;
RMAN >CONFIGURE BACKUP OPTIMIZATION ON;
-- Usual operations
RMAN > delete archivelog all completed before 'sysdate -3';
RMAN > delete archivelog all completed before 'SYSDATE - 2/24';
RMAN > delete obsolete;
RMAN > crosscheck archivelog all;
RMAN > BACKUP AS COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG;
RMAN > BACKUP AS COMPRESSED BACKUPSET full database;
RMAN > BACKUP AS COMPRESSED BACKUPSET DATAFILE 1,5;
RMAN > backup database plus archivelog;
RMAN > restore database validate;
RMAN > delete noprompt obsolete;
RMAN > DELETE NOPROMPT EXPIRED BACKUP COMPLETED BEFORE 'SYSDATE-2';
cat /u01/app/oracle/admin/pfbask/backup_orcl.rman
run {
delete obsolete;
DELETE NOPROMPT EXPIRED BACKUP COMPLETED BEFORE 'SYSDATE-2';
delete expired archivelog all;
backup full database;
backup current controlfile;
backup spfile;
backup archivelog all;
sql 'alter system archive log current';
backup validate database archivelog all;
crosscheck archivelog all;
crosscheck backup;
}
-- recovery DB
SQL> Recover database using backup controlfile;
SQL> Alter database open resetlogs.
RUN
{
allocate channel oem_restore_disk type disk;
restore controlfile from autobackup recovery area='/u01/app/oracle/fast_recovery_area/' db_name='orcl';
RESTORE CONTROLFILE;
ALTER DATABASE MOUNT;
RESTORE DATABASE;
RECOVER DATABASE;
ALTER DATABASE OPEN RESETLOGS;
}
-- full resync on broken catalog
RMAN> SQL "ALTER SYSTEM ARCHIVE LOG CURRENT";
RMAN> list incarnation;
RMAN> reset database;
RMAN> RESYNC CATALOG;
-- backup by packs of files
ORA-19571: archived log RECID 517 STAMP 784514421 not found in control file
backup filesperset 20 (archivelog all delete input);
backup filesperset 40 (archivelog all);
SQL> show parameter control_file_record_keep_time;