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

【Oracle数据库指南】第32篇:Oracle归档日志管理与LogMiner日志分析

上一篇【第31篇】Oracle重做日志文件管理操作详解下一篇【第33篇】Oracle表管理与分区表详解摘要归档日志Archive Log是Oracle数据库实现时间点恢复的核心机制也是数据库备份恢复策略的重要组成部分。本文详细讲解归档模式的开启与配置、归档目标的设置、归档日志的监控与管理以及Oracle内置的日志挖掘工具 LogMinerDBMS_LOGMNR的使用方法——通过分析重做/归档日志来追踪历史SQL操作是DBA审计、排错和数据恢复的利器。一、归档模式概述1.1 非归档模式 vs 归档模式特性非归档模式NOARCHIVELOG归档模式ARCHIVELOG数据安全性只能恢复到最近一次完整备份可以恢复到任意时间点在线热备份不支持支持日志使用循环覆盖旧日志被覆盖旧日志在归档后才能覆盖磁盘要求较低较高需要存储归档文件适用场景开发/测试环境生产环境必须结论生产数据库必须开启归档模式。1.2 检查当前模式-- 查看当前日志模式SELECTname,log_modeFROMv$database;-- LOG_MODE ARCHIVELOG 或 NOARCHIVELOG-- 也可以查看参数SHOWPARAMETER log_archive_dest_1;二、切换归档模式2.1 从非归档切换到归档模式-- 步骤1关闭数据库需要正常关闭SHUTDOWNIMMEDIATE;-- 步骤2启动到 MOUNT 状态不打开数据文件STARTUP MOUNT;-- 步骤3切换到归档模式ALTERDATABASEARCHIVELOG;-- 步骤4打开数据库ALTERDATABASEOPEN;-- 步骤5验证SELECTlog_modeFROMv$database;-- LOG_MODE ARCHIVELOG-- 步骤6手动切换一次日志测试归档是否正常工作ALTERSYSTEM SWITCH LOGFILE;ALTERSYSTEM ARCHIVE LOGALL;-- 步骤7查看归档日志是否生成SELECTname,sequence#, archived, appliedFROMv$archived_logORDERBYsequence# DESCFETCHFIRST5ROWSONLY;2.2 从归档模式切换回非归档模式不推荐SHUTDOWNIMMEDIATE;STARTUP MOUNT;ALTERDATABASENOARCHIVELOG;ALTERDATABASEOPEN;三、归档目标配置3.1 本地归档目标-- 设置本地归档目标ALTERSYSTEMSETLOG_ARCHIVE_DEST_1LOCATION/u03/archive/testdbSCOPEBOTH;-- 设置归档文件命名格式ALTERSYSTEMSETLOG_ARCHIVE_FORMATtestdb_%t_%s_%r.arcSCOPESPFILE;-- %t 线程号, %s 序列号, %r 重置日志ID-- 设置并行归档进程数ALTERSYSTEMSETLOG_ARCHIVE_MAX_PROCESSES4SCOPEBOTH;3.2 使用快速恢复区FRA作为归档目标-- 配置FRA作为归档目标推荐Oracle自动管理文件ALTERSYSTEMSETDB_RECOVERY_FILE_DEST/u04/fast_recovery_areaSCOPEBOTH;ALTERSYSTEMSETDB_RECOVERY_FILE_DEST_SIZE50G SCOPEBOTH;-- 将LOG_ARCHIVE_DEST_1设置为USE_DB_RECOVERY_FILE_DESTALTERSYSTEMSETLOG_ARCHIVE_DEST_1LOCATIONUSE_DB_RECOVERY_FILE_DESTSCOPEBOTH;3.3 多个归档目标-- 同时归档到多个位置本地 远程ALTERSYSTEMSETLOG_ARCHIVE_DEST_1LOCATION/u03/archive/testdb MANDATORY-- 本地必须成功SCOPEBOTH;ALTERSYSTEMSETLOG_ARCHIVE_DEST_2SERVICEstandby_db ASYNC-- 远程备库异步SCOPEBOTH;-- 设置归档最小成功数至少1个目标成功归档才允许日志切换ALTERSYSTEMSETLOG_ARCHIVE_MIN_SUCCEED_DEST1SCOPEBOTH;四、归档日志监控4.1 查看归档状态-- 查看最近的归档日志SELECTsequence#, name, first_time, next_time,blocks*block_size/1024/1024ASsize_mb,archived,deletedFROMv$archived_logWHEREarchivedYESORDERBYsequence# DESCFETCHFIRST20ROWSONLY;-- 查看归档目标状态SELECTdest_id,dest_name,status,target,archiver,scheduleFROMv$archive_dest_statusWHEREstatus!INACTIVE;-- 查看今日归档量SELECTTRUNC(completion_time,HH)AShour,COUNT(*)ASfiles,SUM(blocks*block_size)/1024/1024AStotal_mbFROMv$archived_logWHEREcompletion_timeTRUNC(SYSDATE)ANDarchivedYESGROUPBYTRUNC(completion_time,HH)ORDERBY1;4.2 归档目录空间监控-- 查看FRA空间使用情况SELECTspace_limit/1024/1024/1024ASlimit_gb,space_used/1024/1024/1024ASused_gb,ROUND(space_used/space_limit*100,2)ASused_pct,space_reclaimable/1024/1024/1024ASreclaimable_gbFROMv$recovery_file_dest;-- 查看FRA中各类型文件占用SELECTfile_type,number_of_files,percent_space_used,percent_space_reclaimableFROMv$recovery_area_usage;4.3 清理过期归档日志# 使用RMAN删除过期归档推荐方式rman target /EOF -- 删除所有已备份的归档日志 DELETE NOPROMPT ARCHIVELOG ALL BACKED UP 1 TIMES TO DISK; -- 删除超过保留窗口的归档日志 DELETE NOPROMPT OBSOLETE; -- 删除7天前的归档日志 DELETE NOPROMPT ARCHIVELOG UNTIL TIME SYSDATE-7; EOF五、LogMiner——日志挖掘工具5.1 LogMiner 概述LogMiner 是 Oracle 内置的日志分析工具通过DBMS_LOGMNR包调用可以从重做/归档日志中提取出历史 SQL 语句用于数据审计追踪谁在什么时间修改了什么数据误操作恢复找到误删/误改前的原始数据生成 UNDO SQL故障诊断分析复制延迟、数据不一致等问题数据同步基于日志的增量同步OGG 等工具的底层原理5.2 LogMiner 使用前提-- 前提1启用附加日志Supplemental Logging以获取足够的信息-- 查看当前状态SELECTsupplemental_log_data_min,supplemental_log_data_pkFROMv$database;-- 启用最小附加日志必须ALTERDATABASEADDSUPPLEMENTAL LOGDATA;-- 启用主键附加日志推荐记录WHERE条件中的主键值ALTERDATABASEADDSUPPLEMENTAL LOGDATA(PRIMARYKEY)COLUMNS;-- 前提2需要对 V$LOGMNR_CONTENTS 有查询权限DBA 用户默认有GRANTSELECTONv_$logmnr_contentsTOlogminer_user;GRANTEXECUTEONDBMS_LOGMNRTOlogminer_user;GRANTEXECUTEONDBMS_LOGMNR_DTOlogminer_user;5.3 提取数据字典-- 方法1将数据字典提取到日志文件在线数据库EXECUTEDBMS_LOGMNR_D.BUILD(DICTIONARY_FILENAMElogmnr_dict.ora,DICTIONARY_LOCATION/tmp);-- 方法2使用重做日志自带字典ONLINE_CATALOG最简单-- 直接在 START_LOGMNR 时指定 DICT_FROM_ONLINE_CATALOG 选项5.4 分析在线重做日志实时查看-- 步骤1添加要分析的日志文件EXECUTEDBMS_LOGMNR.ADD_LOGFILE(LOGFILENAME/u01/redo1/redo01a.log,OPTIONSDBMS_LOGMNR.NEW);-- 步骤2启动 LogMiner使用在线数据字典最方便EXECUTEDBMS_LOGMNR.START_LOGMNR(OPTIONSDBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);-- 步骤3查询 LogMiner 内容SELECTSCN,TIMESTAMP,SEG_OWNER,SEG_NAME,OPERATION,SQL_REDO,SQL_UNDO,USERNAME,SESSION#FROMv$logmnr_contentsWHERESEG_OWNERSCOTTANDSEG_NAMEEMPORDERBYSCN;-- 步骤4关闭 LogMinerEXECUTEDBMS_LOGMNR.END_LOGMNR;5.5 分析归档日志历史数据分析-- 分析特定时间段内的历史操作EXECUTEDBMS_LOGMNR.START_LOGMNR(STARTTIMETO_DATE(2024-01-15 09:00:00,YYYY-MM-DD HH24:MI:SS),ENDTIMETO_DATE(2024-01-15 10:30:00,YYYY-MM-DD HH24:MI:SS),OPTIONSDBMS_LOGMNR.DICT_FROM_ONLINE_CATALOGDBMS_LOGMNR.CONTINUOUS_MINE-- 自动追加归档日志DBMS_LOGMNR.COMMITTED_DATA_ONLY-- 只显示已提交的事务);-- 查询找出指定时间段内对EMP表的所有DML操作SELECTTO_CHAR(TIMESTAMP,HH24:MI:SS)AStime,USERNAME,OPERATION,SQL_REDO,SQL_UNDOFROMv$logmnr_contentsWHERESEG_OWNERSCOTTANDSEG_NAMEEMPANDOPERATIONIN(INSERT,UPDATE,DELETE)ORDERBYSCN;EXECUTEDBMS_LOGMNR.END_LOGMNR;5.6 实战案例找回误删的数据-- 场景2024-01-15 10:00 有人执行了 DELETE FROM scott.emp WHERE deptno20-- 需要恢复被删除的数据-- 步骤1启动LogMiner分析删除操作前后的时间段EXECUTEDBMS_LOGMNR.START_LOGMNR(STARTTIMETO_DATE(2024-01-15 09:50:00,YYYY-MM-DD HH24:MI:SS),ENDTIMETO_DATE(2024-01-15 10:10:00,YYYY-MM-DD HH24:MI:SS),OPTIONSDBMS_LOGMNR.DICT_FROM_ONLINE_CATALOGDBMS_LOGMNR.CONTINUOUS_MINEDBMS_LOGMNR.COMMITTED_DATA_ONLY);-- 步骤2提取被删除数据的 SQL_UNDO即 INSERT 语句SELECTSQL_UNDOFROMv$logmnr_contentsWHERESEG_OWNERSCOTTANDSEG_NAMEEMPANDOPERATIONDELETEORDERBYSCN;-- 步骤3SQL_UNDO 的内容就是 INSERT 语句执行它恢复数据-- insert into SCOTT.EMP(EMPNO,ENAME,JOB,SAL,DEPTNO)-- values (7369,SMITH,CLERK,800,20);-- ...逐行执行EXECUTEDBMS_LOGMNR.END_LOGMNR;六、LogMiner 输出字段说明字段说明SCN系统变更号用于排序事务顺序TIMESTAMP操作时间OPERATIONDML操作类型INSERT/UPDATE/DELETE/DDL等SEG_OWNER对象所属用户SEG_NAME对象名表名等SQL_REDO重做SQL操作本身SQL_UNDO撤销SQL操作的逆操作用于恢复数据USERNAME执行操作的数据库用户SESSION#会话号COMMIT_SCN提交SCN七、最佳实践生产环境必须开启归档模式无归档 无法做时间点恢复配置多个归档目标本地 FRA提高可靠性监控归档目录空间FRA 使用率超过80%时告警定期清理归档日志用RMAN DELETE不要手工删除会影响恢复目录提前开启附加日志生产环境预先启用 SUPPLEMENTAL LOG DATA方便事后分析LogMiner 使用完毕及时关闭END_LOGMNR 释放资源八、总结归档日志管理与LogMiner的核心要点归档模式生产必须开启支持热备和时间点恢复切换方式SHUTDOWN → STARTUP MOUNT → ALTER DATABASE ARCHIVELOG → OPEN归档目标本地目录或FRA支持多个目标监控关注归档频率、FRA空间使用LogMiner分析日志、找回误操作数据、生成 SQL_UNDO附加日志LogMiner 准确工作需开启 SUPPLEMENTAL LOG DATA上一篇【第31篇】Oracle重做日志文件管理操作详解下一篇【第33篇】Oracle表管理与分区表详解参考资料《Oracle 11g数据库管理员指南》— 刘宪军著Oracle官方文档Database Administrator’s Guide - Managing Archived Redo Log FilesOracle官方文档Database Utilities - Using LogMiner to Analyze Redo Log Files

