Oracle归档日志满错误(ORA-00257)

Oracle归档日志满错误(ORA-00257)

半仙 自动化运维

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

现象:

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

临时处理办法:

 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;

后期避免类似故障:

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

 4、通过自动化监控,设置报警阈值,达到阈值立即手动清理(避免业务突然变化,日志快速增长造成数据库故障)

上一篇:HAIP异常,导致RAC节点无法启动的解决方案


下一篇:【RAC】 RAC For W2K8R2 安装--grid的安装(四)