1. 程式人生 > 實用技巧 >【Oracle Database】資料庫完整備份與日誌備份

【Oracle Database】資料庫完整備份與日誌備份

[oracle@wallet01 ~]$ cat /home/oracle/script/full_backup.sh
#!/bin/bash
if [ -f ~/.bash_profile ];
then
  . ~/.bash_profile
fi
export SH_HOME=/home/oracle/script
rman target / @$SH_HOME/full_backup.sql

[oracle@wallet01 ~]$ cat /home/oracle/script/full_backup.sql
RUN {
BACKUP INCREMENTAL LEVEL=0 DATABASE
FORMAT '/home/oracle/backup/gstadb_full_backup_%s_%p_%T'
PLUS ARCHIVELOG
FORMAT '/home/oracle/backup/gstadb_arch_backup_%s_%p_%T' delete all input;
DELETE NOPROMPT OBSOLETE;
CROSSCHECK BACKUP;
DELETE EXPIRED BACKUP;
}

[oracle@wallet01 ~]$ cat /home/oracle/script/arch_backup.sh
#!/bin/bash
if [ -f ~/.bash_profile ];
then
  . ~/.bash_profile
fi
export SH_HOME=/home/oracle/script
rman target / @$SH_HOME/arch_backup.sql

[oracle@wallet01 ~]$ cat /home/oracle/script/arch_backup.sql
RUN {
sql 'alter system archive log current';
BACKUP ARCHIVELOG ALL FORMAT '/home/oracle/backup/gstadb_arch_backup_%s_%p_%T';
DELETE NOPROMPT OBSOLETE;
CROSSCHECK BACKUP;
DELETE EXPIRED BACKUP;
}

[oracle@wallet01 ~]$ cat /home/oracle/script/day_backup.sh
#!/bin/bash
mkdir -p /home/oracle/day_backup/`date '+%Y%m%d'`
cp -p /home/oracle/backup/* /home/oracle/day_backup/`date '+%Y%m%d'`
find /home/oracle/day_backup/ -type d -mtime +6 -exec rm -rf {} \;

[oracle@wallet01 ~]$ crontab -l
0 0 * * * /home/oracle/script/oracle_backup.sh
*/10 1-23 * * * /home/oracle/script/log_backup.sh
55 23 * * * /home/oracle/script/day_backup.sh