暂无图片
暂无图片
3
暂无图片
暂无图片
暂无图片

【排障记录】清理历史归档文件遭遇RMAN-08137,Oracle设置的一把双刃剑

原创 Jose Chen 2023-08-29
2236

前言

作为一名运维人员,定期巡检属于自己管辖范围内的数据库是必不可少的。笔者最近巡检一套RAC+DG的业务数据库的时候,发现主库的ASM磁盘+LOG出现了空间不足的情况,可是该操作系统已配置自动化RMAN清理日志的任务,不太可能失效,于是笔者就此展开了排查。

故障现象


1、登录Oracle用户,查看自动化清理归档任务的具体策略,见下图,该策略是通过登录Rman的方式,对七天以前的归档文件进行删除。

1.png

2、既然查看任务没有任何端倪,那么就登录Rman,手动执行清理归档,命令如下

delete noprompt archivelog until time 'sysdate-7';

此时,系统提示Rman-08137告错,无法对选中的归档日志进行删除操作

4.png

3、继续查看数据库的Alert日志,发现大量的standby日志无法传输到备库的告警,初次告警的日期和主库依旧保存的归档日志日期一致

解决步骤

1、通过排查可以猜测,主备库之间的同步任务出现了问题,导致主库的归档清理自动化任务失效,从而引起ASM磁盘的爆满,严重会影响业务。
通过ping备库的IP不通,验证了猜想。后来跟用户沟通后得知,备库的ASM裸磁盘由于整个虚拟化平台资源不足,被甲方技术人员误删,导致备库数据库直接挂掉。

2、那么当务之急是先释放+LOG磁盘的空间使用率,可以使用如下命令,对过期的归档文件进行删除。

delete force archivelog until time 'sysdate-7';

该条命令被成功执行

3、将主库的log_archive_dest_2参数设置为空,即向主库宣告,备库已经不存在了,不要再保留日志了

alter system set log_archive_dest_2='' scope=both sid='*';

2.png

5.png

4、接下来再次通过RMAN来对归档进行删除(不带force选项),成功执行

3.png

5、切换一遍日志,确保归档日志成功生成,故障解决。

7.png

后话

Oracle通过凌驾于自动清理任务的日志保护机制,很大程度上减少了DBA重新搭建数据备库的次数,但是由于该保护机制,极有可能导致主库的磁盘组满掉,影响数据库的正常运行。所以需要对其进行定期巡检。

最后修改时间:2023-08-29 09:47:54
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论