相关文章:

【Oracle数据库指南】第32篇:Oracle归档日志管理与LogMiner日志分析

上一篇【第31篇】Oracle重做日志文件管理操作详解 下一篇【第33篇】Oracle表管理与分区表详解 摘要 归档日志(Archive Log)是Oracle数据库实现时间点恢复的核心机制,也是数据库备份恢复策略的重要组成部分。本文详细讲解归档模式的开启与配置…...

购买腾讯云时最容易被忽略的痛点:配置、成本和运维闭环

很多客户在购买腾讯云或开始使用腾讯云时,真正的痛点往往不是“不会下单”,而是下单前后缺少一套清晰的决策和运维闭环。第一个痛点是配置选择不确定。不少团队会先纠结 CPU、内存、带宽、地域、系统盘和数据盘怎么选。配置买低了担心业务跑不动&#xf…...

基于Terraform与Ansible的OpenClaw私有化AI代理自动化部署实践

1. 项目概述如果你和我一样,对AI助手的能力有更高的期待,希望它能深度融入你的工作流,甚至能帮你处理一些自动化任务,那么OpenClaw这个项目绝对值得你花时间研究。它不是一个简单的聊天机器人,而是一个可以部署在你私有…...

如何在5分钟内体验完整的Windows 12网页版:创新系统模拟器终极指南

