Oracle
在 Linux 上的 Oracle 11gR2 RMAN 中使用 delete obsolete
我正在使用 crontab 進行自動備份(完整備份)。它一天工作 2 次(上午 8 點和下午 23 點)。在我的腳本中,我使用 delete obsolete 但我有一個問題。我想刪除沒有最後 2 個備份的舊備份。比方說:
第 1 天:上午 8 點
第一天:下午 23 點
第 2 天:上午 8 點(當我的腳本在這裡執行並完成備份操作時,之後我的刪除命令應該只刪除第 1 天:上午 8 點的備份)
如何使用刪除過時的命令來做到這一點?
這是我的腳本:
#!/bin/bash . /home/oracle/.bash_profile RMANBACKUP_MOUNTPOINT1=/u01/backup/rman/ export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 export ORACLE_SID=ORCL export PATH=$ORACLE_HOME/bin:$PATH export NLS_DATE_FORMAT="YYYY-MM-DD:HH24:MI:SS" rman target / LOG '/oracle/backups/log/rman.log' << EOF run{ allocate channel ch1 device type disk MAXPIECESIZE 200M; allocate channel ch2 device type disk MAXPIECESIZE 200M; backup spfile; backup current controlfile; backup database format '%d_%T_db' plus archivelog format '%d_%T_arch'; delete obsolete redundancy 2; } exit; EOF
謝謝你。
告訴 RMAN 你想要/需要保留什麼,讓它來做令人擔憂的事情。
CONFIGURE RETENTION POLICY TO REDUNDANCY 2 ;
這將保留數據庫的兩個副本,並認為在此之前的任何內容都已過時。
我有點擔心您說您只進行“完整備份”。
您在備份 ControlFiles 嗎?存檔日誌?
如果沒有前者,在更改數據庫結構(刪除甚至添加數據文件)後恢復數據庫可能會遇到問題,而沒有後者,您將失去執行時間點恢復的任何能力。