ITPub博客

首页 > Linux操作系统 > Linux操作系统 > logmnr使用方法

logmnr使用方法

原创 Linux操作系统 作者:zaokaichen 时间:2008-04-26 11:12:31 0 删除 编辑

转载

一、安装LogMiner工具,以下两个脚本以SYSDBA身份运行:

  @$ORACLE_HOME\rdbms\admin\dbmslm.sql;
  @$ORACLE_HOME\rdbms\admin\dbmslmd.sql;

二、使用LogMiner工具

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

     1).首先在init.ora初始化参数文件中,指定数据字典文件的位置,也就是添加一个参数UTL_FILE_DIR,
       该参数值为服务器中放置数据字典文件的目录。如:UTL_FILE_DIR = ($ORACLE_HOME\logs) ,重新启动数据库,使新加的参数生效.
        alter system set utl_file_dir = 'c:\oracle\logs' scope=spfile

     2).然后创建数据字典文件
        SQL> connect /as sysdba
        SQL> execute dbms_logmnr_d.build(dictionary_filename => 'dict.ora',dictionary_location => 'c:\oracle\logs');
           (如果没找到utl_file_dir参数,可能是以SPFILE启动,用startup pfile='C:\oracle\product\10.1.0\db_1\database\INITorcl.ORA';)
  2、创建要分析的日志文件列表

     1).创建分析列表,即所要分析的日志
        SQL> execute dbms_logmnr.add_logfile(LogFileName => 'C:\oracle\product\10.1.0\oradata\orcl\REDO01.LOG',Options => dbms_logmnr.new);

     2).添加分析日志文件,一次添加1个为宜
        SQL> execute dbms_logmnr.add_logfile(LogFileName => 'C:\oracle\product\10.1.0\oradata\orcl\REDO02.LOG',Options => dbms_logmnr.ADDFILE);

    
  3、使用logMiner进行日志分析

     1).无限制条件,即用数据字典文件对要分析的日志文件所有内容做分析
        SQL> execute dbms_logmnr.start_logmnr(DictFileName => 'c:\oracle\logs\dict.ora');

     2).带限制条件,可以用scn号或时间做限制条件,也可组合使用
        SQL> execute dbms_logmnr.start_logmnr(startTime => to_date('20070228100000','yyyy-mm-dd hh24:mi:ss'),
          endTime => to_date('20070228150000','yyyy-mm-dd hh24:mi:ss'),DictFileName => 'G:\oracle\logs\dict.ora');

  4.根据指定的用户名、表名、操作进行分析
        select scn,sql_redo from v$logmnr_contents where seg_owner='GAMETEST' and seg_name='ENDUSER' and upper(operation)='UPDATE';
        select to_char(timestamp,'YYYY-MM-DD HH24:MI:SS') time,sql_redo from v$logmnr_contents where seg_owner='GAMETEST' and seg_name='ENDUSER' and upper(operation)='UPDATE';
 

  5、分析后释放内存

     SQL> execute dbms_logmnr.end_logmnr;

  6.其它
     1).删除日志分析文件
        exec dbms_logmnr.add_logfile('C:\oracle\product\10.1.0\oradata\orcl\REDO02.LOG',dbms_logmnr.removefile);


三、查看LogMiner工具分析结果

  SQL> select * from dict t where t.table_name like '%LOGMNR%';--看所有与logmnr相关的视图

  分析结果在GV$LOGMNR_CONTENTS 视图中,可按以下语句查询:

    select scn,timestamp,log_id,seg_owner,seg_type,table_space,data_blk#,data_obj#,data_objd#,
       session#,serial#,username,session_info,sql_redo,sql_undo  from logmnr3 t
       where t.sql_redo like 'create%';

  如果不能正常查询GV$LOGMNR_CONTENTS视图:
     create table logmnr3 as select * from GV$LOGMNR_CONTENTS;

 

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

下一篇: oracle 分区举例
请登录后发表评论 登录
全部评论

注册时间:2008-04-15

  • 博文量
    88
  • 访问量
    168563