Oracle归档日志满错误

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180521G0BMNU00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券