当前位置: 首页 > article >正文

Oracle归档日志爆满急救指南

作为运维工程师你一定遇到过这样的紧急情况/oracle/app/archivelog目录突然爆满数据库挂起无法写入业务全线中断。你慌忙执行了网上找到的DELETE OBSOLETE命令却发现磁盘空间纹丝不动 —— 目录里还躺着好几年前的.dbf文件RMAN 完全删不掉它们。这是 Oracle 归档日志管理中最常见也最容易被忽略的坑。本文基于生产环境实战经验从紧急空间释放、保留策略配置、自动化清理到常见坑避坑指南给你一套完整可落地的解决方案彻底解决归档日志空间问题。本文基于 Oracle 11g 编写12c/19c 版本核心逻辑完全通用仅个别语法略有差异。一、核心问题为什么 RMAN 删不掉好几年前的旧归档这是 90% 的运维都会踩的坑答案非常简单这些好几年前的旧文件根本不在 Oracle 控制文件的记录中。Oracle 控制文件默认只保留约 30 天的归档日志元数据由control_file_record_keep_time参数控制。超过这个时间的归档记录会被自动覆盖RMAN 完全 看不见 这些物理文件自然也就无法删除它们。这些文件属于物理残留的无效归档不是当前数据库运行或恢复所需要的删除绝对安全只能通过操作系统命令手工清理。二、紧急处理归档目录爆满时的快速空间释放当/oracle/app/archivelog使用率达到 90% 以上数据库随时可能挂起请按以下顺序执行最快 1 分钟释放空间。2.1 第一步清理 RMAN 能识别的有效过期归档以oracle用户登录服务器执行以下命令# 登录RMAN必须用sysdba权限 rman target / # 1. 强制扫描所有归档文件同步磁盘与数据库记录关键步骤 RMAN CROSSCHECK ARCHIVELOG ALL; # 2. 删除RMAN标记为【失效/过期】的归档 RMAN DELETE NOPROMPT EXPIRED ARCHIVELOG ALL; # 3. 删除指定天数前的有效归档示例保留15天根据需求调整 RMAN DELETE NOPROMPT ARCHIVELOG ALL COMPLETED BEFORE SYSDATE-15; # 4. 删除所有符合保留策略的废弃备份和归档 RMAN DELETE NOPROMPT OBSOLETE; # 退出RMAN RMAN EXIT;2.2 第二步彻底删除 RMAN 管不到的历史残留文件核心解决这一步是解决 删完还有好几年前文件 的唯一方法# 进入归档目录 cd /oracle/app/archivelog # 【安全预览】先查看要删除的文件列表确认是15天前的旧文件 find . -name *.dbf -mtime 15 -ls # 【正式删除】删除15天前的所有dbf文件执行完立刻释放空间 find . -name *.dbf -mtime 15 -delete # 验证空间释放 df -h /oracle/app/archivelog⚠️ 注意如果你的归档目录还有其他类型的文件如备份片请将*.dbf改为对应的文件后缀如*.arc、*.bkp。三、核心配置归档日志保留周期策略紧急清理只是治标要一劳永逸解决问题必须配置合理的 RMAN 保留策略。Oracle 提供了两种主流的保留策略推荐使用基于恢复窗口的策略更直观易懂。3.1 策略一基于恢复窗口推荐定义你需要能恢复到过去多少天内的任意时间点Oracle 会自动保留满足这个恢复要求的所有归档日志。rman target / # 配置保留15天的恢复窗口最常用可改为7/30天 RMAN CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 15 DAYS; # 验证配置 RMAN SHOW RETENTION POLICY;3.2 策略二基于冗余度定义保留多少份完整的备份Oracle 会自动保留这些备份所需的归档日志。# 配置保留2份完整备份适合备份频率固定的场景 RMAN CONFIGURE RETENTION POLICY TO REDUNDANCY 2;3.3 特殊场景备库环境的归档删除策略如果你的数据库有 DataGuard 备库绝对不能直接按时间删除归档否则会导致备库断连。必须配置以下策略# 仅删除已经应用到所有备库的归档日志 RMAN CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY; # 同时满足已应用到备库和保留15天两个条件才删除推荐 RMAN CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY AND TIME 15;3.4 恢复默认策略如果需要恢复到 Oracle 默认配置执行以下命令RMAN CONFIGURE RETENTION POLICY CLEAR; RMAN CONFIGURE ARCHIVELOG DELETION POLICY CLEAR;四、自动化配置定时任务实现无人值守清理配置好保留策略后通过 Linux 的 crontab 定时任务自动执行清理彻底解放双手。4.1 创建清理脚本新建/home/oracle/scripts/clean_archivelog.sh内容如下#!/bin/bash # # Oracle 归档日志自动清理脚本 # 作者运维工程师 # 日期2026-04-10 # 功能自动清理符合RMAN保留策略的归档日志并删除物理残留 # # 【修改为你的实际环境变量】 export ORACLE_HOME/u01/app/oracle/product/11.2.0/dbhome_1 export ORACLE_SIDORCL export PATH$ORACLE_HOME/bin:$PATH # 日志文件路径 LOG_FILE/home/oracle/logs/clean_archivelog_$(date %Y%m%d).log # 创建日志目录 mkdir -p /home/oracle/logs echo 归档清理开始 $(date) $LOG_FILE # 1. RMAN清理过期归档和备份 echo 1. 开始执行RMAN清理... $LOG_FILE rman target / $LOG_FILE EOF CROSSCHECK ARCHIVELOG ALL; DELETE NOPROMPT EXPIRED ARCHIVELOG ALL; DELETE NOPROMPT OBSOLETE; EXIT; EOF # 2. 清理RMAN管不到的物理残留保留15天 echo 2. 开始清理物理残留文件... $LOG_FILE find /oracle/app/archivelog -name *.dbf -mtime 15 -delete $LOG_FILE 21 # 3. 记录当前磁盘空间 echo 3. 当前归档目录空间使用情况 $LOG_FILE df -h /oracle/app/archivelog $LOG_FILE echo 归档清理完成 $(date) $LOG_FILE echo $LOG_FILE4.2 赋予执行权限chmod x /home/oracle/scripts/clean_archivelog.sh4.3 添加定时任务# 编辑crontab任务 crontab -e # 添加以下内容每天凌晨2点执行清理 0 2 * * * /home/oracle/scripts/clean_archivelog.sh4.4 验证# 查看定时任务 crontab -l # 手动执行一次测试 /home/oracle/scripts/clean_archivelog.sh # 查看执行日志 tail -f /home/oracle/logs/clean_archivelog_$(date %Y%m%d).log五、常见坑与避坑指南5.1 坑 1执行 DELETE OBSOLETE 后空间没释放原因如前文所述旧文件不在控制文件记录中RMAN 无法识别。解决执行本文 2.2 节的 find 命令手工删除物理残留。5.2 坑 2备库环境直接按时间删除归档后果备库无法获取需要的归档日志导致备库断连需要重新搭建。解决配置 3.3 节的备库专属删除策略。5.3 坑 3删除归档后没有备份后果如果数据库出现故障无法进行时间点恢复只能恢复到最后一次全备的时间点。解决确保每天有一次全量或增量备份归档日志保留时间必须长于备份周期重要业务建议保留至少 30 天的归档日志5.4 坑 4控制文件保留时间过短原因control_file_record_keep_time参数默认值为 7 天部分版本为 30 天如果备份周期超过这个值RMAN 会丢失备份记录。解决-- 修改控制文件记录保留时间为31天建议大于归档保留时间 ALTER SYSTEM SET control_file_record_keep_time31 SCOPESPFILE; -- 重启数据库生效 SHUTDOWN IMMEDIATE; STARTUP;六、最佳实践总结保留周期建议普通业务系统保留 7-15 天归档核心业务系统保留 30 天归档金融 / 医疗等合规要求高的系统保留 6 个月 - 1 年归档空间监控配置 Zabbix/Prometheus 监控归档目录使用率超过 80% 告警定期检查清理脚本执行日志确保自动化正常运行备份与归档的关系归档日志是为了支持时间点恢复没有备份的归档日志毫无意义备份完成后再删除归档日志永远不要删除最新的备份对应的归档应急处理流程归档目录爆满时优先删除最旧的几个归档文件让数据库先恢复写入再按本文步骤执行完整清理最后检查备份和保留策略是否正常写在最后归档日志管理是 Oracle 数据库运维中最基础也最重要的工作之一。很多人因为忽略了 RMAN 删不掉旧文件 这个细节导致业务中断造成不必要的损失。希望本文能帮你彻底解决归档日志空间问题让你的数据库稳定运行。如果觉得文章有用欢迎点赞收藏也欢迎在评论区交流你的运维经验。

