上一篇
凌晨2:15,手机突然疯狂震动——监控系统报警:某客户生产库出现ORA-02171: invalid value for MAXLOGHISTORY
,归档日志堆积如山,业务系统开始卡顿... 作为DBA的你可能也经历过这种"惊喜"吧?🤯 别慌,跟我一步步拆解这个"午夜惊魂"!
客户反馈数据库突然报错:
ORA-02171: invalid value for MAXLOGHISTORY
伴随症状:
/archivelog
使用率100%) ARCn: Failed to archive log
记录 通过远程连接检查参数配置:
SQL> show parameter maxloghistory NAME TYPE VALUE ----------------- ----------- ------------------------------ maxloghistory integer 99999 -- 问题出在这里!
根本原因:
MAXLOGHISTORY
最大值是65535(2^16-1) RMAN> DELETE NOPROMPT ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-1';
💡 小技巧:如果空间严重不足,可以先手动清理最旧的归档文件
SQL> ALTER SYSTEM SET maxloghistory=65535 SCOPE=BOTH;
📌 注意:必须使用SCOPE=BOTH
同时修改内存和参数文件
SQL> SELECT name, value FROM v$parameter WHERE name = 'maxloghistory';
✅ 预期输出:65535
SQL> ALTER SYSTEM ARCHIVE LOG CURRENT; SQL> ALTER SYSTEM SWITCH LOGFILE;
参数范围验证:
v$parameter_valid_values
查看合法取值范围 SQL> SELECT name, value FROM v$parameter_valid_values WHERE name = 'maxloghistory';
监控脚本建议:
# 加入日常巡检脚本 if [ $(sqlplus -s / as sysdba <<< "show parameter maxloghistory" | grep -c 65535) -eq 0 ]; then echo "⚠️ MAXLOGHISTORY设置异常!" fi
DG环境特别注意:
MAXLOGHISTORY
建议保持一致 凌晨3:30,监控界面终于恢复绿色 ✅,客户发来感谢消息,作为DBA,这种"深夜急救"虽然辛苦,但每次解决问题后的成就感,大概就是我们的职业魅力吧!✨
(本文操作验证环境:Oracle 19c,发布时间参考2025-08技术文档)
本文由 司寇西华 于2025-08-02发表在【云服务器提供商】,文中图片由(司寇西华)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/520018.html
发表评论