ORACLE11g R2 logminer 方式 FOR OEL6.5

提示: 请使用sys用户 进行操作

1.      执行脚本创建必要条件.

conn sys/catalog@catalog as sysdba

创建dbms_logmnr包,该包用来分析日志文件

创建dbms_logmnr_d包,该包用来创建数据字典文件。

@?/ rdbms/admin/dbmslm.sql

@?/rdbms/admin/dbmslmd.sql

2.      概念解释

在oracle8i的时候,首先在init.ora初始化参数文件中,指定数据字典文件的位置,

也就是添加一个参数utl_file_dir,该参数值为服务器中放置数据字典文件的目录。如:

utl_file_dir = (e:\utl_file_dir)

oracle9i后,推荐使用spfile启动,可以动态调整参数;

修改初始化参数utl_file_dir,指定分析数据的存放处(9i)

alter system set utl_file_dir=utl_file_dir' scope=spfile;

创建数据字典文件(data-dictionary)

数据字典文件是一个文本文件,使用包dbms_logmnr_d来创建。

如果我们要分析的数据库中的表有变化,影响到库的数据字典也发生变化,

这时就需要重新创建该字典文件。

另外一种情况是在分析另外一个数据库文件的重作日志时,

也必须要重新生成一遍被分析数据库的数据字典文件。

3.      创建数据字典文件

@e:\oracle\dbms_logmnr_d.build.txt

 

内容:

begin

dbms_logmnr_d.build(

dictionary_filename => 'logminer_dict.dat',

dictionary_location => '/u01/app/oracle/utl_file_dir');

end;

/

 

4.      创建要分析的日志文件列表

execute dbms_logmnr.add_logfile(options =>dbms_logmnr.new,logfilename =>'/u01/app/oracle/fast_recovery_area/sztech1/archivelog/2015_04_23/o1_mf_1_22_bmjkodo2_.arc');

 

 

 

批量产生脚本

select 'execute dbms_logmnr.add_logfile(options =>dbms_logmnr.new,logfilename=>''' || name || ''');' from  v$archived_log

 

5.      添加另外的日志文件到列表

execute dbms_logmnr.add_logfile(options =>dbms_logmnr.addfile,logfilename=>'e:\oracle\oradata\catalog\archived\arc23.001');

 

批量添加

select 'execute dbms_logmnr.add_logfile(options =>dbms_logmnr.addfile,logfilename=>''' || name || ''');' from  v$archived_log

 

6.      删除日志文件到列表

execute dbms_logmnr.add_logfile(options =>dbms_logmnr.removefile,logfilename =>'e:\oracle\oradata\catalog\archived\arc23.001');

 

批量删除

select 'execute dbms_logmnr.add_logfile(options =>dbms_logmnr.removefile,logfilename=>''' || name || ''');' from  v$archived_log

 

7.      启动logminer进行分析

begin

dbms_logmnr.start_logmnr(

dictfilename => '/u01/app/oracle/utl_file_dir/logminer_dict.dat');

end;

/

 

8.      观察分析结果(v$logmnr_contents)

set linesize 160

col operation for a15

col sql_redo  for a50

col username  for a9

col sql_undo  for a50

alter session set nls_date_format ='yyyy-mm-dd hh24:mi:ss';

select scn,timestamp, session# session_num, sql_redo ,username from v$logmnr_contents where username='a1'   order by 1;

 

9.      结束分析

execute dbms_logmnr.end_logmnr;

 

一旦结束视图v$logmnr_contents中的分析结果也随之不再存在。

如果再重新进入的话就需要重新加入日志文件并进行分析。

 

附:A

begin

execute dbms_logmnr.start_logmnr(dictfilename => 'e:\utl_file_dir\logminer_dict.dat',starttime => to_date('2008/01/17 00:00:00','yyyy/mm/dd hh24:mi:ss') endtime => to_date('2008/01/17 23:59:59','yyyy/mm/dd hh24:mi:ss '))

end;

/

 

也可以通过设置起始scn和截至scn来限制要分析日志的范围:

execute dbms_logmnr.start_logmnr(dictfilename => 'e:\oracle\logs\logminer_dict.dat',startscn => 17,endscn =>20);

 

dbms_logmnr.start__logmnr过程参数含义

参数 参数类型 默认值 含义

startscn 数字型(number) 0 分析重作日志中scn≥startscn日志文件部分

endscn 数字型(number) 0 分析重作日志中scn≤endscn日志文件部分

starttime 日期型(date) 1998-01-01 分析重作日志中时间戳≥starttime的日志文件部分

endtime 日期型(date) 2988-01-01 分析重作日志中时间戳≤endtime的日志文件部分

 

查询分析的日志文档包含的scn范围和日期范围

select low_time,high_time,low_scn,

next_scn from v$logmnr_logs;

 

 

附B:不重启数据库使用logminer

10.  创建相关的

创建dbms_logmnr包,该包用来分析日志文件

创建dbms_logmnr_d包,该包用来创建数据字典文件。

@?/ rdbms/admin/dbmslm.sql

@?/rdbms/admin/dbmslmd.sql

 

11.  创建要分析的日志文件列表

execute dbms_logmnr.add_logfile(options =>dbms_logmnr.new,logfilename =>'/u01/app/oracle/fast_recovery_area/sztech1/archivelog/2015_04_23/o1_mf_1_22_bmjkodo2_.arc');

 

批量添加

select 'execute dbms_logmnr.add_logfile(options =>dbms_logmnr.addfile,logfilename=>''' || name || ''');' from  v$archived_log

 

12.  添加另外的日志文件到列表

execute dbms_logmnr.add_logfile(options =>dbms_logmnr.addfile,logfilename=>'e:\oracle\oradata\catalog\archived\arc23.001');

 

13.  删除

execute dbms_logmnr.add_logfile(options =>dbms_logmnr.removefile,logfilename =>'e:\oracle\oradata\catalog\archived\arc23.001');

 

14.  启动logminer进行分析

begin

dbms_logmnr.start_logmnr();

end;

/

 

 

15.  观察分析结果(v$logmnr_contents)

set linesize 160

col operation for a15

col sql_redo  for a50

col username  for a9

col sql_undo  for a50

alter session set nls_date_format ='yyyy-mm-dd hh24:mi:ss';

select scn,timestamp, session# session_num, sql_redo ,username from v$logmnr_contents where username='a1'   order by 1;

 

16.  结束分析

execute dbms_logmnr.end_logmnr;

 

一旦结束视图v$logmnr_contents中的分析结果也随之不再存在。

如果再重新进入的话就需要重新加入日志文件并进行分析。

附C:

execute dbms_logmnr_d.build(dictionary_filename=>'logminer_dict.dat',dictionary_location=>'/u01/app/oracle/fast_recovery_area/SZTECH1/archivelog/2015_04_23/');

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16615244/viewspace-1870428/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/16615244/viewspace-1870428/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值