相关文章:

Oracle归档日志爆满急救指南

作为运维工程师,你一定遇到过这样的紧急情况:/oracle/app/archivelog 目录突然爆满,数据库挂起无法写入,业务全线中断。你慌忙执行了网上找到的 DELETE OBSOLETE 命令,却发现磁盘空间纹丝不动 —— 目录里还躺着好几年…...

【模拟IC】从指标到参数:二级运放GBW与相位裕度的设计实战

1. 理解GBW与相位裕度的工程意义 第一次接触运放设计时,看到GBW100MHz、PM>60这样的指标要求,就像拿到一张没有说明书的电路图。作为从业十年的模拟IC工程师,我至今记得当初面对这些抽象参数时的困惑。**增益带宽积(GBW)和相位裕度(PM)**本…...

MindSpore 环境配置完全指南雀

前面我们对 Kafka 的整体架构和一些关键的概念有了一个基本的认知,本文主要介绍 Kafka 的一些配置参数。掌握这些参数的作用对我们的运维和调优工作还是非常有帮助的。 写在前面 Kafka 作为一个成熟的事件流平台,有非常多的配置参数。详细的参数列表可以…...

基于 Vue + TS + Ant Design Vue 实现精细化菜单按钮权限授权组件腥

7.1 初识三维模型 7.1.1 三维模型的数据载体 随着计算机图形技术的发展,我们或多或少都会见过或者听说过三维模型。笔者始终记得小时候第一次在电视上看到三维动画《变形金刚:超能勇士》的震撼感受;而现在我们已经可以在手机上玩三维游戏《…...

