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

相关推荐
fen_fen12 小时前
Oracle建表语句示例
数据库·oracle
此刻你15 小时前
常用的 SQL 语句
数据库·sql·oracle
海心焱21 小时前
从零开始构建 AI 插件生态:深挖 MCP 如何打破 LLM 与本地数据的连接壁垒
jvm·人工智能·oracle
德彪稳坐倒骑驴1 天前
MySQL Oracle面试题
数据库·mysql·oracle
吕司1 天前
MySQL库的操作
数据库·mysql·oracle
dishugj1 天前
【Oracle】 rac的一些问题以及解决方案
数据库·oracle
eWidget1 天前
面向信创环境的Oracle兼容型数据库解决方案
数据库·oracle·kingbase·数据库平替用金仓·金仓数据库
熊文豪1 天前
关系数据库替换用金仓——Oracle兼容性深度解析
数据库·oracle·金仓数据库·电科金仓·kes
eWidget1 天前
面向Oracle生态的国产高兼容数据库解决方案
数据库·oracle·kingbase·数据库平替用金仓·金仓数据库
A懿轩A1 天前
【MySQL 数据库】MySQL 数据库核心概念详解:库、表、字段、主键与关系型模型一文读懂
数据库·mysql·oracle