Crontab : RMAN Backup
1 min readAutomate RMAN Backup using Shell Script In a real environment, you will not manually trigger all the Oracle database backups. You need an automated mechanism to trigger RMAN backups.
Create directory
On your database server, create a directory to hold RMAN backups and all related files. All the RMAN backups, logs and backup scripts are kept in one directory.
mkdir -p /u01/rman
Create RMAN backup script file Let us create the RMAN backup script file to trigger DB FULL backup vi /u01/rman/full_backup.sh
export ORACLE_SID=asrblg
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19/db
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
rman target / nocatalog log=/u01/rman/RMAN_backup.log << EOF
run
{
allocate channel ch1 device type disk;
allocate channel ch2 device type disk;
allocate channel ch3 device type disk;
allocate channel ch4 device type disk;
sql ‘ALTER SYSTEM ARCHIVE LOG CURRENT’;
configure retention policy to recovery window of 5 days;
CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 4;
CROSSCHECK BACKUP DEVICE TYPE DISK;
CROSSCHECK ARCHIVELOG ALL;
delete noprompt archivelog all backed up 1 times to device type disk;
backup incremental level 0 as compressed backupset database archivelog all tag weekly_Full_backup delete input;
DELETE NOPROMPT OBSOLETE;
DELETE NOPROMPT EXPIRED BACKUP;
release channel ch1;
release channel ch2;
release channel ch3;
release channel ch4;
}
EOF
Change the permission Give execute permissions on the shell script:
chmod 775 /u01/rman/full_backup.sh
Schedule RMAN backup on crontab Now you can go ahead and schedule the backup under the crontab. For example, we are scheduling backup to trigger at 2 am and 8 pm everyday.
crontab -e
00 02,20 * * * /u01/rman/full_backup.sh