分享一個定時自動備份oracle資料庫的指令碼
阿新 • • 發佈:2019-01-27
分享一個定時自動備份oracle的指令碼
#!/bin/sh
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export PATH=${ORACLE_HOME}:${PATH}
workDIR=`pwd`
DUMPDIR=/home/oracle/db_bak
runDay=`date +%Y%m%d`
runTime=`date +%Y%m%d_%H%M`
logFile=${workDIR}/log/expdp_${runTime}.log
reserveDay=7
#刪除7天前的備份檔案
find ${DUMPDIR} -type f -name "*.dmp" -ctime +${reserveDay} -exec rm -f {} \; >> ${logFile} 2>&1
#遍歷需要匯出的資料庫schemas name
for line in USERA USERB USERC
do
expdp \" / as sysdba \" DIRECTORY=db_bak DUMPFILE=${line}_${runTime}.dmp SCHEMAS=${line} LOGFILE=expdp_${line}_${runTime}.log >> ${logFile} 2>&1
done
後記:
指令碼使用oracle使用者執行;