logminer java_logminer的安装配置使用

logminer的安装配置使用

安装

环境:linux AS5,oracle 11gR2

2.添加补充日志

如果数据库需要使用logminer,就应该添加,只有添加这个日志之后的才能捕获DML

ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY, UNIQUE INDEX) COLUMNS;

3.开启归档(对logminer来说不是必须)

alter system set log_Archive_dest_1='/opt/oracle/flash_recovery_area' scope=both;

shutdown immediate

startup mount

alter database archivelog;

alter database open;

创建DBMS_LOGMNR包

SQL>@?/rdbms/admin/dbmslm.sql

创建相关数据字典

SQL>@?/rdbms/admin/dbmslmd.sql

修改初始化参数UTL_FILE_DIR,指定分析数据的存放处

SQL>alter system set UTL_FILE_DIR='/opt/oracle/oradata/logminer' scope=spfile;

重启数据库

SQL>shutdown immediate

SQL>startup

SQL> show parameter utl;

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

create_stored_outlines string

utl_file_dir string /opt/oracle/oradata/logminer

生成字典信息文件:

SQL> execute dbms_logmnr_d.build(dictionary_filename=>'/opt/oracle/oradata/logminer/sqltrace.ora',dictionary_location=>'/opt/oracle/oradata/logminer');

PL/SQL 过程已成功完成。

查当前日志组

SQL>select Group#, Status from v$log;

GROUP# STATUS

---------- ----------------

1 INACTIVE

2 CURRENT

3 INACTIVE

SQL>select Group#, MEMBER from v$logfile;

GROUP# MEMBER

---------- ----------------------------------------

3 /opt/oracle/oradata/orcl/redo03.log

2 /opt/oracle/oradata/orcl/redo02.log

1 /opt/oracle/oradata/orcl/redo01.log

添加需要分析的日志文件(在线日志)

SQL> execute dbms_logmnr.add_logfile(options=>dbms_logmnr.new,logfilename=>'/opt/oracle/oradata/orcl/redo02.log');

#归档日志

execute dbms_logmnr.add_logfile(options=>dbms_logmnr.new,logfilename=>'/opt/oracle/oradata/logminer/1_6356_704818301.dbf');

PL/SQL 过程已成功完成。

SQL> execute dbms_logmnr.add_logfile(options=>dbms_logmnr.addfile,logfilename=>'opt/oracle/oradata/orcl/redo03.log');

PL/SQL 过程已成功完成。

options选项有三个参数可选:

NEW - 表示创建一个新的日志文件列表

ADDFILE - 表示向这个列表中添加日志文件

REMOVEFILE - 和addfile相反。

开始分析

SQL> execute dbms_logmnr.start_logmnr(dictfilename=>'/opt/oracle/oradata/logminer/sqltrace.ora');

#设置 STARTTIME / ENDTIME

SQL>execute dbms_logmnr.start_logmnr(dictfilename=>'/u01/app/oracle/logminer/sqltrace.ora',starttime => to_date('2012/11/01-08:00:00','yyyy/mm/dd-hh24:mi:ss'),endtime => to_date('2012/11/02-12:30:00','yyyy/mm/dd-hh24:mi:ss'));

#也可以设置不用数据字典,只是看不到解释过来,没有意义了。

begin

dbms_logmnr.start_logmnr(starttime => to_date('2012/09/29-08:55:00','yyyy/mm/dd-hh24:mi:ss'),

endtime => to_date('2012/09/29-15:30:00','yyyy/mm/dd-hh24:mi:ss')

);

PL/SQL 过程已成功完成。

dbms_logmnr.start_logmnr()过程还有其它几个用于定义分析日志时间/SCN窗口的参数,它们分别是:

STARTSCN / ENDSCN - 定义分析的起始/结束SCN号,

STARTTIME / ENDTIME - 定义分析的起始/结束时间。

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

SQL> select low_time,high_time,low_scn,next_scn from v$logmnr_logs;

LOW_TIME HIGH_TIME LOW_SCN NEXT_SCN

-------------- -------------- ---------- ----------

08-8月 -07 08-8月 -07 626540 637998

08-8月 -07 01-1月 -88 637998 2.8147E+14

SQL> create table ELLINGTON.log_content NOLOGGING Tablespace Users as select timestamp,sql_redo,sql_undo,USERNAME,OS_USERNAME,MACHINE_NAME from v$logmnr_contents;

将内容复制到一张表中查询并指定存储表空间,desc v$logmnr_contents

结束分析

SQL> execute dbms_logmnr.end_logmnr;

结束后视图v$logmnr_contents中的分析结果也不再存在,关闭sqlplus自动结束。

注意:1. LogMiner必须使用被分析数据库实例产生的字典文件,而不是安装LogMiner的数据库产生的字典文件,另外必须保证安装LogMiner数据库的字符集和被分析数据库的字符集相同。

2. 被分析数据库平台必须和当前LogMiner所在数据库平台一样,也就是说如果我们要分析的文件是由运行在UNIX平台上的Oracle 8i产生的,那么也必须在一个运行在UNIX平台上的Oracle实例上运行LogMiner,而不能在其他如Microsoft NT上运行LogMiner。当然两者的硬件条件不一定要求完全一样。

3. 生产库的归档日志拿到测试机上来分析,虽然可以分析,但是由于db_id不同,不能使用数据字典,也就看不到翻译过的语句(16进制的东西)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值