如何在5分钟内体验完整的Windows 12网页版:创新系统模拟器终极指南 【免费下载链接】win12 Windows 12 网页版,在线体验 点击下面的链接在线体验 项目地址: https://gitcode.com/gh_mirrors/wi/win12 想要在浏览器中运行完整的Windows系统界面吗&…...

Cursor Pro破解工具:3分钟快速激活高级功能的终极方案

Cursor Pro破解工具:3分钟快速激活高级功能的终极方案 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your tri…...

3步搞定安卓应用Windows安装:告别臃肿模拟器的终极解决方案

3步搞定安卓应用Windows安装:告别臃肿模拟器的终极解决方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否厌倦了那些占用大量系统资源、启动缓慢的…...

深度学习提取结构光条中心线项目的对比实验与消融实验统计分析方法研究

深度学习提取结构光条中心线项目的对比实验与消融实验统计分析方法研究 1 引言 线结构光三维测量技术凭借其非接触、高精度、快速测量等优势,在工业测量、三维重建、智能制造等领域得到了广泛应用。在结构光视觉测量系统中,光条中心线的提取精度直接决定了三维重建和尺寸测…...

Coze平台智能物资匹配系统——完整设计与实现指南

Coze平台智能物资匹配系统——完整设计与实现指南 文档概述 本文档提供一套完整的技术解决方案,用于在Coze(扣子)平台上搭建智能物资匹配系统。该系统以“残值+运费最小化”为核心优化目标,支持用户输入地点和物资需求或上传表格文件,自动匹配最佳物资并输出等多组备选方…...

