Oracle LogMiner 安装和使用(9i or later)

1. LogMiner安装

需要以SYS用户身份执行下面两个脚本:

$Oracle_HOME/rdbms/admin/dbmslm.sql


$ORACLE_HOME/rdbms/admin/dbmslmd.sql


2. LogMiner使用

设置一个必要参数UTL_FILE_DIR=<path>,保证oracle用户在该<path>下有读写权限,该参数不支持动态修改,所以只能在pfile中修改,然后重启数据库实例。

创建LogMiner的字典文件,执行下面的脚本。(注意 - 符号不能丢)

EXECUTE DBMS_LOGMNR_D.BUILD('dictionary.ora', -
 '<path>', -
 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 => '<path>/dictionary.ora', -
 STARTSCN => 100, -
 ENDSCN => 150);


查看日志信息的例子:

SELECT operation, sql_redo FROM v$logmnr_contents;

相关推荐