oracle日志挖掘logmnr使用方法
logminer工具可以分析出所有对于数据库操作的DML(insert、update、delete等)语句,另外还可分析得到一些必要的回滚SQL语句。该工具特别适用于调试、审计或者回退某个特定的事务。LogMiner 工具即可以用来分析在线,也可以用来分析离线日志文件,即可以分析本身自己数据库的重作日志文件,也可以用来分析其他数据库的重作日志文件。
1、创建DBMS_LOGMNR包@$ORACLE_HOME\rdbms\admin\dbmslm.sql
2、创建相关数据字典
3、@$ORACLE_HOME\rdbms\admin\dbmslmd.sql
4、打开最小日志模式Alter database add supplemental log data;
5、制定分析数据的存放处alter system set UTL_FILE_DIR='D:\logminer' scope=spfile;
6、重启数据库Shutdown immediateStartup
7、创建数据字典文件execute dbms_logmnr_d.set_tablespace()默认建立在system表空间execute dbms_logmnr_d.build(dictionary_filename=>'sqltrace.ora',dictionary_location=>'D:\logminer',options=>DBMS_LOGMNR_D.STORE_IN_FLAT_FILE)
8、建立日志分析表,及添加删除用于分析的日志文件execute dbms_logmnr.add_logfile(options=>dbms_logmnr.new,logfilename=>'D:\archivelog\ARC00100.arc')execute dbms_logmnr.add_logfile(options=>dbms_logmnr.addfile,logfilename=>'') execute dbms_logmnr.add_logfile(options=>dbms_logmnr.removefile,logfilename=>'')
9、启动LogMiner进行分析(视图v$archived_log可以查询出相应的SCN及对应的归档日志文件)无条件限制execute dbms_logmnr.start_logmnr(dictfilename=>'D:\logminer\sqltrace.ora',options=>DBMS_LOGMBR.COMMITED_DATA_ONLY) 有限制条件: 限制起始时间 execute dbms_logmnr.start_logmnr(dictfilename=>' D:\logminer\sqltrace.ora',starttime=>to_date('2006-12-2215:00','YYYY-MM-DDHH24:MI:SS'),endtime=>to_date()) 限制起始SCN execute dbms_logmnr.start_logmnr(dictfilename=>'D:\logminer\sqltrace.ora',startscn=>20,endscn=>50)
10、 查看分析结果V$LOGMNR_DICTIONARY --查询使用的数据字典文件V$LOGMNR_PARAMETERS --查询当前LogMiner设定的参数V$LOGMNR_LOGS --查询分析的日志文件V$LOGMNR_CONTENTS --日志文件内容 seg_name:表名 scn:SCN号码 sql_redo:所作的sql语句 sql_undo:恢复用的sql timestamp:sql发出的具体时间 operation:sql的类型(insert、update、delete等) session#:发出该操作的session
11、 结束分析execute dbms_logmnr.end_logmnr(); 一旦结束,视图v$logmnr_contents中的分析结果也随之不再存在,分析信息存放在PGA中 注:1:在进行限制条件分析日志时,如果执行失败,那么查看v$logmnr_logs视图 2:在查询v$logmnr_contents时, where限制条件一定要用大写 3:利用logminer不仅可以分析本身安装logminer的数据库实例的redo logs文件,还可以分析其他数据库实例产生的redo log文件。a、logminer必须使用被分析数据库实例产生的字典文件,而不是安装logminer的数据库产生的字典文件,另外 必须保证安装了logminer数据库的字符集和被分析数据库的字符集相同b、被分析数据库所在平台必须和当前logminer所在数据库平台一样。(硬件条件不一定一样) 4:logminer日志分析工具仅能够分析oracle8以后的产品