Oracle自动备份脚本(Linux)
生活随笔
收集整理的這篇文章主要介紹了
Oracle自动备份脚本(Linux)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
腳本編寫
之前我在Linux Crontab有提到第一個腳本
http://blog.csdn.net/yangshangwei/article/details/52452599#t30
第一個腳本
#!/bin/bash #oracle變量設置 export ORACLE_BASE=/data/oracle export ORACLE_HOME=/oracle/product/102 export ORACLE_SID=sidname export ORACLE_TERM=xterm export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export LANG=C export NLS_LANG=AMERICAN_AMERICA.AL32UTF8#以上代碼為Oracle數據庫運行賬號oracle的系統環境變量設置,必須添加,否則crontab任務計劃不能執行。 date=date +%Y_%m_%d #獲取系統當前日期時間 days=5 #設置刪除5天之前的備份文件orsid=ip:port/sidname #Oracle數據庫服務器IP、端口、SIDorowner=master_ccpx2 #備份此用戶下面的數據bakuser=master_ccpx2 #用此用戶來執行備份,必須要有備份操作的權限 bakpass=passwd #執行備注的用戶密碼 bakdir=/aaa/bbb/oracle_data #備份文件路徑,需要提前創建好 bakdata=$orowner"_"$date.dmp #備份數據庫名稱 baklog=$orowner"_"$date.log #備份執行時候生成的日志文件名稱 ordatabak=$orowner"_"$date.tar.gz #最后保存的Oracle數據庫備份文件cd $bakdir #進入備份目錄 mkdir -p $orowner #按需要備份的Oracle用戶創建目錄cd $orowner #進入目錄#導出數據庫 這里使用了exp 可以根據需要使用expdp exp $bakuser/$bakpass@$orsid grants=y owner=$orowner file=$bakdir/$orowner/$bakdata log=$bakdir/$orowner/$baklog #執行備份tar -zcvf $ordatabak $bakdata $baklog #壓縮備份文件和日志文件 find $bakdir/$orowner -type f -name "*.log" -exec rm {} \; #刪除備份文件 find $bakdir/$orowner -type f -name "*.dmp" -exec rm {} \; #刪除日志文件 find $bakdir/$orowner -type f -name "*.tar.gz" -mtime +$days -exec rm -rf {} \; #刪除5天前的備份第二個腳本
#路徑名,指定備份的路徑 FILEPATH = /oracle/orabak#根據指定日期格式,定義備份數據庫文件名 FILENAME = `date + %Y%m%d_%H%M#切換至指定路徑,并創建文件夾 cd $FILEPATH mkdir $FILENAME chmod 775 $FILENAME#oracle變量設置 export USER=oracle; export ORACLE_SID=orcl; export ORACLE_HOME=/oracle/app/oracle/product/11.2.0/dbhome_1; export PATH=$ORACLE_HOME/bin:$PATH;#導出數據庫 這里使用了exp 可以根據需要使用expdp exp scott/tiger@orcl file="$FILENAME ".dmp log="$FILENAME".log owner=scott rows=y#打包+加壓 cd .. tar -cf $FILENAME.tar $FILENAME rm -rf $FILENAME gzip $FILENAME.tar exit EOF使用crontab自動調用備份腳本
linux使用crontab -e命令增加定時任務:
10 12 * * * sh /oracle/orabak/orabak.sh總結
以上是生活随笔為你收集整理的Oracle自动备份脚本(Linux)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle-数据泵expdp/impd
- 下一篇: linux 其他常用命令