當oracle歸檔日誌滿了後,將沒法正常登入oracle,須要擴充空間或刪除一部分歸檔日誌。
一.首先刪除歸檔日誌物理文件,歸檔日誌通常都是位於archive目錄下。建議操做前先對數據庫進行備份,刪除時至少保留最近幾天的日誌用於數據庫恢復。
二.刪除歸檔日誌的物理文件後便可正常登入oracle,可是尚未吧歸檔日誌刪除乾淨,oracle的control file裏面仍然記錄着這些archivelog的信息。
利用rman進行刪除操做
RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
附上自動清理歸檔的腳本:
#!/bin/bash
if [ -f ~/.bash_profile ]; then
. ~/.bash_profile
fi
ORACLE_SID=$1;
export ORACLE_SID=$ORACLE_SID
$ORACLE_HOME/bin/rman log=/users/robin/log/rman.log <<EOF
connect target /
run{
crosscheck archivelog all;
delete noprompt expired archivelog all;
delete noprompt archivelog all completed before 'sysdate - 1';
}
exit;
EOF