生活随笔
收集整理的這篇文章主要介紹了
通过Rman定期删除归档脚本
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
如果我們打開oracle的歸檔模式,那么在數(shù)據(jù)文件吞噬著硬盤空間的同時,歸檔文件也在無聲無息中占用著我們的硬盤空間
一般生產(chǎn)系統(tǒng)都會有良好的備份機(jī)制,所以歸檔日志是可以刪除的,下面就是通過腳本的方式將它們安全刪除掉的方法:
vi delet_archive.sh
1
2
3
4
5
6
7
8
9
10
. / home/ oracle/ .bash_profile
LOGFILE =/ data/ rman/ rman_delete.log
RMAN =$ORACLE_HOME / bin/ rman
WEEK =$((`date +%w`))
date =`date +% Y-% m-% d`
echo "----------------------------begin backup ----------------------------------" >> $LOGFILE
date >> $LOGFILE
sh / data/ rman/ script/ archive_delete.rman $RMAN $LOGFILE
date >> $LOGFILE
echo "---------------------------end backup ---------" >> $LOGFILE
vi archivelog_delete.sh
1
2
3
4
5
6
7
$ ORACLE_HOME/ bin / rman << EOF
connect target sys/ password@ mydb
crosscheck archivelog all;
delete noprompt expired archivelog all;
delete noprompt archivelog until time 'sysdate-7' ;
exit;
EOF
腳本編寫好后,在 oracle 用戶下使用 crontab -e 進(jìn)行編輯 設(shè)定定時執(zhí)行的時間: 30 0 * * * sh /data/rman/script/rman_delete.sh 最后轉(zhuǎn)貼一點(diǎn)別人的成果: 刪除acrhivelog,最好用rman delete, 實(shí)際上在寫腳本的時候,用OS的rm刪除archivelog路徑下的物理文件也可以,然后執(zhí)行 crosscheck 和 delete expired ,但是這種方法在遇到ASM存儲的時候?qū)崿F(xiàn)起來會比較麻煩,所以建議用rman delete的方法。 另外,用 rman delete的時候可能會報: RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process 嘗試刪除歸檔日志,oracle提示這些歸檔日志還要用到standby數(shù)據(jù)庫上面,不讓刪除, 這個特點(diǎn)不錯,可以避免由于沒有同步standby而誤刪除archivelog的情況。 要刪除,需要加上FORCE刪除就可以了。
總結(jié)
以上是生活随笔 為你收集整理的通过Rman定期删除归档脚本 的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔 推薦給好友。