ITPub博客

首页 > Linux操作系统 > Linux操作系统 > LOGMINER使用

LOGMINER使用

原创 Linux操作系统 作者:kinglawrence 时间:2011-05-11 21:57:04 0 删除 编辑

logminer 工具即可以用来分析在线,也可以用来分析离线日志文件,即可以分析本身自己数据库的重作日志文件,也可以用来分析其他数据库的重作日志文件。
   
总的说来,logminer 工具的主要用途有:
1
跟踪数据库的变化:可以离线的跟踪数据库的变化,而不会影响在线系统的性能。
2
回退数据库的变化:回退特定的变化数据,减少point-in-time recovery 的执行。
3
优化和扩容计划:可通过分析日志文件中的数据以分析数据增长模式。

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

Grant succeeded.
 
SQL> @$ORACLE_HOME/rdbms/admin/dbmslmd.sql
Package created.
 
以上这两个脚本必须均以SYS 用户身份运行。其中第一个脚本用来创建DBMS_LOGMNR包,该包用来分日志文件。第二个脚本用来创建DBMS_LOGMNR_D 包,该包用来创建数据字典文件。
                                                                                                                                                       
SQL> show parameter UTL_FILE
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
utl_file_dir                         string
 
SQL> alter system set UTL_FILE_DIR='/u01/logminer' sope=spfile;
System altered
 

SQL> EXECUTE dbms_logmnr_d.build( 'dictionary.ora', '/u01/logminer');
PL/SQL procedure successfully completed.
 

SQL> col member for a50
SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- -------------------
         1          1          5   52428800          1 NO  CURRENT                 595819 2011-05-07 08:29:07
         2          1          3   52428800          1 YES INACTIVE                568118 2011-05-06 22:00:04
         3          1          4   52428800          1 YES ACTIVE                  574413 2011-05-06 22:10:17

SQL> select * from v$logfile;

    GROUP# STATUS  TYPE    MEMBER                                             IS_
---------- ------- ------- -------------------------------------------------- ---
         3         ONLINE  +DISKGROUP/asm/onlinelog/group_3.263.750444245     NO
         2         ONLINE  +DISKGROUP/asm/onlinelog/group_2.262.750444235     NO
         1         ONLINE  +DISKGROUP/asm/onlinelog/group_1.261.750444223     NO

SQL> Exec dbms_logmnr.add_logfile(logfilename => '+DISKGROUP/asm/onlinelog/group_1.261.750444223',options => dbms_logmnr.new);

PL/SQL procedure successfully completed.

SQL> exec dbms_logmnr.add_logfile(logfilename => '+DISKGROUP/asm/onlinelog/group_3.263.750444245',options => dbms_logmnr.addfile);

PL/SQL procedure successfully completed.

SQL> EXECUTE dbms_logmnr.start_logmnr( DictFileName=>'/u01/logminer/dictionary.ora');

PL/SQL procedure successfully completed.

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

Session altered.

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

LOW_TIME            HIGH_TIME              LOW_SCN   NEXT_SCN
------------------- ------------------- ---------- ----------
2011-05-06 22:10:17 2011-05-07 08:29:07     574413     595819
2011-05-07 08:29:07 1988-01-01 00:00:00     595819 2.8147E+14

--这里是不加限制条件的情况下,当然你可以使用starttime,endtime等参数。也可以通过设置起始SCN 和截至SCN 来限制要分析日志的范围:
--特别说明一下参数DictFileName: 字符型(VARCHAR2) 0 字典文件,该文件包含一个数据库目录的快照。使用该文件可以使得到的分析结果是可以理解的文本形式
 
SQL> exec dbms_logmnr.start_logmnr();
PL/SQL procedure successfully completed.
 
观察分析结果:
V$LOGMNR_DICTIONARY-------查询使用的数据字典文件
V$LOGMNR_PARAMETERS-------
查询当前LogMiner设定的参数
V$LOGMNR_LOGS-------
查询分析的日志文件
V$LOGMNR_CONTENTS-------
日志文件的内容
 
SQL> col sql_redo for a50
SQL> SELECT scn,timestamp,sql_redo FROM v$logmnr_contents where rownum<3;
       SCN TIMESTAMP           SQL_REDO
---------- ------------------- --------------------------------------------------
    574413 2011-05-06 22:10:17
    574414 2011-05-06 22:10:18 update "UNKNOWN"."OBJ# 52507" set "COL 1" = HEXTOR
                               AW('c164') where "COL 1" = HEXTORAW('c102') and RO
                               WID = 'AAAM0bAAGAAAADTAAk';
 
SQL> exec dbms_logmnr.end_logmnr; 
PL/SQL procedure successfully completed.
 
 

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

请登录后发表评论 登录
全部评论

注册时间:2010-02-08

  • 博文量
    60
  • 访问量
    81037