logminer使用笔记

好久没写blog了,最近很忙

 今晚想到我要想看某人都对oracle数据库做过什么修改呢?大家肯定回答,"那还不简单,看数据库的日志啊",可oracle的日志,直接是不能看的,它是二进制的,oracle从8i就提供了一个非常好的日志管理工具logminer他对我们查看日志非常方便,闲话不说了,把我的使用的记录下来,一是方便自己以后查看,二是对那些刚刚接触的有一些帮助.

步骤:

   1.安装logminer

   2.创建logminer所需要的字典

   3.添加要分析的日志文件

   4.分析日志

   5,这一步最重要了,就是要查看了(呵呵,别扔鸡蛋啊)

具体分析

 1. logminer实际上是由两个pl/sql内建包(dbms_logmnr和dbms_logmnr_d)和4个v$动态性能视图组成的.

  安装logminer首先要以sys管理员的身份运行这个pl/sql脚本

  sql> conn /as sysdba

  sql> @/rdbms/admin/dbmslm.sql

 sql> @/rdbms/admin/dbmslmd.sql

2. 创建字典

  首先把utl_file_dir=F:/oracle/product/10.2.0/oradata/orcl/log       放入初始化文件中init.ora,重启数据库使其生效

  sql> exec sys.dbms_logmnr_d.build(dictionary_filename='skate.dat',dictionary_location=>'F:/oracle/product/10.2.0/oradata/orcl/log')

这一步需要一些时间(耐心等)

3.添加日志文件

   建议每次分析的时候,只添加一个日志文件,当然添加多个也可以.

  添加第一个日志文件 

 sql> exec dbms_logmnr.add_logfile(logfilename=>'F:/oracle/product/10.2.0   /oradata/orcl/redo01.log',options=>dbms_logmnr.new);

添加第二个日志文件

 sql> exec dbms_logmnr.add_logfile

    (logfilename=>'F:/oracle/product/10.2.0/oradata/orcl/redo02.log',options=>dbms_logmnr.addfile);

 

删除一个日志文件

sql> exec dbms_logmnr.add_logfile

 ( logfilename=>'F:/oracle/product/10.2.0/oradata/orcl/redo02.log',options=>dbms_logmnr.removefile);

4. 开始分析日志

 无限制条件 

sql>exec dbms_logmnr.start_logmnr(dictfilename=>'F:/oracle/product/10.2.0/oradata/orcl/log/skate.dat');

5. 日志分析完了,现在该看看结果吧,结果都在v$logmnr_contents中,这个视图包含所有logminer分析的信息

   [注意] 只有执行了"dbms_logmnr.start_logmnr"这个的会话,才可能查看分析结果,因为logminer是存在pga中的

 其他进程是看不见的,如果想让其他进程看见,可以用ctas来解决

sql> drop table logmnr_contents;

sql> create table logmnr_contents

   as select  *  form v$logmnr_contents;

这就可以用toad,pl/sql等工具来查看

 

6.

   SQL>execute dbms_logmnr.end_ logmnr,清除v$logmnr_logs, v$logmnr_contents, v$logmnr_parmeters中的内容,结束分析。

 

 

 

你可能感兴趣的:(oracle,sql,数据库,table,工具,Dictionary)