从零打造你的AI图像放大神器:waifu2x-caffe完全指南

从零打造你的AI图像放大神器:waifu2x-caffe完全指南 【免费下载链接】waifu2x-caffe waifu2xのCaffe版 项目地址: https://gitcode.com/gh_mirrors/wa/waifu2x-caffe 想象一下,你珍藏多年的动漫壁纸分辨率太低,无法作为4K显示器背景&a…...

为你的Nodejs后端服务快速集成大模型能力

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为你的Nodejs后端服务快速集成大模型能力 当你的Node.js应用需要添加智能对话或内容生成功能时,直接对接各大模型厂商的…...

[特殊字符] 科普:论文查重的AI原理是什么?这个免费工具把“黑科技“讲明白了

同学们好,我是你们的论文写作科普博主。 今天不聊怎么选题,不聊怎么写文献综述,咱们来聊一个99%的同学都踩过坑的环节——查重。 先问大家一个问题:你知道查重到底是怎么查的吗? 很多同学以为查重就是"把你的文…...

现在的人为什么不焦虑了!

就拿我来说吧!现在你努力没有方向,焦虑只能让自己的什么出现问题,晚上睡不好的,伴随着偏头疼,是在是太难了。 !、而且回过头来看我们真的需要那么多消费吗?消费降一点,吃踏实点&…...

