日期:2014-05-16  浏览次数:20483 次

Oracle数据库日志查看工具LogMiner的使用详解

?

Oracle数据库查看日志的方法很多,我们可以根据SQL语句来实现,也可以通过日志查看工具LogMiner来实现,本文我们主要就介绍了这一过程,接下来就让我们一起来了解一下吧。

一、Oracle日志的路径

登录:sqlplus "/as sysdba"

查看路径:SQL> select * from v$logfile;

SQL> select * from v$logfile;(#日志文件路径)

二、Oracle日志文件包含哪些内容

  1. control01.ctl?example01.dbf?redo02.log???sysaux01.dbf?undotbs01.dbf ?
  2. control02.ctl?redo03.log???system01.dbf?users01.dbf ?
  3. control03.ctl?redo01.log?????SHTTEST.dbf?temp01.dbf?

三、Oracle日志的查看方法

SQL>select * from v$sql?? (#查看最近所作的操作)

SQL>select * fromv $sqlarea(#查看最近所作的操作)

Oracle 数据库的所有更改都记录在日志中,从目前来看,分析Oracle日志的唯一方法就是使用Oracle公司提供的LogMiner来进行,因为原始的日志信息我们根本无法看懂,Oracle8i后续版本中自带了LogMiner,而LogMiner就是让我们看懂日志信息的工具,通过这个工具可以:查明数据库的逻辑更改,侦察并更正用户的误操作,执行事后审计,执行变化分析。

四、LogMiner的使用

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

1).首先在init.ora初始化参数文件中,添加一个参数UTL_FILE_DIR,该参数值为服务器中放置数据字典文件的目录。如:UTL_FILE_DIR = ($ORACLE_HOME\logs) ,重新启动数据库,使新加的参数生效:

SQL> shutdown;

SQL>startup;

2).然后创建数据字典文件

  1. SQL>?connect?/as?sysdba ?
  2. SQL>?execute?dbms_logmnr_d.build(dictionary_filename?=>?'dict.ora',dictionary_location?=>?'/data1/oracle/logs'); ?
  3. PL/SQL?procedure?successfully?completed?

2、创建要分析的日志文件列表

1).创建分析列表,即所要分析的日志

  1. SQL>execute?dbms?logmnr.add?logfile(LogFileName?=>?'/data1/oracle/oradata/akazamdb/redo01.log',Options?=>?dbms_logmnr.new); ?
  2. PL/SQL?procedure?successfully?completeds???

2).添加分析日志文件,一次添加1个为宜

  1. SQL>execute?dbms_?logmnr.add_?logfile(LogFileName?=>?'/data1/oracle/oradata/akazamdb/redo01.log',Options?=>?dbms_logmnr.ADDFILE); ?
  2. PL/SQL?procedure?successfully?completed?

3、使用LogMiner进行日志分析(具体要查询什么内容可以自己修改)

(1)无限制条件

SQL> EXECUTE dbms_logmnr.start_logmnr(DictFileName=>'/data1/oracle/logs/v816dict.ora ');