1. 程式人生 > 實用技巧 >ORA-00257 archiver error. Connect internal only , until freed.

ORA-00257 archiver error. Connect internal only , until freed.

同事反饋, 資料庫服務無法登陸,PL/SQL 反饋:ORA-00257 archiver error. Connect internal only , until freed.
因為是測試庫,之前搞RMAN似乎開了歸檔,之後忘記關掉了。

  1. 檢視錯誤:
[oracle@develop164 trace]$ oerr ora 00257
00257, 00000, "archiver error. Connect internal only, until freed."
// *Cause:  The archiver process received an error while trying to archive
//       a redo log.  If the problem is not resolved soon, the database
//       will stop executing transactions. The most likely cause of this
//       message is the destination device is out of space to store the
//       redo log file.
// *Action:  Check archiver trace file for a detailed description
//        of the problem. Also verify that the
//       device specified in the initialization parameter
//       ARCHIVE_LOG_DEST is set up properly for archiving.

大概的意思就是歸檔的時候,沒儲存的地方了,所有事物即將停止。

  1. 檢視告警日誌:
ARC0: Error 19809 Creating archive log file to '/u01/oracle/app/fast_recovery_area/CRM/archivelog/2020_11_04/o1_mf_1_555_%u_.arc'
ARC3: Error 19809 Creating archive log file to '/u01/oracle/app/fast_recovery_area/CRM/archivelog/2020_11_04/o1_mf_1_554_%u_.arc'
Errors in file /u01/oracle/app/diag/rdbms/crm/crm/trace/crm_arc3_17794.trc:
ORA-19815: WARNING: db_recovery_file_dest_size of 4385144832 bytes is 100.00% used, and has 0 remaining bytes available.
Errors in file /u01/oracle/app/diag/rdbms/crm/crm/trace/crm_arc1_17790.trc:
ORA-19815: WARNING: db_recovery_file_dest_size of 4385144832 bytes is 100.00% used, and has 0 remaining bytes available.
************************************************************************
You have following choices to free up space from recovery area:
************************************************************************
1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,
   then consider changing RMAN ARCHIVELOG DELETION POLICY.
You have following choices to free up space from recovery area:
2. Back up files to tertiary device such as tape using RMAN
1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,
   BACKUP RECOVERY AREA command.
   then consider changing RMAN ARCHIVELOG DELETION POLICY.
3. Add disk space and increase db_recovery_file_dest_size parameter to
2. Back up files to tertiary device such as tape using RMAN
   reflect the new space.
   BACKUP RECOVERY AREA command.4. Delete unnecessary files using RMAN DELETE command. If an operating

   system command was used to delete files, then use RMAN CROSSCHECK and
3. Add disk space and increase db_recovery_file_dest_size parameter to
   DELETE EXPIRED commands.
************************************************************************
   reflect the new space.
4. Delete unnecessary files using RMAN DELETE command. If an operating
ARC3: Error 19809 Creating archive log file to '/u01/oracle/app/fast_recovery_area/CRM/archivelog/2020_11_04/o1_mf_1_555_%u_.arc'
   system command was used to delete files, then use RMAN CROSSCHECK and
   DELETE EXPIRED commands.

歸檔程序無法建立歸檔日誌,db_recovery_file_dest_size 滿了。

  1. 檢視歸檔儲存。

select * from V$FLASH_RECOVERY_AREA_USAGE;

進入歸檔日誌目錄刪除所有歸檔檔案。
3.1 光是刪除歸檔檔案後,還是無法釋放閃回恢復區的空間、因為在物理層這些歸檔檔案變動後,控制檔案依舊記錄著這些歸檔資訊,也就是說邏輯層面並沒有清除,這時候就要刪除控制檔案中記錄的這些歸檔日誌。
3.2 進入RMAN ,刪除過期的歸檔。
3.2.1 先檢視一下控制檔案與物理檔案的區別。
crosscheck archivelog all;
3.2.2 刪除過期的歸檔日誌(控制檔案與物理檔案不符的歸檔日誌)
delete expired archivelog all;