Oracle歸檔日誌滿導致資料庫效能異常慢
遇到Oracle歸檔日誌滿導致資料庫效能異常慢這個問題的時候,我沒有查看警示日誌,一直以為是資料庫的鎖阻塞影響了效能。知道查看日誌才發現時歸檔日誌已滿。才導致這種問題的產生:
Errors in file /DBBK/oracle/diag/rdbms/orcl/orcl/trace/orcl_arc0_28918.trc:
ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 34764800 bytes disk space from 4070572032 limit
ARC0: Error 19809 Creating archive log file to '/DBBK/oracle/flash_recovery_area/ORCL/archivelog/2015_03_11/o1_mf_1_574_%u_.arc'
Wed Mar 11 14:55:13 2015
Errors in file /DBBK/oracle/diag/rdbms/orcl/orcl/trace/orcl_arc1_28920.trc:
ORA-19815: WARNING: db_recovery_file_dest_size of 4070572032 bytes is 99.51% used, and has 20086784 remaining bytes available.
提示操作歸檔區的大小了,刪除物理歸檔,通過RMAN工具清理到期歸檔,估計是因為歸檔一直在寫,通過RMAN的方式也不是很順暢。在手動刪除曆史的物理歸檔後過了一陣,SQLPLUS、RMAN等工具才能正常使用。這個時候需要做兩件事重定義歸檔空間的大小,刪除到期和無用的歸檔:
RMAN> delete expired archivelog;
SQL> alter system set db_recovery_file_dest_size=21474836480 scope=both;
進過這些操作後,資料庫可以正常使用了