A small script for taking cold backups of an Oracle Database with RMAN. You have to shutdown your database before running this script. You can use “shutdown immediate” for Single Instances or “srvctl stop database -d mydb” for RAC environments. After the script finished execution the database must be started.
#!/bin/bash
rman target /<<RMAN01
startup mount;
CONFIGURE RETENTION POLICY TO REDUNDANCY 7;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/opt/backup/%d/%F';
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO COMPRESSED BACKUPSET;
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/opt/backup/%d/%T_%d_%s_%U.bak';
crosscheck archivelog all;
crosscheck backupset;
delete noprompt obsolete;
backup as compressed backupset database plus archivelog delete all input;
shutdown immediate;
exit;
RMAN01
CONFIGURE RETENTION POLICY TO REDUNDANCY 7;
There will be at least 7 newer backups before the backup gets obsolete.
CONFIGURE CONTROLFILE AUTOBACKUP ON;
Autobackup Controlfile.
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO ‘/opt/backup/%d/%F’;
Path and filenameformat for the controlfile.
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO COMPRESSED BACKUPSET;
Compress the backup.
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT ‘/opt/backup/%d/%T_%d_%s_%U.bak’;
Path and filenameformat for the backupfile.