如何应对论文AIGC检测算法升级?2026实测5大降AI工具(附优缺点)

最近看了一些行业报告,AI工具在写作方面的普及率真的已经超乎想象了。 很多大学生在写论文时也都习惯用AI来辅助寻找灵感、提高效率。 与此同时,相关部门针对人工智能写作出台了一系列规定,各大学术检测平台也都在不断升级AIGC检测算法。 现…...

Windows Cleaner终极指南:5个技巧让C盘空间瞬间释放

Windows Cleaner终极指南:5个技巧让C盘空间瞬间释放 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner Windows Cleaner是一款专为Windows系统设计的开源…...

Windows APK安装器完整指南:无需安卓手机直接安装应用

Windows APK安装器完整指南:无需安卓手机直接安装应用 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 想要在Windows电脑上直接安装Android应用吗&#xff…...

BilibiliVideoDownload故障排查指南:从登录失败到下载中断的全面解决方案

BilibiliVideoDownload故障排查指南:从登录失败到下载中断的全面解决方案 【免费下载链接】BilibiliVideoDownload Cross-platform download bilibili video desktop software, support windows, macOS, Linux 项目地址: https://gitcode.com/gh_mirrors/bi/Bilib…...

【限时开放】ChatGPT-Sora 2联合推理链搭建教程:含Prompt模板库、错误码速查表与延迟压测数据(仅存96小时)

更多请点击: https://intelliparadigm.com 第一章:ChatGPT-Sora 2联合推理链的核心架构与演进逻辑 ChatGPT-Sora 2联合推理链代表了多模态大模型协同推理范式的重大跃迁——它并非简单地将语言模型与视频生成模型并联调用,而是构建了语义对齐…...

微信聊天记录永久保存:免费开源工具WeChatExporter完整使用指南

微信聊天记录永久保存:免费开源工具WeChatExporter完整使用指南 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 你是否曾担心珍贵的微信聊天记录会随着手机更…...

3分钟快速上手:Sonar CNES Report代码质量报告生成完整指南

3分钟快速上手:Sonar CNES Report代码质量报告生成完整指南 【免费下载链接】sonar-cnes-report Generates analysis reports from SonarQube web API. 项目地址: https://gitcode.com/gh_mirrors/so/sonar-cnes-report Sonar CNES Report 是一个强大的开源工…...

