DataGuard備庫刪除已經應用的日誌
前言:公司搭建了DataGuard,剛開始沒有注意備庫歸檔日誌的管理,系統運行了一段時間之後,發現備庫的空間被歸檔日誌給撐爆了。
解決思路:Oracle提供了一個視圖可以查看歸檔日誌的執行情況,只要歸檔日誌已經被應用了,就可以通過作業系統進行刪除。
查看歸檔日誌的運用指令碼:select sequence#,applied from v$archived_log order by sequence#;
以下是我配置的作業系統的定時刪除指令碼:
#!/bin/sh
export PATH
ORACLE_SID=orcl
TABLE='v$archived_log'
export ORACLE_BASE ORACLE_SID
export ORACLE_HOME=/u01/app/oracle/product/OraDb11g_home1
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch
$ORACLE_HOME/bin/sqlplus -silent "/ as sysdba" <<EOF > /home/oracle/deleteorclarch.sh
set heading off;
set pagesize 0;
set term off;
set feedback off;
set linesize 32767;
select 'rm -rf '||name from ${TABLE} where DELETED='NO' and APPLIED='YES';
exit;
EOF
sh /home/oracle/deleteorclarch.sh
rman target /<<END
crosscheck archivelog all;
delete noprompt expired archivelog all;
exit;
END
通過crontab每天定時運行指令碼即可;
在CentOS 6.4下安裝Oracle 11gR2(x64)
Oracle 11gR2 在VMWare虛擬機器中安裝步驟
Debian 下 安裝 Oracle 11g XE R2
Oracle Data Guard 重要配置參數
基於同一主機配置 Oracle 11g Data Guard
探索Oracle之11g DataGuard
Oracle Data Guard (RAC+DG) 歸檔刪除策略及指令碼
Oracle Data Guard 的角色轉換
Oracle Data Guard的日誌FAL gap問題
Oracle 11g Data Guard Error 16143 Heartbeat failed to connect to standby 處理方法