探秘书匠策AI:毕业论文“通关秘籍”大揭秘

在学术的漫漫征途中,毕业论文宛如一座巍峨的高峰,横亘在众多学子面前。它不仅是对多年学习成果的全面检验,更是开启未来学术或职业大门的关键钥匙。然而,毕业论文的撰写过程充满了挑战,从选题时的迷茫,到资…...

【车载嵌入式】TBOX:智能汽车的“云端神经中枢”与数据引擎

1. TBOX:智能汽车的“云端神经中枢”是什么? 想象一下你的爱车突然有了“超能力”——能自动报告故障、远程启动空调、甚至预测保养时间。这些神奇功能的背后,都离不开一个藏在仪表盘下方的小盒子:TBOX(Telematics BOX…...

从电子琴到智能家居:无源蜂鸣器如何玩出花样?附ESP32播放《超级玛丽》主题曲代码

无源蜂鸣器的创意交响曲:从电子琴到游戏音效的ESP32实战指南 在创客和物联网开发的世界里,声音交互常常是项目中最容易被忽视却又最能提升用户体验的环节。无源蜂鸣器这个看似简单的元件,实际上蕴藏着惊人的创意潜力——它不只是发出单调的&q…...

MyBatis-Plus lambdaQuery条件构造器:EQ、NE、GT等操作符实战解析

1. 为什么需要lambdaQuery条件构造器 如果你用过MyBatis,肯定遇到过这样的场景:为了查询某个状态的数据,不得不写一堆if判断来拼接SQL。比如查询用户列表,要根据不同条件筛选,代码里全是"if(name!null){sql"…...

从零构建:基于UWB与MiniFly的室内无人机协同定位系统

1. 为什么选择UWB与MiniFly组合? 室内无人机定位一直是个技术难题。GPS信号穿墙能力差,光学定位受光线影响大,而UWB(超宽带)技术就像是为室内环境量身定制的定位方案。我最早接触这个组合是在一次创客马拉松上&#xf…...

【生产环境亲测】HANA2.0高可用切换实战指南

SLES 15 SP3 + HANA 2.0 SPS06 生产级 HA 手工切换全流程 | 维护模式规范 | 零数据丢失 | Pacemaker 集群运维 文章标签 SAP HANA SLES 15 SP3 高可用切换 Pacemaker SAP Basis 运维实战 数据库维护 一、前言 在 SLES 15 SP3 + SAP HANA 2.0 SPS06 + Pacemaker/Corosync 高可…...

RAGFlow服务报错排查:如何快速解决429 Too Many Requests错误

RAGFlow服务429错误全链路诊断与高可用架构设计实战 第一次在RAGFlow日志里看到"HTTP 429 Too Many Requests"时,我正端着咖啡准备验收新上线的智能文档分析系统。监控大屏突然变红的那一刻,整个运维团队的手指都悬在了键盘上方——这个看似简…...

空气质量指数背后的科学:从污染物浓度到健康影响的完整解读

空气质量指数背后的科学:从污染物浓度到健康影响的完整解读 清晨推开窗户,你是否曾因灰蒙蒙的天空而犹豫今天的晨跑计划?天气预报中那个看似简单的AQI数值,实则凝结了环境科学家们数十年的研究成果。这个介于0到500之间的数字&am…...

UniCloud前端网页托管+阿里云:如何绕过小程序审核,用H5快速迭代你的应用?

UniCloud阿里云混合开发实战:H5动态更新与小程序无缝整合方案 微信小程序审核周期长、更新受限是许多开发者面临的痛点。本文将介绍一种创新解决方案:通过UniCloud前端网页托管结合阿里云域名服务,构建可动态更新的H5应用,再借助小…...

蓝桥杯第15届单片机满分

1. 为什么会在第 5 位显示出 8&#xff1f;freq_jiaofreqseg_jiao;//频率数据的最终结果 if(freq_jiao<0) {wrong1;//频率界面数码管显示LL,表示此状态错误 } else wrong0;而在 serviceT1 的中断里&#xff0c;每 1000ms 更新一次 freq&#xff1a;当测试系统改变输入频率&a…...

AutoGen框架下Memory与RAG的深度整合:打造高效智能体记忆系统

1. AutoGen框架中的Memory机制解析 第一次接触AutoGen的Memory功能时&#xff0c;我就像发现了一个新大陆。想象一下&#xff0c;你家的智能音箱突然能记住你上次说"把空调调到25度"&#xff0c;下次直接说"跟上次一样"就能自动调节——这就是Memory的魔力…...

AI原生研发转型落地难?(SITS2026闭门报告首次解密:92%企业卡在“伪敏捷+真人工”陷阱)

第一章&#xff1a;AI原生研发的文化变革&#xff1a;从认知断层到组织跃迁 2026奇点智能技术大会(https://ml-summit.org) 当大模型不再仅是“调用API的工具”&#xff0c;而成为代码生成、测试覆盖、架构推演与运维决策的默认协作者&#xff0c;研发团队的认知基线正经历一…...

GFF3格式完全解析:从基因组注释到可视化实战教程

GFF3格式完全解析&#xff1a;从基因组注释到可视化实战教程 基因组注释是生物信息学分析中的核心环节&#xff0c;而GFF3作为当前主流的注释格式&#xff0c;其结构化设计能够精准描述基因、转录本、外显子等元素的层级关系。本文将带您深入理解GFF3的规范细节&#xff0c;并通…...

AI原生研发的“冰山协议”:SITS2026首次公开未写入文档的8项隐性契约(含法律、运维、伦理三维度合规 checklist)

第一章&#xff1a;SITS2026专家解读&#xff1a;AI原生研发的核心挑战 2026奇点智能技术大会(https://ml-summit.org) AI原生研发并非简单地将大模型API嵌入传统系统&#xff0c;而是重构软件生命周期的范式——从需求建模、架构设计、代码生成到验证运维&#xff0c;全部以L…...

3分钟掌握M3U8视频下载:N_m3u8DL-CLI-SimpleG终极指南

3分钟掌握M3U8视频下载&#xff1a;N_m3u8DL-CLI-SimpleG终极指南 【免费下载链接】N_m3u8DL-CLI-SimpleG N_m3u8DL-CLIs simple GUI 项目地址: https://gitcode.com/gh_mirrors/nm3/N_m3u8DL-CLI-SimpleG 你是否曾经遇到过心爱的在线视频无法保存的烦恼&#xff1f;那些…...

USB运动控制五轴雕刻机系统完全开源资料:PCB生产支持,多版本C++源码,五轴联动与RTCP...

USB运动控制 (五轴雕刻机系统)全部开源 不保留任何关键技术&#xff0c;PCB可直接生产&#xff0c;C6.0源码&#xff0c;从13.7-18.2所有版本&#xff0c;本产品为可复制资料&#xff0c;支持五轴联动&#xff0c;支持RTCP算法&#xff0c;全部开源。1、为电子资料 2、PCB底板原…...

Qwen3-ASR-1.7B效果实测:1.7B参数量带来的上下文联想能力提升验证

Qwen3-ASR-1.7B效果实测&#xff1a;1.7B参数量带来的上下文联想能力提升验证 1. 语音识别新标杆&#xff1a;Qwen3-ASR-1.7B深度解析 语音识别技术正在经历一场静默的革命。当我们还在为0.6B参数模型的准确率感到惊喜时&#xff0c;Qwen3-ASR-1.7B已经以近乎三倍的参数量重新…...

梦幻动漫魔法工坊在内容创作中的应用:快速生成文章配图与插画

梦幻动漫魔法工坊在内容创作中的应用&#xff1a;快速生成文章配图与插画 1. 为什么内容创作者需要AI动漫生成工具 在当今内容爆炸的时代&#xff0c;视觉元素已成为吸引读者的关键因素。研究表明&#xff0c;带有高质量配图的文章能获得94%以上的浏览量提升。但对于大多数文…...

Vivado2020.2与Modelsim2020.4联合仿真实战:从安装到避坑指南

1. 环境准备与安装避坑指南 刚接触FPGA开发的朋友们&#xff0c;肯定对Vivado和Modelsim这对黄金搭档不陌生。但说实话&#xff0c;我第一次用Vivado2020.2和Modelsim2020.4做联合仿真时&#xff0c;差点被各种坑给劝退。今天我就把踩过的坑和解决方案都整理出来&#xff0c;让…...

OpenClaw配置优化:Qwen3-4B模型响应速度提升30%的技巧

OpenClaw配置优化&#xff1a;Qwen3-4B模型响应速度提升30%的技巧 1. 为什么需要优化OpenClaw的性能 上周我在本地部署了OpenClaw对接Qwen3-4B模型&#xff0c;准备用它来处理日常的文档整理工作。最初的体验让我既惊喜又头疼——惊喜的是这个组合确实能完成复杂的自动化任务…...

Coze插件开发实战:如何将现有API快速封装并发布到扣子商店

1. 从零开始理解Coze插件开发 第一次接触Coze插件开发时&#xff0c;我也被各种概念绕得头晕。简单来说&#xff0c;这就像给手机安装APP——扣子商店是应用市场&#xff0c;插件就是里面的各种APP。而我们要做的&#xff0c;就是把自家开发的API服务打包成这样一个"APP&q…...

用LLM提高语音转文本的准确率

语音转文本转换&#xff0c;也称为自动语音识别&#xff08;ASR&#xff09;或音频转录&#xff0c;是将口语音频转换为书面文本的过程&#xff0c;生成的文本称为转录稿。虽然基于 Transformer 的模型现已广泛应用于语音转文本转换&#xff0c;但对于较小或资源匮乏的语言&…...

突破性AI语音转换实战指南:RVC从入门到精通的完整路径

突破性AI语音转换实战指南&#xff1a;RVC从入门到精通的完整路径 【免费下载链接】Retrieval-based-Voice-Conversion-WebUI Easily train a good VC model with voice data < 10 mins! 项目地址: https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Convers…...

Go语言怎么做SSE推送_Go语言Server-Sent Events教程【速学】

Go写SSE handler需设Content-Type和Cache-Control头、逐行写data:并双换行、每次调Flush&#xff1b;须禁用Read/WriteTimeout、设IdleTimeout&#xff1b;用chansync.Map实现安全广播&#xff0c;监听r.Context().Done()防泄漏。Go怎么写一个能发SSE的HTTP handlerGo原生不带S…...

告别会议记录焦虑:TMSpeech 如何用离线语音识别重塑你的工作效率

告别会议记录焦虑&#xff1a;TMSpeech 如何用离线语音识别重塑你的工作效率 【免费下载链接】TMSpeech 腾讯会议摸鱼工具 项目地址: https://gitcode.com/gh_mirrors/tm/TMSpeech 你是否曾在重要会议中因为分心记录而错过关键讨论&#xff1f;是否担心云端语音识别服务…...

2026年心脑血管疾病专科风云榜:谁是健康守护者?

随着现代生活节奏的加快和生活方式的变化&#xff0c;心脑血管疾病的发病率逐年上升。根据《中国心血管健康与疾病报告2025》显示&#xff0c;我国40岁以上人群中心脑血管疾病患者已超过3亿人。面对这一严峻形势&#xff0c;如何找到值得信赖的心脑血管疾病专科医院&#xff0c…...