Windows 11本地部署最新大模型深度方案

一、方案概述 随着大语言模型的快速发展,本地部署已成为保护数据隐私、降低API成本的重要选择。本方案将详细介绍在Windows 11系统上部署最新大模型的完整流程,包括硬件配置、环境搭建、模型选择和性能优化。 二、硬件配置要求 2.1 最低配置 GPU: NVIDIA…...

3步快速安装:APK Installer让你在Windows电脑上直接运行Android应用

3步快速安装:APK Installer让你在Windows电脑上直接运行Android应用 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 在Windows电脑上直接安装和运行Android…...

初创团队如何利用Taotoken管理多模型API成本

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 初创团队如何利用Taotoken管理多模型API成本 对于初创团队而言,在快速迭代产品、集成多个大语言模型以增强功能时&…...

5个7+ Taskbar Tweaker深度诊断技巧:彻底解决Windows任务栏定制难题

5个7 Taskbar Tweaker深度诊断技巧:彻底解决Windows任务栏定制难题 【免费下载链接】7-Taskbar-Tweaker A Windows taskbar customization tool for Windows 7, Windows 8, and Windows 10 项目地址: https://gitcode.com/gh_mirrors/7t/7-Taskbar-Tweaker 7…...

Boomi宣布2026财年亚太及日本地区合作伙伴奖得主

数据激活公司Boomi™今日公布其2026财年亚太及日本地区合作伙伴奖获奖名单。该奖项旨在表彰在该地区推动创新和为客户创造可衡量业务成果的Boomi合作伙伴。 本次获奖企业充分运用Boomi企业平台的全面能力实现数据激活、简化复杂流程和加速智能体转型,帮助客户更快创…...

无人机协议

1. MAVLink协议 概述:MAVLink是一种轻量级、低带宽的无人机通信协议,它支持点对点、广播和多播通信,并且可以在不同的平台上使用。应用:MAVLink协议广泛应用于PX4、ArduPilot等开源飞控系统中,用于地面站和无人机之间…...

终极指南:掌握AMD Ryzen深度调试的完整解决方案

终极指南:掌握AMD Ryzen深度调试的完整解决方案 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gitcode.…...

从键盘到5G模组:深入浅出聊聊USB那些五花八门的‘设备类’(HID/CDC/MSC)

从键盘到5G模组:深入浅出聊聊USB那些五花八门的‘设备类’(HID/CDC/MSC) 当你在键盘上敲下字符、用U盘拷贝文件,或是通过4G模块联网时,背后都有一群看不见的"协议翻译官"在忙碌——它们就是USB设备类&#x…...

如何通过抖店订单接口实现订单状态管理与履约自动化?

对于电商业务管理系统的开发者而言,订单状态的管理是电商履约流程中最核心的环节。当消费者在抖音小店完成下单后,订单会经历支付、发货、收货等多个状态阶段,每个阶段都需要系统做出相应的业务响应。抖店开放平台提供的订单接口体系&#xf…...

从零到跑通:Windows下OTB100数据集与Matlab评测环境保姆级避坑指南

从零到跑通:Windows下OTB100数据集与Matlab评测环境保姆级避坑指南 刚接触目标跟踪领域的研究者,往往需要从经典数据集评测开始。OTB(Object Tracking Benchmark)作为目标跟踪领域的基石数据集,包含100个具有挑战性的视…...

Linux驱动开发避坑指南:手把手教你实现三种mmap内存映射(附完整代码)

Linux驱动开发实战:三种mmap内存映射方案深度解析与性能对比 在嵌入式系统和图形处理领域,直接访问内核内存的需求日益增长。想象一下这样的场景:你正在开发一个视频处理驱动,需要将摄像头采集的高清帧数据传输到用户空间进行实时…...