Oracle自动备份脚本(Linux)
生活随笔
收集整理的這篇文章主要介紹了
Oracle自动备份脚本(Linux)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
腳本編寫
之前我在Linux Crontab有提到第一個(gè)腳本
http://blog.csdn.net/yangshangwei/article/details/52452599#t30
第一個(gè)腳本
#!/bin/bash #oracle變量設(shè)置 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數(shù)據(jù)庫(kù)運(yùn)行賬號(hào)oracle的系統(tǒng)環(huán)境變量設(shè)置,必須添加,否則crontab任務(wù)計(jì)劃不能執(zhí)行。 date=date +%Y_%m_%d #獲取系統(tǒng)當(dāng)前日期時(shí)間 days=5 #設(shè)置刪除5天之前的備份文件orsid=ip:port/sidname #Oracle數(shù)據(jù)庫(kù)服務(wù)器IP、端口、SIDorowner=master_ccpx2 #備份此用戶下面的數(shù)據(jù)bakuser=master_ccpx2 #用此用戶來(lái)執(zhí)行備份,必須要有備份操作的權(quán)限 bakpass=passwd #執(zhí)行備注的用戶密碼 bakdir=/aaa/bbb/oracle_data #備份文件路徑,需要提前創(chuàng)建好 bakdata=$orowner"_"$date.dmp #備份數(shù)據(jù)庫(kù)名稱 baklog=$orowner"_"$date.log #備份執(zhí)行時(shí)候生成的日志文件名稱 ordatabak=$orowner"_"$date.tar.gz #最后保存的Oracle數(shù)據(jù)庫(kù)備份文件cd $bakdir #進(jìn)入備份目錄 mkdir -p $orowner #按需要備份的Oracle用戶創(chuàng)建目錄cd $orowner #進(jìn)入目錄#導(dǎo)出數(shù)據(jù)庫(kù) 這里使用了exp 可以根據(jù)需要使用expdp exp $bakuser/$bakpass@$orsid grants=y owner=$orowner file=$bakdir/$orowner/$bakdata log=$bakdir/$orowner/$baklog #執(zhí)行備份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天前的備份第二個(gè)腳本
#路徑名,指定備份的路徑 FILEPATH = /oracle/orabak#根據(jù)指定日期格式,定義備份數(shù)據(jù)庫(kù)文件名 FILENAME = `date + %Y%m%d_%H%M#切換至指定路徑,并創(chuàng)建文件夾 cd $FILEPATH mkdir $FILENAME chmod 775 $FILENAME#oracle變量設(shè)置 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;#導(dǎo)出數(shù)據(jù)庫(kù) 這里使用了exp 可以根據(jù)需要使用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自動(dòng)調(diào)用備份腳本
linux使用crontab -e命令增加定時(shí)任務(wù):
10 12 * * * sh /oracle/orabak/orabak.sh總結(jié)
以上是生活随笔為你收集整理的Oracle自动备份脚本(Linux)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Oracle-数据泵expdp/impd
- 下一篇: Centos显示-bash-4.1$问题