Oracle多例項資料庫備份指令碼
最近對客戶資料庫伺服器上的備份指令碼進行了修改,主要使用Shell指令碼循,簡化程式碼結構。
###
#!/bin/bash
sids1="12 dbname list"
sids2=" 12 dbname list"
#this is instance list
sids3=$sids1$sids2
export ORACLE_HOME=/u01/app/oracle/11gR2/dbhome
DA2=`date "+%Y%m%d"`
dmpfil=" "
lgfile=" "
attach=" "
cnti=1
tt_fail=" "
tt_succ=" "
path=/ora11gbackup/EXP_BAK/
logpath=/ora11gbackup/EXP_BAK/EXP_HIS_LOG
TO_MAIL=my_email
CC_MAIL=dba_email
##clean old data
find $path -name '*xxxprod*dmp*' -a -mtime +2 -exec rm {} \;
find $logpath -name '*xxxx*.log*' -a -mtime +30 -exec rm {} \;
##switch directory
cd $path
for dbsid in $sids3 ;
do
export ORACLE_SID=$dbsid
dmpfil=xxxprod_Full_expdp_$dbsid$DA2.dmp
lgfile=xxxprod_Full_expdp_$dbsid$DA2.log
attach=$path$lgfile
tt_fail="**Warning**_xxxx(9.149.xx.xx)_($dbsid)_($cnti)_Full_expdp failed on `date "+%Y%m%d"`"
tt_succ="xxx(9.149.xx.xx)_($dbsid)_($cnti)_Full_expdp successful on `date "+%Y%m%d"`"
expdp \'/ as sysdba \' dumpfile=$dmpfil logfile=$lgfile full=y directory=expdp_bk PARALLEL=2
#expdp \'/ as sysdba \' dumpfile=expdp_bk:$dmpfil logfile=$lgfile full=y PARALLEL=2
#
cat $lgfile| grep -i "ORA-"
if [ "$?" -eq 0 ] ; then
mailx -s $tt_fail -c $CC_MAIL $TO_MAIL
#echo $tt_fail
else
mailx -s $tt_succ -c $CC_MAIL $TO_MAIL
#echo $tt_succ
fi
let "cnti=cnti+1 " #sequence of instance
done
mv *.log $logpath
##end
###
#!/bin/bash
sids1="12 dbname list"
sids2=" 12 dbname list"
#this is instance list
sids3=$sids1$sids2
export ORACLE_HOME=/u01/app/oracle/11gR2/dbhome
DA2=`date "+%Y%m%d"`
dmpfil=" "
lgfile=" "
attach=" "
cnti=1
tt_fail=" "
tt_succ=" "
path=/ora11gbackup/EXP_BAK/
logpath=/ora11gbackup/EXP_BAK/EXP_HIS_LOG
TO_MAIL=my_email
CC_MAIL=dba_email
##clean old data
find $path -name '*xxxprod*dmp*' -a -mtime +2 -exec rm {} \;
find $logpath -name '*xxxx*.log*' -a -mtime +30 -exec rm {} \;
##switch directory
cd $path
for dbsid in $sids3 ;
do
export ORACLE_SID=$dbsid
dmpfil=xxxprod_Full_expdp_$dbsid$DA2.dmp
lgfile=xxxprod_Full_expdp_$dbsid$DA2.log
attach=$path$lgfile
tt_fail="**Warning**_xxxx(9.149.xx.xx)_($dbsid)_($cnti)_Full_expdp failed on `date "+%Y%m%d"`"
tt_succ="xxx(9.149.xx.xx)_($dbsid)_($cnti)_Full_expdp successful on `date "+%Y%m%d"`"
expdp \'/ as sysdba \' dumpfile=$dmpfil logfile=$lgfile full=y directory=expdp_bk PARALLEL=2
#expdp \'/ as sysdba \' dumpfile=expdp_bk:$dmpfil logfile=$lgfile full=y PARALLEL=2
#
cat $lgfile| grep -i "ORA-"
if [ "$?" -eq 0 ] ; then
mailx -s $tt_fail -c $CC_MAIL $TO_MAIL
#echo $tt_fail
else
mailx -s $tt_succ -c $CC_MAIL $TO_MAIL
#echo $tt_succ
fi
let "cnti=cnti+1 " #sequence of instance
done
mv *.log $logpath
##end
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21754115/viewspace-1061999/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL 多例項資料庫還原指令碼-備份集與埠對應MySql資料庫指令碼
- oracle資料庫使用rman備份指令碼Oracle資料庫指令碼
- 資料庫備份指令碼資料庫指令碼
- oracle資料庫資料備份成文字的指令碼Oracle資料庫指令碼
- 資料庫全備份指令碼資料庫指令碼
- MySQL 多例項刪庫指令碼MySql指令碼
- 【Oracle指令碼】-很不錯的Windows下資料庫備份EXP指令碼Oracle指令碼Windows資料庫
- 《mysql資料庫備份小指令碼》MySql資料庫指令碼
- oracle多例項start-stop指令碼Oracle指令碼
- 關於Oracle資料庫熱備份指令碼深入剖析Oracle資料庫指令碼
- MySQL資料庫備份的shell指令碼MySql資料庫指令碼
- 《mysql資料庫備份小指令碼》(轉)MySql資料庫指令碼
- 簡單的備份資料庫指令碼資料庫指令碼
- mysqldump來備份MYSQL資料庫(指令碼)MySql資料庫指令碼
- windows下oracle資料庫的exp自動備份指令碼WindowsOracle資料庫指令碼
- Oracle expdp/impdp匯入匯出備份資料庫指令碼Oracle資料庫指令碼
- Liunx備份mysql資料庫的shell指令碼MySql資料庫指令碼
- 恢復目錄資料庫備份指令碼資料庫指令碼
- Mysql資料庫的簡單備份指令碼MySql資料庫指令碼
- 資料庫連結的備份指令碼(轉)資料庫指令碼
- ORACLE備份指令碼Oracle指令碼
- oracle 備份指令碼Oracle指令碼
- 多例項資料庫刪除例項資料庫
- 使用shell 指令碼備份資料指令碼
- 課時7-備份與恢復----資料庫備份策略指令碼資料庫指令碼
- ORACLE日常備份指令碼Oracle指令碼
- Oracle 集中備份指令碼Oracle指令碼
- oracle RMAN備份指令碼Oracle指令碼
- oracle_備份指令碼Oracle指令碼
- 單例項資料庫工具轉化多例項資料庫單例資料庫
- 單例項資料庫手工轉化多例項資料庫單例資料庫
- HP Data Protector Manager 備份和恢復oracle資料庫參考指令碼Oracle資料庫指令碼
- Oracle資料庫在linux和windows下自動備份指令碼總結Oracle資料庫LinuxWindows指令碼
- oracle資料庫備份之exp增量備份Oracle資料庫
- 資料庫全備指令碼資料庫指令碼
- Mysqldump備份說明及資料庫備份指令碼分享-運維筆記MySql資料庫指令碼運維筆記
- Shell多執行緒備份資料庫的指令碼執行緒資料庫指令碼
- catalog備份資料庫及RMAN儲存指令碼資料庫指令碼