Oracle archive log full error (ORA-00257)

Oracle archive log full error (ORA-00257)

Automated Operation and Maintenance

   ORA-00257是DBA日常运维中常见的问题,会导致数据库无法写入数据,虽然不会造成数据损坏,但对业务可用性造成直接影响,部分业务将无法使用。   

phenomenon:

 业务端:业务无法访问,或者业务处理后提交不成功。
 后台日志: ORA-00257: archiver error. Connect internal only, until freed。

Temporary solution:

 1、使用Oracle用户登录服务器,首先确认存储空间使用率。

     ```

   [oracle@rac1 ~]$ df -h
      Filesystem      Size  Used Avail Use% Mounted on
     /dev/sda3        51G   32G   18G  65% /
     tmpfs           1.8G  910M  858M  52% /dev/shm
     /dev/sda1       190M   67M  110M  38% /boot
   [oracle@rac1 ~]$ 
    如果使用ASM则需要进入ASM查看
    2、进入归档日志目录,删除部分日志文件(从时间最长的删起,不要全部删除,要保留最近日志)

    3、进入RMAN清理
 [oracle@rac1 ~]$ rman target /
 RMAN> crosscheck archivelog all;
 RMAN> delete expired archivelog all;
 注:删除过期的归档

这样就把归档文件删除了。再进入sqlplus 查看ARCHIVELOG日志使用率! 

  SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

Avoid similar failures later:

1、确保归档日志保存位置的空间足够大;
2、增加闪回区最大限制:
SQL>alter system set DB_RECOVERY_FILE_DEST=20g;
个人建议,最好跟所在分区大小一致;
3、通过RMAN或者备份系统定期备份并自动清理本地归档日志;

 4. Through automatic monitoring, set the alarm threshold, and manually clean up immediately when the threshold is reached (to avoid sudden changes in business and rapid growth of logs causing database failures)

Guess you like

Origin blog.51cto.com/15061930/2654942