1、現象:
資料庫連線或查詢報錯,報錯類似如下
ORA-00257: archiver error. Connect internal only, until freed
2、原因:
資料庫歸檔空間耗盡,資料庫歸檔空間設定不足或短時間內有大批次資料更新操作,會造成此問題。
3、解決方式:
執行如下命令清理歸檔空間:
rman target / --進入rman
delete archivelog until time 'sysdate-7'; --刪除7天前的歸檔日誌,根據生產環境可調1天,1/2天等
delete archivelog all; --刪除當前所有歸檔日誌,確認無ogg,迪斯傑等使用歸檔日誌的邏輯同步軟體後方可執行。
4、改進建議:
修改歸檔存放位置。
歸檔開啟後,預設路徑為閃回區(db_recovery_file_dest),預設大小為2GB,建議修改歸檔路徑,修改後歸檔可用空間為指定目錄所在磁碟的可用空間。
archive log list --檢視歸檔路徑
alter system set log_archive_dest_1='location=/arch'; --修改歸檔路徑
alter system set log_archive_dest_10=''; --禁用閃回區