开发者社区> jimbuster> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

LogMiner日志分析工具的使用

简介: 1.安装logminer:       要安装LogMiner工具,必须首先要运行下面这样两个脚本,      $ORACLE_HOME/rdbms/admin/dbmslm.sql      $ORACLE_HOME/rdbms/admin/dbmslmd.sql.      这两个脚本必须均以SYS用户身份运行。
+关注继续查看

1.安装logminer:
      要安装LogMiner工具,必须首先要运行下面这样两个脚本,
      $ORACLE_HOME/rdbms/admin/dbmslm.sql
      $ORACLE_HOME/rdbms/admin/dbmslmd.sql.
      这两个脚本必须均以SYS用户身份运行。

*************使用字典文件存储在flat file中*****************************
2.创建数据字典文件
      ALTER SYSTEM SET UTL_FILE_DIR = 'd:\oracle\logmnr' SCOPE=SPFILE;
      重新启动数据库,使新加的参数生效,然后创建数据字典文件:
      EXECUTE dbms_logmnr_d.build(dictionary_filename => 'dirctionary.ora', dictionary_location => 'D:\oracle\logmnr',options => dbms_logmnr_d.store_in_flat_file);

3.创建要分析的日志文件列表
      EXECUTE dbms_logmnr.add_logfile(LogFileName=>'c:\1_3814.dbf', Options=>dbms_logmnr.new);
      EXECUTE dbms_logmnr.add_logfile( LogFileName=>'c:\1_3815.dbf',Options=>dbms_logmnr.addfile);

4.使用LogMiner进行日志分析
      EXECUTE dbms_logmnr.start_logmnr(DictFileName=>'D:\oracle\logmnr\dirctionary.ora');
***********************************************************************

*************使用字典文件存储在redo file中(推荐这种方法,不需要重启数据库)*****************************
2.创建数据字典到redo file
      EXECUTE DBMS_LOGMNR_D.build(options => DBMS_LOGMNR_D.STORE_IN_REDO_LOGS);

3.创建要分析的日志文件列表
      EXECUTE dbms_logmnr.add_logfile(LogFileName=>'c:\1_3814.dbf', Options=>dbms_logmnr.new);
      EXECUTE dbms_logmnr.add_logfile( LogFileName=>'c:\1_3815.dbf',Options=>dbms_logmnr.addfile);

4.使用LogMiner进行日志分析
      EXECUTE DBMS_LOGMNR.start_logmnr(Options => DBMS_LOGMNR_D.STORE_IN_REDO_LOGS);  --将字典文件提取为REDO日志

      使用此方法时需要把包含字典信息的归档日志或在线日志添加到日志文件列表

      SQL>select name from v$archived_log where dictionary_begin='YES';

      SQL>select name from v$archived_log where dictionary_end-'YES';

 

 

或者

      EXECUTE dbms_logmnr.start_logmnr(Options => dbms_logmnr.DICT_FROM_ONLINE_CATALOG);  --使用联机日志 
********************************************************************************************************

5.观察分析结果
      CREATE TABLE temp AS SELECT * FROM v$logmnr_contents;

6.终止日志分析事务,此时PGA内存区域被清除,分析结果也随之不再存在
      EXECUTE dbms_logmnr.end_logmnr();
     
7.其他注意事项

     1. 使用参数COMMITTED_DATA_ONLY只显示已提交的事务:

     SQL>EXECUTE dbms_logmnr.start_logmnr(Options => dbms_logmnr.COMMITTED_DATA_ONLY); 

     2. 忽略REDO错误:

     SQL>EXECUTE dbms_logmnr.start_logmnr(Options => dbms_logmnr.SKIP_CORRUPTION); 

     Options 参数可以用+连接起来结合使用,例如:

     SQL>EXECUTE dbms_logmnr.start_logmnr(Options => dbms_logmnr.DICT_FROM_ONLINE_CATALOG+dbms_logmnr.COMMITTED_DATA_ONLY); 

 

     3. 按时间过滤数据:使用参数STARTTIME和ENDTIME

         SQL>EXECUTE dbms_logmnr.start_logmnr(STARTTIME=>SYSDATE - 1/24,ENDTIME=>SYSDATE);

     4. 按SCN过滤数据:使用参数STARTSCN和ENDSCN

 

 

  我们可以利用LogMiner日志分析工具来分析其他数据库实例产生的重作日志文件,而不仅仅用来分析本身安装LogMiner的数据库实例的redo logs文件。使用LogMiner分析其他数据库实例时,有几点需要注意:

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

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

  3. LogMiner日志分析工具仅能够分析Oracle 8以后的产品,对于8以前的产品,该工具也无能为力。

8.对于oracle 10g在使用logmnr时必须提前设置SUPPLEMENTAL LOG DATA
  ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY, UNIQUE INDEX) COLUMNS;

删除SUPPLEMENTAL LOG DATA功能
 ALTER DATABASE DROP SUPPLEMENTAL LOG DATA (PRIMARY KEY, UNIQUE INDEX) COLUMNS;
     

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【笔记】用户指南—诊断与优化—SQL审计与分析—日志报表
PolarDB-X 支持SQL审计与分析功能,依托日志服务,提供了运营中心、性能中心、安全中心等开箱即用的报表,方便您快速查看了解PolarDB-X数据库的执行状况、性能指标、潜在安全问题等情况。
0 0
【笔记】用户指南—诊断与优化—SQL审计与分析—日志分析
PolarDB-X支持SQL审计与分析功能,依托日志服务产品,提供强大的日志分析能力。本文将介绍常见场景的SQL日志分析语句及示例。
0 0
日志分析工具
除了Logsufer外,其它此类工具还包括Webfwlog和WallFire项目的wflogs
395 0
ORA-1652: unable to extend temp segment by 128 in tablespace xxx Troubleshootin
当收到告警信息ORA-01652: unable to extend temp segment by 128 in tablespace xxxx 时,如何Troubleshooting ORA-1652这样的问题呢? 当然一般xxx是临时表空间,也有可能是用户表空间。
1203 0
+关注
jimbuster
从事数据库管理和运维
文章
问答
文章排行榜
最热
最新
相关电子书
更多
基于日志trace的智能故障定位系统
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载