DataGuard備庫刪除已經應用的日誌

wzq609發表於2014-08-23

前言:公司搭建了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" < /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 /<

crosscheck archivelog all;

delete noprompt expired archivelog all;

exit;

END

 

透過crontab每天定時執行指令碼即可;

 

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

本文作者:JOHN

ORACLE技術部落格:ORACLE 獵人筆記               資料庫技術群:367875324 (請備註ORACLE管理 )  

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12679300/viewspace-1256396/,如需轉載,請註明出處,否則將追究法律責任。

相關文章