ch19 使用LogMiner进行日志分析.ppt_第1页
ch19 使用LogMiner进行日志分析.ppt_第2页
ch19 使用LogMiner进行日志分析.ppt_第3页
ch19 使用LogMiner进行日志分析.ppt_第4页
ch19 使用LogMiner进行日志分析.ppt_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、使用LogMiner进行日志分析,肖永康 北京师范大学信息科学与技术学院,2,目录,LogMiner简介 LogMiner字典 使用LogMiner分析DML操作 使用LogMiner分析DDL操作 显示LogMiner信息,3,LogMiner简介(1),在Oracle数据库中,用户数据的变化(DML)和数据字典的变化(DDL和DCL)都将被记载到重作日志中 当数据库处于ARCHIVE LOG模式时,DML、DDL和DCL等事务操作最终还会被记载到归档日志中 LogMiner是Oracle数据库提供的一个工具,它用于分析重作日志和归档重作日志日志所记载的事务操作,4,LogMiner简介(2

2、),利用LogMiner对联机重做日志文件和归档重做日志文件进行分析,DBA可以 对数据库用户的操作进行审计,或者撤销数据库中已经执行过的指定操作 跟踪某个用户的所有操作,或者跟踪需要某个数据库对象的变更过程,并由此生成统计信息,5,LogMiner的基本对象,源数据库(Source Database) 包含了要分析的重做日志和归档日志的产品数据库 分析数据库(Mining Database) 执行LogMiner操作所要使用的数据库 LogMiner字典 用于将内部对象ID号和数据类型转换为对象名和外部数据格式 使用LogMiner分析重做日志和归档日志时,应该生成LogMiner字典,否则

3、将无法读懂分析结果,6,LogMiner的配置要求,源数据库和分析数据库 源数据库和分析数据库必须运行在相同的硬件平台上 分析数据库可以是独立的数据库或者为源数据库 分析数据库的版本不能低于源数据库的版本 分析数据库与源数据库必须具有相同的字符集 LogMiner字典 必须在源数据库中生成 重做日志文件 当分析多个重做日志或归档日志时,它们必须是同一个源数据库的重做日志或归档日志 当分析多个重做日志或归档日志时,它们必须具有相同的RESETLOGS SCN 被分析的重做日志或归档重做日志必须在Oracle 8.0版本以上,7,补充日志,重做日志用于实现实例恢复和介质恢复,这些操作所需要的数据被

4、自动记录在重做日志中 但是,重做应用可能还需要记载其他列信息到重做记录中,记录其他列的日志过程称为补充日志(Supplemental Logging) 默认情况下,Oracle数据库没有提供任何补充日志,导致默认情况下,LogMiner无法支持以下特征: 索引簇、链行和迁移行 直接路径插入 摘取LogMiner字典到重做日志 跟踪DDL 生成键列的SQL_REDO和SQL_UNDO信息 LONG和LOB数据类型,8,激活补充日志,SQL conn / as sysdba SQL alter database add supplemental log data;,9,LogMiner字典(1),

5、LogMiner字典用于将对象ID号和数据类型转变为对象名和外部对象格式 如果不使用LogMiner字典,将无法读懂LogMiner分析结果,10,LogMiner字典(2),提供LogMiner字典有3中选项 使用源数据库数据字典(Online Catalog) 使用源数据库分析重做日志或归档日志时,如果要分析的表的结构没有发生任何变化,Oracle建议使用该选项分析重做日志和归档日志 为了使LogMiner使用当前数据库的数据字典,启动LogMiner时应执行如下操作 SQL exec dbms_logmnr.start_logmnr(options = dbms_logmnr.DICT_

6、FROM_ONLINE_CATALOG) 注意:要求数据库必须处于OPEN状态,并且该选项只能用于跟踪DML操作,11,LogMiner字典(3),摘取LogMiner字典到重做日志 使用分析数据库分析重做日志或归档日志,或者被分析的表的结构发生变化时,Oracle建议使用该选项分析重做日志和归档日志 为了摘取LogMiner字典到重做日志,要求源数据库必须处于ARCHIVELOG模式,并且该数据库必须处于OPEN状态 例子: SQL exec dbms_logmnr_d.build (options = dbms_logmnr_d.STORE_IN_REDO_LOGS),12,LogMine

