oracle歸檔日志占滿系統存儲空間,導致數據庫啟動失敗

故障描述

oracle歸檔日志占滿系統存儲空間,導致數據庫啟動失??;
存儲空間占滿導致rman工具無法使用,無法刪除過期歸檔日志。

故障分析

告警信息:
1、 存儲空間滿,/opt占用率達到100%;


2、無法進入數據庫操作;


3、無法使用rman工具清除過期歸檔日志。

處理過程

1、通過命令檢查存儲空間被哪個目錄占用了,最深查詢到第八層目錄:du -h --max-depth=8。查詢到/opt/oracle/archivelog有142G這么大,打開看有3000+的dbf文件,通過文件目錄結構分析,此為數據庫歸檔文件。


2、刪除數據庫歸檔文件。
首先切換oracle用戶
su – oracle
cd  /opt/oracle/archivelog
執行下面命令刪除7天以前的歸檔日志:
find . -xdev -mtime +7 -name "*.dbf" -exec rm -f {}  \;

3、執行rman邏輯上刪除過期日志
rman
RMAN> connect target /
>crosscheck archivelog all;
>delete expired archivelog all;
>quit

4、關閉數據庫歸檔日志:
登錄數據庫:!sql
SQL> shutdown immediate
啟動了實例,并加載了數據庫  SQL> startup mount
歸檔->非歸檔  SQL> alter database noarchivelog;
檢查是否成功  SQL> archive log list

5、啟動數據庫,完成。
SQL>alter database open;

此后,不再生成歸檔日志。

建議/總結

打開歸檔日志時,DBA定時清理歸檔文件,避免再次占滿;
如不使用,關閉歸檔日志。

中国6一12呦女精品