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;

原文地址:https://www.cnblogs.com/Leo-Cjh/p/13925823.html