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);

相关推荐
AlfredZhao1 天前
使用 Oracle 官方 HR Demo 快速验证 RAS 功能(小白实战指南)
oracle·ras
龙亘川1 天前
【课程5.1】城管住建核心功能需求分析:市政设施、市容秩序等场景痛点拆解
数据库·oracle·智慧城市·城管住建
xiaoyustudiowww1 天前
Oracle 26AI 官方下载
oracle
dishugj2 天前
[SQLSERVER] Lock Waits/sec参数含义详解
数据库·oracle·sqlserver
我科绝伦(Huanhuan Zhou)2 天前
Oracle锁等待深度解析:从理论到实战的全方位指南
数据库·oracle
小Mie不吃饭2 天前
Oracle vs MySQL 全面对比分析
数据库·mysql·oracle
!chen2 天前
Oracle 高风险锁等待快速诊断手册
数据库·oracle
阳宗德2 天前
基于CentOS Linux release 7.1实现了Oracle Database 11g R2 企业版容器化运行
linux·数据库·docker·oracle·centos
Tinachen882 天前
YonBIP旗舰版本地开发环境搭建教程
java·开发语言·oracle·eclipse·前端框架
剑来.2 天前
一次完整的 MySQL 性能问题排查思路(线上实战总结)
数据库·mysql·oracle