當前位置:
首頁 >
通过Rman定期删除归档脚本
發布時間:2024/8/26
45
豆豆
生活随笔
收集整理的這篇文章主要介紹了
通过Rman定期删除归档脚本
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
如果我們打開oracle的歸檔模式,那么在數據文件吞噬著硬盤空間的同時,歸檔文件也在無聲無息中占用著我們的硬盤空間
一般生產系統都會有良好的備份機制,所以歸檔日志是可以刪除的,下面就是通過腳本的方式將它們安全刪除掉的方法:
vi delet_archive.sh
vi archivelog_delete.sh
腳本編寫好后,在 oracle 用戶下使用 crontab -e 進行編輯 設定定時執行的時間: 30 0 * * * sh /data/rman/script/rman_delete.sh 最后轉貼一點別人的成果: 刪除acrhivelog,最好用rman delete, 實際上在寫腳本的時候,用OS的rm刪除archivelog路徑下的物理文件也可以,然后執行 crosscheck 和 delete expired ,但是這種方法在遇到ASM存儲的時候實現起來會比較麻煩,所以建議用rman delete的方法。 另外,用 rman delete的時候可能會報: RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process 嘗試刪除歸檔日志,oracle提示這些歸檔日志還要用到standby數據庫上面,不讓刪除, 這個特點不錯,可以避免由于沒有同步standby而誤刪除archivelog的情況。 要刪除,需要加上FORCE刪除就可以了。
| 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 |
| 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 |
總結
以上是生活随笔為你收集整理的通过Rman定期删除归档脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RMAN CONFIGURE解释
- 下一篇: Oracle 表空间的段管理