专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » oraclelogminer:理解和使用Oracle 8i分析工具LogMiner »正文

oraclelogminer:理解和使用Oracle 8i分析工具LogMiner

来源: 发布时间:星期二, 2008年12月23日 浏览:2次 评论:0
正在看ORACLE教程是:理解和使用Oracle 8i分析工具LogMinerOracle LogMiner 是Oracle公司从产品8i以后提供个实际非常有用分析工具使用该工具可以轻松获得Oracle 重作日志文件(归档日志文件)中具体内容特别是该工具可以分析出所有对于数据库操作DML(insert、update、delete等)语句另外还可分析得到些必要回滚SQL语句该工具特别适用于调试、审计或者回退某个特定事务
  LogMiner分析工具实际上是由组PL/SQL包和些动态视图(Oracle8i内置包部分)组成它作为Oracle数据库部分来发布是8i产品提供个完全免费工具但该工具和其他Oracle内建工具相比使用起来显得有些复杂主要原因是该工具没有提供任何图形用户界面(GUI)本文将详细介绍如何安装以及使用该工具
  、LogMiner用途
  日志文件中存放着所有进行数据库恢复数据记录了针对数据库结构个变化也就是对数据库操作所有DML语句
  在Oracle 8i的前Oracle没有提供任何协助数据库管理员来读取和解释重作日志文件内容工具系统出现问题对于个普通数据管理员来讲可以作工作就是将所有log文件打包然后发给Oracle公司技术支持然后静静地等待Oracle 公司技术支持给我们最后答案然而从8i以后Oracle提供了这样个强有力工具-LogMiner
  LogMiner 工具即可以用来分析在线也可以用来分析离线日志文件即可以分析本身自己数据库重作日志文件也可以用来分析其他数据库重作日志文件
  总说来LogMiner工具主要用途有:
   1. 跟踪数据库变化:可以离线跟踪数据库变化而不会影响在线系统性能
   2. 回退数据库变化:回退特定变化数据减少po-in-time recovery执行
   3. 优化和扩容计划:可通过分析日志文件中数据以分析数据增长模式
   2、安装LogMiner
  要安装LogMiner工具必须首先要运行下面这样两个脚本
   l $ORACLE_HOME/rdbms/admin/dbmslsm.sql
   2 $ORACLE_HOME/rdbms/admin/dbmslsmd.sql.
  这两个脚本必须均以SYS用户身份运行其中第个脚本用来创建DBMS_LOGMNR包该包用来分析日志文件第 2个脚本用来创建DBMS_LOGMNR_D包该包用来创建数据字典文件


  3、使用LogMiner工具
  下面将详细介绍如何使用LogMiner工具
  1、创建数据字典文件(data-dictionary)
  前面已经谈到LogMiner工具实际上是由两个新PL/SQL内建包((DBMS_LOGMNR 和 DBMS_ LOGMNR_D)和 4个V$动态性能视图(视图是在利用过程DBMS_LOGMNR.START_LOGMNR启动LogMiner时创建)组成在使用LogMiner工具分析redo log文件的前可以使用DBMS_LOGMNR_D 包将数据字典导出为个文本文件该字典文件是可选但是如果没有它LogMiner解释出来语句中有关数据字典中部分(如表名、列名等)和数值都将是16进制形式我们是无法直接理解例如下面sql语句:

  LogMiner解释出来结果将是下面这个样子

  创建数据字典就是让LogMiner引用涉及到内部数据字典中部分时为他们实际名字而不是系统内部16进制数据字典文件是个文本文件使用包DBMS_LOGMNR_D来创建如果我们要分析数据库中表有变化影响到库数据字典也发生变化这时就需要重新创建该字典文件另外种情况是在分析另外个数据库文件重作日志时也必须要重新生成遍被分析数据库数据字典文件
  首先在init.ora化参数文件中指定数据字典文件位置也就是添加个参数UTL_FILE_DIR该参数值为服务器中放置数据字典文件目录如:

  重新启动数据库使新加参数生效然后创建数据字典文件:




[NextPage]

2、创建要分析日志文件列表
  Oracle重作日志分为两种在线(online)和离线(offline)归档日志文件下面就分别来讨论这两种区别日志文件列表创建
  (1)分析在线重作日志文件
  A. 创建列表

  B. 添加其他日志文件到列表

  (2)分析离线日志文件
  A.创建列表

  B.添加另外日志文件到列表

  有关这个日志文件列表中需要分析日志文件个数完全由你自己决定但这里建议最好是每次只添加个需要分析日志文件在对该文件分析完毕后再添加另外文件
  和添加日志分析列表相对应使用过程 'dbms_logmnr.removefile' 也可以从列表中移去个日志文件下面例子移去上面添加日志文件e:\Oracle\oradata\sxf\redo02.log

  创建了要分析日志文件列表下面就可以对其进行分析了


3、使用LogMiner进行日志分析
  (1)无限制条件

  (2)有限制条件
  通过对过程DBMS_ LOGMNR.START_LOGMNR中几个区别参数设置(参数含义见表1)可以缩小要分析日志文件范围通过设置起始时间和终止时间参数我们可以限制只分析某时间范围日志如下面例子我们仅仅分析2001年9月18日日志:

  也可以通过设置起始SCN和截至SCN来限制要分析日志范围:

  表1 DBMS_LOGMNR.START__LOGMNR过程参数含义




[NextPage]

 4、观察分析结果(v$logmnr_contents)
  到现在为止我们已经分析得到了重作日志文件中内容动态性能视图v$logmnr_contents包含LogMiner分析得到所有信息

  如果我们仅仅想知道某个用户对于某张表操作可以通过下面SQL查询得到该查询可以得到用户DB_ZGXT对表SB_DJJL所作切工作

  需要强调视图v$logmnr_contents中分析结果仅在我们运行过程'dbms_logmrn.start_logmnr'这个会话生命期中存在这是所有LogMiner存储都在PGA内存中所有其他进程是看不到它同时随着进程结束分析结果也随的消失
  最后使用过程DBMS_LOGMNR.END_LOGMNR终止日志分析事务此时PGA内存区域被清除分析结果也随的不再存在
   4、其他注意事项
  我们可以利用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以前产品该工具也无能为力
   5、结语
  LogMiner对于数据库管理员(DB

[1] [2] 下

正在看ORACLE教程是:理解和使用Oracle 8i分析工具LogMinerA)来讲是个功能非常强大工具也是在日常工作中经常要用到个工具借助于该工具可以得到大量有关数据库活动信息其中个最重要用途就是不用全部恢复数据库就可以恢复数据库某个变化另外该工具还可用来监视或者审计用户活动如你可以利用LogMiner工具察看谁曾经修改了那些数据以及这些数据在修改前状态我们也可以借助于该工具分析任何Oracle 8及其以后版本产生重作日志文件另外该工具还有个非常重要特点就是可以分析其他数据库日志文件总的该工具对于数据库管理员来讲个非常有效工具深刻理解及熟练掌握该工具对于每个数据库管理员实际工作是非常有帮助








页 [1] [2]

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: