1. 程式人生 > >oracle數據庫shell備份腳本

oracle數據庫shell備份腳本

direct oracle strong web .sh 路徑 dwz bin ins

1、root用戶下創建備份路徑:

mkdir /opt/backup
chown oralce:oinstall /opt/backup

2、oracle用戶創建備份腳本路徑:

mkdir /opt/app/oracle/bin
cd /opt/app/oracle/bin

3、創建備份腳本

vi backup.sh
#!/bin/sh
export ORACLE_BASE=/opt/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin:.
export ORACLE_SID=zd
#export NLS_LANG=american_america.UTF8
#export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

CURDATE=$(date ‘+%Y%m%d%H%M%S‘)

backup_directory=/opt/backup/
data_file_prefix=zd
BACKUP_FILE=$backup_directory/zd$CURDATE.dmp

delete_prev_month_data_file()
{
    premonth=$(date -d"5 days ago" ‘+%Y%m%d‘)
    rm -rf $backup_directory/$data_file_prefix$premonth* || true
}

#exp zd/za2009-pwd@ORCL FILE=$BACKUP_FILE tablespaces=‘zd‘
exp zdwebsite/just@zdwz FILE=$BACKUP_FILE owner=‘zdweb‘
delete_prev_month_data_file
exit 0

4、定時任務

crontab -e
0 5 * * * /opt/app/oracle/bin/backup.sh

5、crontab說明:
第一個*表示分鐘 每小時的第幾分鐘執行 0-59

第二個*表示小時 每天的第幾個小時執行 0-23

第三個*表示日期 每月的第幾天執行 1-31

第四個*表示月歷 每年的第幾個月執行 1-12

第五個*表示星期 每周的第幾天執行 0-6

oracle數據庫shell備份腳本