Oracle日志挖掘小结

一、安装logminer

$ORACLE_HOME/rdbms/admin/dbmslm.sql

$ORACLE_HOME/rdbms/admin/dbmslmd.sql

通常在安装数据库后就已经安装了Logminer,要查看数据库是否安装了LogMiner,只需查看数据库中是否已经有了dbms_logmnr和dbms_logmnr_d这2个package,如果有了,则已经安装。

如果没有,则需要通过两个脚本须用DBA用户身份运行。第1个脚本用来创建dbms_logmnr包,该包用来分析日志文件,第2个脚本用来创建dbms_logmnr_d包,该包用来创建数据字典文件。

创建完成后数据库中将多出4个procedure和3个view,具体如下:

  1. dbms_logmnr_d.build :创建一个数据字典文件;

  2. dbms_logmnr.add_logfile :添加日志文件以供分析;

  3. dbms_logmnr.start_logmnr :开始分析日志文件;

  4. dbms_logmnr.end_logmnr :结束分析日志文件;

1.v$logmnr_dictionary :显示字典文件的信息;

2.logmnr_logs :在LogMiner启动时显示要分析的日志列表;

3.logmnr_contents :Logminer启动后,可以使用该view查看日志文件的内容。

需要注意,这里的view是session相关,其它session是查看不到的,仅仅可以在当前session中查看。

二、开启数据库的归档默认 (被分析的数据库)

archive log list;

三、添加归档日志

BEGIN

dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48238_983987043.dbf',options=>dbms_logmnr.NEW);

END;

/

--第一次添加是

dbms_logmnr.add_logfile(logfilename=>'/home/app/oracle/oradata/orcl/arch_log/1_51_936489730.dbf',options=>dbms_logmnr.ADDFILE);

END;

/

--新增的需要addfile

BEGIN

dbms_logmnr.add_logfile(logfilename=>'/home/app/oracle/oradata/orcl/arch_log/1_50_936489730.dbf',options=>dbms_logmnr.ADDFILE);

END;

/

四、使用logmnr分析

EXECUTE dbms_logmnr.start_logmnr();

begin

dbms_logmnr.start_logmnr();

end;

/

EXECUTE DBMS_LOGMNR.START_LOGMNR(OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);

---指定外部数据字典

五、查看日志分析内容

注意:这个视图应该是外部表或者内存中的数据,如果需要长期留存,可以使用CTAS将结果保存到数据库中。

create table logmnr_210301 as select * from v$logmnr_contents;

select * from v$logmnr_contents;

v$logmnr_contents的部分栏位信息:

栏位 解释


SCN 查询的特定数据的SCN号

TIMESTAM 数据改变发生的时间

COMMIT_TIMESTAMP 数据改变提交的时间

SEG_OWNER 数据发生改变的段名称

SEG_NAME 段的所有者的名称

SEG_TYPE 数据发生改变的段类型

SEG_TYPE_NAME 数据发生改变的段类型名称

TABLE_SPACE 变化段的表空间

ROW_ID 数据变化行的ID

SESSION_INFO 数据发生变化时会话信息

OPERATION 日志中记录的操作

SQL_REDO 日志中记录的指定行变化的SQL语句(正向操作)

SQL_UNDO 为重做日志记录回退或恢复制定行变化的SQL语句

五、结束

begin

execute dbms_logmnr.end_logmnr();

end ;

/

执行该结束命令后,视图v$logmnr_contents中的数据丢弃了。

EXECUTE dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48238_983987043.dbf',options=>dbms_logmnr.NEW);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48178_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48231_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48204_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47050_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48207_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48237_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48191_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48222_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48193_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47062_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47032_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48229_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47035_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47033_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48232_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47034_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48230_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48177_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48198_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47079_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48205_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47069_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47056_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48217_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47041_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48215_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48209_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48186_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48218_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48188_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47036_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48208_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48197_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48227_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47080_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47059_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47074_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48180_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47073_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47057_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47028_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47044_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47077_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48192_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48221_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47042_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47045_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47085_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48199_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47081_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48210_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47029_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48176_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48194_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48225_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47051_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47078_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47048_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47070_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47068_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48202_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48189_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48226_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47037_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48224_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/1_48187_983987043.dbf',options=>dbms_logmnr.ADDFILE);

execute dbms_logmnr.add_logfile(logfilename=>'/u01/app/oracle/rec/2_47076_983987043.dbf',options=>dbms_logmnr.ADDFILE);

相关推荐
ClouGence4 天前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因
数据库·后端·oracle
ClouGence10 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
曹牧11 天前
Oracle EXPLAIN PLAN
数据库·oracle
贤时间11 天前
codex 助力oracle ebs 开发
数据库·oracle
秉承初心11 天前
PostgreSQL 数据性能瓶颈突破实战
数据库·postgresql·oracle
Curvatureflight11 天前
MySQL 深分页越来越慢?从 LIMIT OFFSET 改成游标分页
数据库·oracle
XZ-07000111 天前
MySQL事务
数据库·mysql·oracle
tiancaijiben11 天前
阿里云函数计算FC如何实现网站的定时任务与自动化
数据库·oracle·dba
xfhuangfu11 天前
Oracle 19c 多租户体系架构介绍
数据库·oracle·架构
杨云龙UP12 天前
Spotlight 接入 Oracle 数据库监控操作指南 2026-06-16
数据库·oracle·性能监控·预警·阈值·spotlight·瓶颈分析