Oracle LogMiner 解析归档

LogMiner Options 选项速查表

选项 作用 是否必需
DICT_FROM_ONLINE_CATALOG 2 使用在线字典 ✅ 必选一个
DICT_FROM_REDO_LOGS 4 使用日志中的字典 ✅ 必选一个
COMMITTED_DATA_ONLY 16384 只显示已提交事务 ✅ 推荐
NO_ROWID_IN_STMT 2048 SQL中不包含ROWID ✅ 推荐
NO_SQL_DELIMITER 4096 SQL末尾不加分号 可选
STRING_LITERALS_IN_STMT 512 使用字面量而非绑定变量 可选
CONTINUOUS_MINE 128 连续挖掘模式 可选
SKIP_CORRUPTION 8 跳过损坏日志块 可选

示例一

直接使用当前数据库的在线数据字典(推荐,实时性好)(适用于挖掘当前数据库仍存在的对象的操作,必须添加数据库补充日志):

SELECT SUPPLEMENTAL_LOG_DATA_MIN FROM V$DATABASE;

ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

BEGIN

DBMS_LOGMNR_D.BUILD(OPTIONS => DBMS_LOGMNR_D.STORE_IN_REDO_LOGS);

END;

/

BEGIN

DBMS_LOGMNR.ADD_LOGFILE(

LOGFILENAME => 'C:\app\oracle_arch\1_1_1222942331.DBF',

OPTIONS => DBMS_LOGMNR.NEW

);

DBMS_LOGMNR.ADD_LOGFILE(

LOGFILENAME => 'C:\app\oracle_arch\1_2_1222942331.DBF'

);

END;

/

BEGIN

DBMS_LOGMNR.START_LOGMNR(

OPTIONS =>

DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG +

DBMS_LOGMNR.COMMITTED_DATA_ONLY +

DBMS_LOGMNR.NO_ROWID_IN_STMT

);

END;

/

BEGIN

DBMS_LOGMNR.END_LOGMNR();

END;

/

示例二

(使用数据字典文件方式):

CREATE OR REPLACE DIRECTORY ZZH_DIR AS 'C:\app\oracle_dump';

GRANT READ, WRITE ON DIRECTORY ZZH_DIR TO SYS;

BEGIN

DBMS_LOGMNR_D.BUILD(

DICTIONARY_FILENAME => 'logminer_dict.ora',

DICTIONARY_LOCATION => 'ZZH_DIR',

OPTIONS => DBMS_LOGMNR_D.STORE_IN_FLAT_FILE

);

END;

/

BEGIN

DBMS_LOGMNR.ADD_LOGFILE(

LOGFILENAME => 'C:\app\oracle_arch\1_1_1222942331.DBF',

OPTIONS => DBMS_LOGMNR.NEW

);

DBMS_LOGMNR.ADD_LOGFILE(

LOGFILENAME => 'C:\app\oracle_arch\1_2_1222942331.DBF'

);

END;

/

BEGIN

DBMS_LOGMNR.START_LOGMNR(

DICTFILENAME => 'C:\app\oracle_dump\logminer_dict.ora',

OPTIONS =>

DBMS_LOGMNR.COMMITTED_DATA_ONLY +

DBMS_LOGMNR.NO_ROWID_IN_STMT +

DBMS_LOGMNR.NO_SQL_DELIMITER

);

END;

/

BEGIN

DBMS_LOGMNR.END_LOGMNR();

END;

/

查看所有归档日志信息(包括路径、大小、生成时间等),可以通过first_time筛选目标时间范围的归档日志

SELECT name, sequence#, first_time, next_time

FROM v$archived_log

WHERE first_time BETWEEN

TO_DATE('2025-10-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') AND

TO_DATE('2026-10-27 23:59:59', 'YYYY-MM-DD HH24:MI:SS');

查询分析结果

注意:不管什么分析方式,查询分析结果的方式是一样的。

SELECT SCN,

TIMESTAMP,

OPERATION_CODE,

OPERATION,

SEG_OWNER,

SEG_NAME,

TABLE_NAME,

SEG_TYPE_NAME,

TABLE_SPACE,

ROW_ID,

SESSION_INFO,

TX_NAME,

XIDUSN,

XIDSLT,

XIDSQN,

RBASQN,

RBABLK,

RBABYTE,

SQL_REDO,

SQL_UNDO,

USERNAME,

OS_USERNAME,

MACHINE_NAME

FROM V$LOGMNR_CONTENTS

WHERE OPERATION IN ('INSERT', 'UPDATE', 'DELETE', 'DDL')

ORDER BY SCN ASC, COMMIT_SCN ASC;

相关推荐
数聚天成DeepSData3 小时前
遥感农业数据集下载全攻略
数据库·人工智能·深度学习·机器学习·自然语言处理·数据挖掘
一勺菠萝丶4 小时前
生产环境平滑升级实战-Nginx维护页数据库迁移与安全回滚
数据库·nginx·安全
心静自然凉8004 小时前
MySQL主从同步配置(一主一从)
数据库
haidy ahmed4 小时前
企微复杂审批流反序列化:动态表单解析引擎与EAV存储模型
数据库·人工智能·自动化·企业微信
Lihua奏4 小时前
MVCC:为什么多人同时读写数据,数据库还能不乱
数据库
952364 小时前
Redis - 应用
数据库·redis·分布式·缓存
青山木5 小时前
一把 Redis 分布式锁,踩透四个坑:锁争抢、僵尸锁、锁过期、锁丢失
java·数据库·redis·后端
数智化管理手记5 小时前
智能财务如何减少财务加班?智能财务落地需要哪些工具支撑?
大数据·网络·数据库·数据挖掘·精益工程
IvorySQL5 小时前
深度拆解 IvorySQL 去 O 核心解决方案
数据库·人工智能·postgresql
吴声子夜歌5 小时前
Redis 3.x——客户端
数据库·redis