【轉載】Oracle Data Guard 備庫 歸檔檔案 刪除指令碼
【轉載地址】:http://blog.csdn.net/tianlesoftware/article/details/6194498
Oracle Data Guard 是透過歸檔檔案來進行資料同步的。 主庫的歸檔檔案,我們可以在RMAN 備份的時候進行刪除,但是備庫的歸檔檔案無法自動刪除,需要寫指令碼來定時刪除。
如果直接刪除歸檔檔案的話,可能會出現一種情況,就是歸檔檔案還沒有來的急apply,就被刪除掉了。所以最安全的做法是在刪除歸檔檔案做一個判斷。 然後在刪除。
整理的一個刪除備庫的shell 指令碼如下:
[oracle@qs-xezf-db2 scripts]$ cat del_st_archive.sh
#!/usr/bin/ksh
# created by tianlesoftware
# 2010/12/24
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
export ORACLE_SID=xxxx
export SHELL_DIR=/u02/scripts
del_seq=`ls /u02/archivelog/|head -1|cut -f2 -d_`
echo $del_seq
$ORACLE_HOME/bin/sqlplus -s "user/pwd@sid_pd as sysdba" <
set head off;
set feedback;
select max(sequence#) from v/$log_history;
exit;
eof
max_sn=`cat /u02/scripts/max_sn.log|awk '{print $1}'|grep ^[0-9]`
max_sn=`expr $max_sn - 30`
-- 我這裡是保留最近的30個歸檔檔案,這個具體情況自己決定
echo $max_sn
while [ $del_seq -lt $max_sn ]
do
rm /u02/archivelog/1_"$del_seq"_737806218.arc
-- 這裡是我定義歸檔檔案的格式,具體根據自己的歸檔檔案格式來匹配,關鍵是匹配日誌的sequence no。
del_seq=`expr $del_seq + 1`
echo $del_seq
done
--指令碼里的紅色部分根據自己的情況進行修改
[oracle@qs-xezf-db2 scripts]$ ls
del_st_archive.sh del_st_arch.log max_sn.log
--max_sn.log 是存放最大seq 的tmp檔案。 用來進行比較的
新增到crontab,定時執行:
[oracle@qs-xezf-db2 scripts]$ crontab -l
00 6 * * * /u02/scripts/del_st_archive.sh >/u02/scripts/del_st_arch.log 2>&1
Linux Crontab 定時任務 命令詳解
http://blog.csdn.net/tianlesoftware/archive/2010/02/21/5315039.aspx
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15747463/viewspace-758220/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【轉載】Oracle Data Guard 主庫 歸檔檔案 刪除策略Oracle
- Oracle Data Guard 主庫歸檔檔案刪除策略Oracle
- Oracle Data Guard 主庫 歸檔檔案 刪除策略Oracle
- Oracle Data Guard 主庫 歸檔檔案 刪除策略--續Oracle
- 刪除data guard歸檔日誌
- Oracle 11g Data Guard 備庫歸檔日誌清理指令碼(保留一週歸檔)Oracle指令碼
- 定期刪除歸檔檔案的指令碼指令碼
- 利用sqlplus指令碼刪除備庫歸檔SQL指令碼
- ORACLE NBU調取oracle rman指令碼備份歸檔不自動刪除歸檔Oracle指令碼
- Oracle 11g 自動刪除ASM歸檔檔案指令碼OracleASM指令碼
- 指令碼定期自動刪除ASM下的歸檔檔案指令碼ASM
- dg刪除備庫已經應用的歸檔日誌指令碼指令碼
- Oracle DG standby刪除歸檔的判斷指令碼Oracle指令碼
- ORACLE刪除歸檔Oracle
- oracle10g data guard(dg)__歸檔日誌備份刪除相關策略_rman_configureOracle
- 定時刪除檔案指令碼指令碼
- 強制刪除歸檔檔案
- 刪除歸檔日誌檔案
- 如何正確刪除ORACLE歸檔日誌檔案Oracle
- 使用RMAN安全刪除歸檔檔案
- oracle刪除歸檔日誌Oracle
- Oracle歸檔日誌刪除Oracle
- 備庫歸檔刪除策略失效的問題分析
- DATAGUARD_standby刪除歸檔日誌的指令碼指令碼
- RAC 節點2刪除自己的歸檔指令碼指令碼
- DataGuard已應用歸檔日誌刪除指令碼指令碼
- 轉:Oracle刪除資料檔案Oracle
- 刪除歸檔
- 無備份恢復(歸檔模式)已刪除資料檔案模式
- 刪除歸檔物理檔案備份失敗!ORA-19625
- data guard 歸檔日誌管理 (standby)
- data guard 歸檔日誌管理 (primary)
- data guard中增加與刪除主備資料庫中的聯機重做日誌與備重做日誌檔案資料庫
- 【ARCH】留存,Oracle11g之前Dataguard環境刪除歸檔指令碼Oracle指令碼
- Oracle資料庫意外刪除資料檔案的恢復(轉載)Oracle資料庫
- 在Oracle中,如何定時刪除歸檔日誌檔案?Oracle
- Data Guard跳歸檔恢復的案例
- 刪除七天以前檔案的指令碼指令碼