Các bước thực hiện: Rman backup database tự động sử dụng Script shell và crontab Oracle database 19c
- Tạo file script backup và phân quyền thực thi file
- Thêm vào crontab
- Thực thi backup tự động
Tạo file backup script:
cd
vi backup_rman_auto.sh
export ORACLE_SID=duodb export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1 export PATH=/usr/sbin:$PATH export PATH=$ORACLE_HOME/bin:$PATH rman target / nocatalog log=/home/oracle/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
Phân quyền thực thi file:
chmod 744 backup_rman_auto.sh
Cấu hình crontab chạy tự động lúc 11:00 PM hàng ngày:
Check crontab hiện tại:
crontab -l
Tạo crontab:
crontab -e
23 00 * * * /home/oracle/backup_rman_auto.sh
Kiểm tra lại crontab:
crontab -l
[oracle@srv1 ~]$ crontab -l
no crontab for oracle
[oracle@srv1 ~]$ crontab -e
no crontab for oracle – using an empty one
crontab: installing new crontab
[oracle@srv1 ~]$ crontab -l
23 00 * * * /home/oracle/backup_rman_auto.sh
Test thử backup shell:
cd ./backup_rman_auto.sh
[oracle@srv1 ~]$ ./backup_rman_auto.sh
RMAN> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> 13> 14> 15> 16> 17> 18> 19> 20> RMAN> [oracle@srv1 ~]$
Chúc các bạn thành công.