7、r字典(4),摘取LogMiner字典到字典文件 字典文件用于存放对象ID号和对象名信息,该选项是为了与早期版本兼容而保留的 注意:使用字典文件分析重做日志时,如果要分析新建立的对象,必须重新建立字典文件 建立字典文件的步骤 配置字典文件所在目录 SQL conn / as sysdba SQL alter system set utl_file_dir = d:orcl scope=spfile; SQL shutdown immediate SQL startup 建立字典文件 SQL exec dbms_logmnr_d.build(dict.ora, d:orcl, dbms_logm

8、nr_d.STORE_IN_FLAT_FILE),13,使用LogMiner分析DML操作(1),使用LogMiner分析DML操作时,如果表的结构没有发生任何变化,Oracle建议使用源数据库的数据字典分析重做日志或归档日志 假定SCOTT用户在DEPT表上执行了以下的DML操作 SQL conn scott/tiger SQL insert into dept values (50, Admin, DEFAULT); SQL update dept set loc = BEIJING where deptno = 50; SQL commit;,14,使用LogMiner分析DML操作(2

9、),建立日志分析列表 日志分析列表用于指定要分析的重做日志或归档日志 注意1:当将第一个日志文件增加到日志分析列表中时,必须使用dbms_logmnr.NEW选项;当增加其他日志文件时,需要使用dbms_logmnr.ADDFILE选项 SQL conn / as sysdba SQL exec dbms_logmnr.add_logfile(LogFileName = %ORACLE_BASE%oradataorclredo03.log, options = dbms_logmnr.NEW)(第一个日志文件) SQL exec dbms_logmnr.add_logfile(LogFileN

10、ame = %ORACLE_BASE%oradataorclredo02.log, options = dbms_logmnr.ADDFILE) (其他日志文件) 注意2:如果要从日志分析列表中删除日志文件,则需要使用过程dbms_logmnr.REMOVEFILE,15,使用LogMiner分析DML操作(3),启动LogMiner SQL exec dbms_logmnr.start_logmnr(Options = dbms_logmnr.DICT_FROM_ONLINE_CATALOG) 查看日志分析结果 使用查询动态性能视图v$logmnr_contents取得日志分析结果 注意:日

11、志分析结果只能在当前会话查看 SQL col username format a8 SQL col sql_redo format a60 SQL select username, timestamp, sql_redo from v$logmnr_contents where seg_name = DEPT;,16,使用LogMiner分析DML操作(4),结束LogMiner 结束LogMiner后,服务器进程会自动删除与LogMiner相关的动态性能视图所包含的事务变化内容 SQL exec dbms_logmnr.end_logmnr,17,使用LogMiner分析DDL操作(1),使

12、用LogMiner分析DDL操作时,必须使用重做日志或字典文件存放LogMiner字典信息 如果使用重做日志文件存放LogMiner字典,则源数据库必须处于ARCHIVELOG模式 如果使用字典文件存放LogMiner字典,则必须建立字典文件 例:建立字典文件存放LogMiner字典信息 SCOTT用户在EMP表上执行了以下DDL操作 SQL conn scott/tiger SQL drop table dept; SQL drop table emp;,18,使用LogMiner分析DDL操作(2),完成前面“摘取LogMiner字典到字典文件”的相关步骤 建立日志分析列表 SQL con

13、n / as sysdba SQL exec dbms_logmnr.add_logfile(LogFileName = %ORACLE_BASE%oradataorclredo03.log, Options = dbms_logmnr.NEW) 启动LogMiner SQL exec dbms_logmnr.start_logmnr(DictFileName = d:orcldict.ora, Options = dbms_logmnr.DDL_DICT_TRACKING),19,使用LogMiner分析DDL操作(3),查看日志分析结果 SQL select timestamp, sql_

14、redo from v$logmnr_contents where lower(sql_redo) like %drop table%; 结束LogMiner SQL exec dbms_logmnr.end_logmnr,20,显示LogMiner信息,显示LogMiner分析结果 SQL select to_char(timestamp, YYYY-MM-DD:HH24:MI:SS) time, sql_redo from v$logmnr_contents where lower(sql_redo) like %create%; 显示当前LogMiner会话正在使用的字典文件 SQL col

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论