In a real time, we will not take Oracle database backup manually everyday. Some of the tasks can be automated like RMAN backups. In this post, we will see how to automate RMAN backup using shellscript and I personally use shellscript for import/export, rman backup and for monitoring alerts.
• Create Backup directory
• Create RMAN backup script file .sh
• Schedule Backup Under Crontab
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
1. Create directory structure:
Create a directory structure to hold RMAN backups pieces and all related files. All the RMAN backups, logs and backup scripts are kept in one directory. If you want to have a different directory structure, its complete up to your environment requirements
mkdir -p /u01/rmanbackup/PROD
2. Create RMAN backup script file:
Create RMAN backup script file in linux
vi /u01/rmanbackup/fulldb_backup.sh
3. Schedule Backup Under Crontab
Give execute permissions on the shell script by chmod
chmod 775 /u01/rmanbackup/fulldb_backup.sh
Now you can go ahead and schedule the backup under the crontab.
For example, we are scheduling backup to trigger at 1 am everyday.
crontab -e
0 1 * * * /u01/rmanbackup/fulldb_backup.sh
Crontab tool:
Crontab handy tool that I use to define when crontab will execute.