1. 程式人生 > >解決oracle報錯:ora-00257 archiver error. connect interval only,unit freed

解決oracle報錯:ora-00257 archiver error. connect interval only,unit freed

通過navicat連線oralce資料庫時,發現彈出報錯:ora-00257 archiver error. connect interval only,unit freed
經查詢,大致定位為日誌滿了,需要清理日誌。
1、以oracle身份登入資料庫

su - oracle

2、進入Sqlplus控制檯

sqlplus /nolog

3、以系統管理員登入

connect / as sysdba

4、檢視空間使用率

SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

FILE_TYPE        PERCENT_SPACE_USED
PERCENT_SPACE_RECLAIMABLE -------------------- ------------------ ------------------------- NUMBER_OF_FILES --------------- CONTROL FILE 0 0 0 REDO LOG 0 0 0 ARCHIVED LOG 99.99 0 329 FILE_TYPE
PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE -------------------- ------------------ ------------------------- NUMBER_OF_FILES --------------- BACKUP PIECE 0 0 0 IMAGE COPY 0 0 0 FLASHBACK LOG 0 0
0 FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE -------------------- ------------------ ------------------------- NUMBER_OF_FILES --------------- FOREIGN ARCHIVED LOG 0 0 0 7 rows selected.

很明顯,ARCHIVED LOG的產生了很多檔案,佔了99.99%的空間使用,對於無效日誌,需要處理下。使用rman命令進行處理:
5、進入rman控制檯

# 若系統沒有rman 命令,可使用 find / -name rman 查詢檔案位置,並軟連結到 /usr/local/bin/rman 下即可
su - oracle
rman target /

當然也可以在第四步的sql控制檯輸入以下命令進入:

host
rman target /

6、檢查、並刪除已過期檔案

crosscheck archivelog all;
delete expired archivelog all; 

若上述操作後,空間使用率還是很高,那麼需要手動指定清理了。
7、檢視下日誌情況

list archivelog all;

在空間使用率高的情況下,應該會輸出大量日誌檔案相關資訊。
8、根據實際,刪除某時間節點前的日誌

# 刪除三天前的日誌
DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-3';

還有很多相關的刪除日誌命令,一般這個也夠用了。不確定能不能刪的情況下,建議下備份日誌資料。
好了處理完畢後,在查詢空間使用情況:

SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

FILE_TYPE        PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE
-------------------- ------------------ -------------------------
NUMBER_OF_FILES
---------------
CONTROL FILE                  0             0
          0

REDO LOG                  0             0
          0

ARCHIVED LOG                3.7             0
         11


FILE_TYPE        PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE
-------------------- ------------------ -------------------------
NUMBER_OF_FILES
---------------
BACKUP PIECE                  0             0
          0

IMAGE COPY                0             0
          0

FLASHBACK LOG                 0             0
          0


FILE_TYPE        PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE
-------------------- ------------------ -------------------------
NUMBER_OF_FILES
---------------
FOREIGN ARCHIVED LOG              0             0
          0


7 rows selected.

使用率大大下降,重新在navicat連線資料庫,一切正常。