logminer应用

Log Miner简介

Log Miner是Oracle自Oracle 8i以后推出的一个可以分析数据库redo log和archivelog内容的工具,可以通过日志分析所有对数据库的DDL和DML操作,也可以分析出操作的时间与操作时的SCN和进行操作的机器,对于DML操作还可以查询出还原操作的sql。

Log Miner组成

源数据库产生LogMiner分析的所有重做日志文件的数据库
挖掘数据库是执行LogMiner分析时使用的数据库
LogMiner数据字典是LogMiner使用字典将内部对象标识符和数据类型转换为可读数据。如果没有字典,Log Miner分析的结果会显示为二进制数据。
logminer包括2个包:DBMS_LOGMNR和DBMS_LOGMNR_D,可以分析redo log file,也可以分析归档后的archive log file

logminer的安装:

创建DBMS_LOGMNR:

SQL> @$ORACLE_HOME/rdbms/admin/dbmslm.sql
Package created.
Grant succeeded.

创建DBMS_LOGMNR_D

SQL> @$ORACLE_HOME/rdbms/admin/dbmslmd.sql
Package created.

启用归档

sys@ORCL>alter database archivelog;

Forcing logging

sys@ORCL>alter database force logging;

添加最小附加日志

sys@ORCL>alter database add supplemental log data;

查看结果

sys@ORCL>select LOG_MODE,FORCE_LOGGING,SUPPLEMENTAL_LOG_DATA_MIN from v$database;
LOG_MODE FORCE_LOG SUPPLEMENTAL_LOG_DATA_MI


ARCHIVELOG YES YES

设置参数:UTL_FILE_DIR,数据字典物理文件存放的路径,注意路径的权限!
alter system set utl_file_dir = ‘/backup’ scope = spfile;
重启数据库才有效

首次添加要分析的日志
execute dbms_logmnr.add_logfile (logfilename=>’/home/orcl/app/fast_recovery_area/ORCL/archivelog/2015_06_03/o1_mf_1_3_bpxgpcwn_.arc’,options=>dbms_logmnr.new);
分析归档可以在v a r c h i v e d l o g 视 图 中 找 到 归 档 名 分 析 重 做 日 志 可 以 在 v archived_log视图中找到归档名 分析重做日志可以在v archivedlogvlogfile视图中找日志名(只能分析未归档重做日志,不然会系统重复错误)

再次添加
execute dbms_logmnr.add_logfile(logfilename=>’/home/orcl/app/fast_recovery_area/ORCL/archivelog/2015_06_03/o1_mf_1_2_bpxgpcwn_.arc’,options=>dbms_logmnr.addfile);

删除挖掘日志
execute dbms_logmnr.add_logfile (logfilename=>’/home/orcl/app/fast_recovery_area/ORCL/archivelog/2015_06_03/o1_mf_1_2_bpxgpcwn_.arc’,options=>dbms_logmnr.removefile);
执行存储过程dbms_logmnr_d.build执行存储过程dbms_logmnr_d.build创建挖掘日志文件的物理文件路径
execute dbms_logmnr_d.build(‘estlogminer.ora’,’/backup’);

启动logminer
execute dbms_logmnr.start_logmnr(dictfilename=>’/backup/testlogminer.ora’,options=>dbms_logmnr.ddl_dict_tracking);指明了字典物理文件’/backup/testlogminer.ora

可以添加一下过滤条件
按SCN来过滤
execute dbms_logmnr.start_logmnr(dictfilename=>’/backup/testlogminer.ora’,startscn=>50,endscn=>100);
按时间过滤
execute dbms_logmnr.start_logmnr(dictfilename=>’/backup/testlogminer.ora’,starttime=>to_date(‘03-Jun-2015 14:20:20’ ,‘DD-MON-YY HH:MI:SS’),starttime=>to_date(‘03-Jun-2015 17:20:20’ ,‘DD-MON-YY HH:MI:SS’));

开启logminer之后
select filename from v l o g m n r l o g s ; 可 以 查 询 l o g m i n e r 正 在 分 析 哪 些 日 志 ∗ ∗ 可 以 在 v logmnr_logs;可以查询logminer正在分析哪些日志 **可以在v logmnrlogs;logminervlogmnr_contents中在线分析挖掘日志;**
select to_char(timestamp,‘yyyy-mm-dd hh24:mm:ss’),
operation,
username,
SESSION_INFO,
sql_redo
from v$logmnr_contents
7 where table_name = ‘TEST1’;

结束logminer
SQL> EXECUTE DBMS_LOGMNR.END_LOGMNR;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值