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

2014-11-24 18:17:04 · 作者: · 浏览: 0

1. LogMiner安装


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



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