Script backup tự động Oracle database bằng rman thông qua crontab

Script backup tự động Oracle database bằng rman thông qua crontab

–Tạo file kịch bản bacup tự động increamental level0

cd

vi backup_level0.sh

##########################################

#!/bin/bash

# Script to delete archived logs using RMAN

# Set Oracle environment variables (change accordingly)

export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1

export ORACLE_SID=oradb

export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

# Run RMAN command to delete archived logs

rman target / <<EOF

CROSSCHECK BACKUP;

DELETE NOPROMPT EXPIRED BACKUP;

DELETE NOPROMPT OBSOLETE;

CROSSCHECK ARCHIVELOG ALL;

delete noprompt expired archivelog all;

backup incremental level 0 database TAG ‘full_backup_level0’ ;

ALTER SYSTEM SWITCH LOGFILE;

backup archivelog all;

DELETE ARCHIVELOG UNTIL TIME ‘SYSDATE-2’;

EXIT;

EOF

echo “Backup thanh cong LV0.” >> log_backup.txt

date >> log_backup.txt

#################################################

–gán quyền thực thi cho file

chmod +x backup_level0.sh

— Tạo file kịch bản bacup tự động increamental level1

cd

vi backup_level1.sh

##########################################

#!/bin/bash

# Script to delete archived logs using RMAN

# Set Oracle environment variables (change accordingly)

export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1

export ORACLE_SID=oradb

export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

# Run RMAN command to delete archived logs

rman target / <<EOF

CROSSCHECK BACKUP;

DELETE NOPROMPT EXPIRED BACKUP;

DELETE NOPROMPT OBSOLETE;

CROSSCHECK ARCHIVELOG ALL;

delete noprompt expired archivelog all;

backup incremental level 1 database TAG ‘backup_level1’ ;

ALTER SYSTEM SWITCH LOGFILE;

backup archivelog all;

DELETE ARCHIVELOG UNTIL TIME ‘SYSDATE-1’;

EXIT;

EOF

echo “Backup thanh cong LV1.” >> log_backup.txt

date >> log_backup.txt

#################################################

–gán quyền thực thi cho file

chmod +x backup_level1.sh

— Tạo crontab chạy script tự động

crontab -e

49 15 * * * /home/oracle/backup_level0.sh

50 15 * * * /home/oracle/backup_level1.sh

Khuyến nghị:

Level 0: thực hiện backup 1 tuần 1 lần vào thứ 7.

Level 1: thực hiện backup trong tất cả các ngày còn lại.

Backup vào thời gian ít tải nhất, thường là ban đêm.

 

0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận