CentOS7下Oracle的自動備份


概述

  Linux下Oracle自動備份就沒有MSSQL那么簡單,在Linux下Oracle的備份需要借助crontab 指令,crontab 能夠自動執行系統定時任務,通過配置crontab 指向Oracle定時備份指令完成數據的定時備份。

編寫腳本

1、編寫數據庫備份腳本文件(oracle_back.sh)

復制代碼

#引進執行數據備份的環境

echo -e '******Start********'$(date '+%Y%m%d%H%M%S')>>/data/blog.txt #日志打印
export ORACLE_BASE=/data/oracle #oracle安裝目錄
export ORACLE_HOME=/data/oracle/product/11.2.0/db_1 #數據庫實體名稱,有些系統這個位置不同名
export ORACLE_SID=MLUCDB
export PATH=$ORACLE_HOME/bin:$PATH

rq='db'$(date '+%Y%m%d')'214001' #動態編寫時間
orq='db'$(date -d'2 day ago' +'%Y%m%d')'214001' #當前時間減去2天

echo -e $rq $orq>>/data/blog.txt
expdp hao123/abc123@DB105 dumpfile=$rq.dmp log=$rq.log directory=dpdata #導出數據庫文件
zip -m /data/backup/$rq.zip /data/backup/$rq.dmp /data/backup/$rq.log #壓縮文件zip
find /data/backup -name $orq.zip |xargs rm -rf #壓刪除最近2天之外的數據
echo -e '******End**********'$(date '+%Y%m%d%H%M%S')>>/data/blog.txt

復制代碼

備注:directory=dpdata是oracle的文件路徑,我這里設置dpdata指向/data/backup ,同時記得將Oracle用戶擁有/data/backup的文件夾所有權;

2、編輯腳本文件為可執行文件

chmod +x /data/oracle_back.sh

3、編寫定時任務crontab腳本

[root@localhost data]# crontab -e
42 16 * * * /data/oracle_back.sh

#每天的16點42分自動執行腳本文件,執行完成之后,系統自動發送一封執行郵寄到root文件里面(/var/spool/mail/root)
#清空root文件內容的腳本,如果需要清理文件內容 echo>root

4、跟蹤執行結果

tail -f /var/log/cron  #跟蹤查詢定時任務是否執行
cat /var/spool/cron/root #查詢root下有那些定時任務

5、待續問題

 crontab執行完成可以發送Email,該功能的具體配置,還沒研究....

oracle_back.sh


zhuan :http://www.cnblogs.com/xibei666/p/5936271.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM