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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle資料庫使用rman備份指令碼Oracle資料庫指令碼
- 資料庫備份指令碼資料庫指令碼
- ORACLE備份指令碼Oracle指令碼
- MySQL資料庫備份的shell指令碼MySql資料庫指令碼
- Liunx備份mysql資料庫的shell指令碼MySql資料庫指令碼
- SQL Server2019資料庫備份與還原指令碼,資料庫可批量備份SQLServer資料庫指令碼
- oracle資料庫備份之exp增量備份Oracle資料庫
- 「Oracle」Oracle 資料庫備份還原Oracle資料庫
- 【DATAPUMP】Oracle資料泵定時備份刪除指令碼Oracle指令碼
- oracle 備份資料庫,匯出資料庫Oracle資料庫
- 使用shell 指令碼備份資料指令碼
- oracle自動冷備份指令碼Oracle指令碼
- 分享Oracle Rman的備份指令碼Oracle指令碼
- ORACLE常用定時備份指令碼Oracle指令碼
- Shell多執行緒備份資料庫的指令碼執行緒資料庫指令碼
- Mysqldump備份說明及資料庫備份指令碼分享-運維筆記MySql資料庫指令碼運維筆記
- KOSQL Server2019資料庫備份與還原指令碼(批量備份)zrbSQLServer資料庫指令碼
- 每天自動備份Oracle資料庫Oracle資料庫
- oracle uncatalog資料庫備份檔案Oracle資料庫
- Mysql定時備份資料指令碼MySql指令碼
- MySQL資料庫入門多例項配置MySql資料庫
- 多例項資料庫一個用PSU資料庫
- 自動定時備份 mysql 資料庫 的 shell 指令碼MySql資料庫指令碼
- MOGDB/openGauss資料庫gs_dump備份指令碼及清理資料庫指令碼
- [SQLServer]NetCore中將SQLServer資料庫備份為Sql指令碼SQLServerNetCore資料庫指令碼
- 備份指令碼指令碼
- MySQL:Windows下分庫備份指令碼MySqlWindows指令碼
- Oracle資料庫備份還原詳解XKUSOracle資料庫
- Oracle 資料庫巡檢指令碼 單例項 RAC 輸出HTML格式Oracle資料庫指令碼單例HTML
- 多例項資料庫一個用PSU(轉載)資料庫
- 【SCRIPT】Oracle資料庫基本資訊收集指令碼Oracle資料庫指令碼
- Oracle資料庫的邏輯備份工具-expdp資料泵Oracle資料庫
- 資料庫備份資料庫
- oracle sqldeveloper選擇性複製備份資料庫OracleSQLDeveloper資料庫
- rman 備份指令碼指令碼
- mysql備份指令碼MySql指令碼
- Oracle資料庫備份、災備的23個常見問題Oracle資料庫
- oracle 資料庫徹底清除目錄指令碼Oracle資料庫指令碼
- oracle資料庫與oracle例項Oracle資料庫