1. LogMiner安装
需要以SYS用户身份执行下面两个脚本:
$Oracle_HOME/rdbms/admin/dbmslm.sql
$ORACLE_HOME/rdbms/admin/dbmslmd.sql
2. LogMiner使用
设置一个必要参数UTL_FILE_DIR=,保证oracle用户在该下有读写权限,,该参数不支持动态修改,所以只能在pfile中修改,然后重启数据库实例。
创建LogMiner的字典文件,执行下面的脚本。(注意 – 符号不能丢)
EXECUTE DBMS_LOGMNR_D.BUILD(‘dictionary.ora’, –
”, –
OPTIONS => DBMS_LOGMNR_D.STORE_IN_FLAT_FILE);
向LogMiner中添加需要mine的Log文件,执行下面的脚本。
EXECUTE DBMS_LOGMNR.ADD_LOGFILE( –
LOGFILENAME => ‘/oradata/redo01.log’, –
OPTIONS => dbms_logmnr.NEW); <==========第一次创建
EXECUTE DBMS_LOGMNR.ADD_LOGFILE( –
LOGFILENAME => ‘/oradata/redo02.log’, –
OPTIONS => dbms_logmnr.ADDFILE); <==========追加
EXECUTE DBMS_LOGMNR.ADD_LOGFILE( –
LOGFILENAME => ‘/oradata/redo02.log’, –
OPTIONS => dbms_logmnr.REMOVEFILE); <==========删除
Log文件的挖掘
你可以选择的用来过滤日志信息的选项
选项 意义
=========== =========
STARTSCN SCN起始号
ENDSCN SCN结束号
STARTTIME 开始时间
ENDTIME 结束时间
DICTFILENAME 字典文件的名字
用来分析的LogMiner视图
视图名 视图信息
=================== ==================================================
V$LOGMNR_DICTIONARY 正在使用的字典文件
V$LOGMNR_PARAMETERS LogMiner的参数
V$LOGMNR_LOGS 正在分析的日志文件
V$LOGMNR_CONTENTS 分析出来的日志内容
使用过滤的例子:
EXECUTE DBMS_LOGMNR.START_LOGMNR( –
DICTFILENAME => ‘/dictionary.ora’, –
STARTSCN => 100, –
ENDSCN => 150);
查看日志信息的例子:
SELECT operation, sql_redo FROM v$logmnr_contents;