`

分析Oracle数据库日志文件(三)

阅读更多

五、分析v$logmnr_contents

  前面我们已经知道了LogMiner的分析结果是放在v$logmnr_contents中,这里面有很多信息,我们可以根据需要追踪我们感兴趣的信息。那么我们通常感兴趣的有哪些呢?

  1、追踪数据库结构变化情况,即DDL操作,如前所述,这个只有Oracle9i才支持:

  SQL> select timestamp,sql_redo from v$logmnr_contents2
  where upper(sql_redo) like '%CREATE%';
  TIMESTAMP
  -------------------
  SQL_REDO
  -------------------------
  2003-09-21 10:01:55
  create table t (c1 number);

  2、追踪用户误操作或恶意操作:

  例如我们现实中有这样需求,有一次我们发现一位员工通过程序修改了业务数据库信息,把部分电话的收费类型改成免费了,现在就要求我们从数据库中查出到底是谁干的这件事?怎么查?LogMiner提供了我们分析日志文件的手段,其中v$logmnr_contents的SESSION_INFO列包含了下面的信息:

  login_username=NEW_97
  client_info= OS_username=oracle8 Machine_name=phoenix1
  OS_terminal=ttyp3 OS_process_id=8004 OS_program name=sqlplus@phoenix1
  (TNS V1-V3)

  虽然其中信息已经很多了,但在我们的业务数据库中,程序是通过相同的login_username登录数据库的,这样单从上面的信息是很难判断的。

  不过我们注意到,因为公司应用服务器不是每个人都有权限在上面写程序的,一般恶意程序都是直接通过他自己的PC连到数据库的,这就需要一个准确的定位。IP追踪是我们首先想到的,并且也满足我们的实际要求,因为公司内部IP地址分配是统一管理的,能追踪到IP地址我们就可以准确定位了。但从面的SESSION_INFO中我们并不能直接看到IP,不过我们还是有办法的,因为这个SESSION_INFO里面的内容其实是日志从V$SESSION视图里提取的,我们可以在生产数据库中创建一个追踪客户端IP地址的触发器:

  create or replace trigger on_logon_trigger
  after logon on database
  begin
  dbms_application_info.set_client_info(sys_context('userenv', 'ip_address'));
  end;
  /

  现在,我们就可以在V$SESSION视图的CLIENT_INFO列中看到新登录的客户端IP地址了。那么上面的提出的问题就可以迎刃而解了。假如被更新的表名为HMLX,我们就可以通过下面的SQL来找到所需信息:

  SQL > select session_info ,sql_redo from v$logmnr_contents
  2 where upper(operation) = 'UPDATE' and upper(sql_redo) like '%HMLX%'
  3 /
  SESSION_INFO
  -----------------------------------------
  SQL_REDO
  -----------------------------------------
  login_username=C client_info=10.16.98.26 OS_username=sz-xjs-chengyx Machine_name
  =GDTEL\SZ-XJS-CHENGYX
  update "C"."HMLX" set "NAME" = 'free' where "NAME" = 'ncn.cn' and ROWID = 'AAABhTAA
  FAAABRaAAE';
分享到:
评论

相关推荐

    ORACLE数据库的日志文件分析.pdf

    ORACLE数据库日志文件分析 ORACLE数据库日志文件分析是关系型数据库管理系统中非常重要的一部分。日志文件是ORACLE数据库的核心组件之一,用于记录数据库的所有操作,包括事务、数据修改、回滚等。日志文件分析是...

    oracle数据库日志查看方法

    ### Oracle数据库日志查看方法详解 #### 一、概述 Oracle数据库是企业级应用中广泛使用的数据库管理系统之一,为了确保数据库系统的稳定运行和快速定位问题,掌握Oracle数据库日志查看方法至关重要。本文将详细...

    深入分析Oracle数据库日志文件.rar

    日志文件在Oracle数据库系统中起着至关重要的作用,它们记录了数据库的所有更改,确保数据的安全性和可恢复性。本文将深入探讨Oracle数据库的日志文件,包括redo logs(重做日志)和archive logs(归档日志),以及...

    分析Oracle数据库日志文件(1) .txt

    ### Oracle数据库日志文件分析详解 #### 一、Oracle LogMiner工具介绍 在Oracle数据库管理与维护中,LogMiner是一项重要的工具,用于解析重做日志(Redo Logs)来获取数据库变更的详细信息。它能帮助数据库管理员...

    论文研究-Oracle8i数据库日志文件的分析与恢复.pdf

    首先,Oracle数据库日志文件是数据库管理的重要组成部分,它记录了数据库中所有事务的详细信息。Oracle 8i数据库日志文件主要包含以下几个关键概念和组件: 1. 转储文件(Dump File):转储文件是Oracle在处理日志...

    Oracle数据库日志文件的分析与应用.pdf

    总的来说,Oracle数据库日志文件的分析与应用是数据库管理中的重要环节,LogMiner作为Oracle提供的工具,能够帮助管理员深入理解数据库的操作历史,有效地进行数据恢复、审计监控和程序调试。通过正确安装、设置数据...

    基于LogMiner的Oracle数据库日志分析.pdf

    基于LogMiner的Oracle数据库日志分析 一、概述 Oracle 数据库是世界上使用最广泛的关系数据库系统之一。Oracle 数据库除了具有强大数据组织、存储、查询及处理的基本功能外,还提供了许多与应用及管理有关的辅助...

    深入分析oracle日志文件

    深入分析 Oracle 日志文件 Oracle 日志文件是 Oracle 数据库管理员 (DBA) 实现...Oracle 日志文件分析是数据库恢复和追踪用户操作的重要工具,LogMiner 是一种effective且low-cost的方法来分析 Oracle 日志文件。

    Oracle数据库日志文件损坏时修复方法的实验研究

    ### Oracle数据库日志文件损坏时修复方法的实验研究 #### 引言与背景 Oracle数据库作为全球领先的企业级数据库管理系统之一,其数据安全性和可靠性至关重要。数据库日志文件,包括重做日志(Redo Log)和归档日志...

    Oracle数据库重做日志文件的分析及其应用.pdf

    Oracle数据库重做日志文件的分析及其应用 本文将详细讨论 Oracle 数据库重做日志文件的分析及其应用,包括日志文件的概念、类型、结构、恢复机制等方面的知识点。 1. 日志文件的概念 日志文件是数据库管理系统中...

    Oracle数据库日志收集手册小白必备

    ### Oracle数据库日志收集知识点详解 #### 一、Oracle数据库日志类型与收集方法 **1. 数据库Alert日志** - **定义**: Alert日志是Oracle数据库中最关键的日志之一,它记录了数据库实例运行期间的重要事件,包括...

    Oracle数据库精讲之数据库管理_ Oracle数据库管理视频

    第五讲:Oracle数据库在线日志文件管理 第六讲:Oracle数据库归档日志文件管理 第七讲:Oracle数据库控制文件管理 第八讲:Oracle数据库参数文件管理 第九讲:oracle数据库启动和关闭管理 第十讲:oracle undo sapce...

    Oracle数据库日志文件损坏时修复方法的实验研究.pdf

    本篇文章将深入探讨Oracle数据库日志文件损坏时的修复方法。 Oracle数据库的日志文件主要分为两种类型:重做日志文件(Redo Log Files)和归档日志文件(Archive Log Files)。重做日志文件记录了对数据库的所有...

    Oracle数据库联机日志文件丢失处理方法

    Oracle 数据库联机日志文件丢失处理方法 Oracle 数据库联机日志文件是数据库运行的重要组件,负责记录数据库的事务信息,以便在出现故障时可以恢复数据库。然而,在某些情况下,联机日志文件可能会丢失,从而导致...

    oracle数据库配置文件

    这三份配置文件在Oracle数据库的日常管理和维护中扮演着核心角色。对于initv6db.ora,我们需要定期检查和调整参数以优化数据库性能;对于listener.ora,我们需要确保监听器正确配置并能响应所有必要的网络连接;而...

    如何对Oracle数据库文件进行恢复与备份

    Oracle数据库的恢复与备份是数据库管理员的关键技能,确保在数据丢失或系统故障时能迅速恢复服务。本篇文章主要探讨了如何对Oracle数据库进行备份和恢复,以及涉及的主要工具和技术。 Oracle数据库采用多种机制来...

    oracle查看alert日志文件位置

    在Oracle数据库管理中,了解如何查看Alert日志文件的位置至关重要。Alert日志文件包含有关数据库实例运行时的重要信息,例如错误消息、警告和其他重要事件,对于诊断问题和维护数据库健康状态非常有用。本文将详细...

    ORACLE数据库调整归档日志空间大小[收集].pdf

    ORACLE数据库调整归档日志空间大小 ORACLE数据库的归档日志是一种重要的灾难恢复机制,它可以帮助数据库管理员在发生灾难时恢复数据库。然而,如果不正确地配置和维护归档日志,可能会导致数据库无法启动或连接。...

    Oracle8i数据库日志文件的分析与恢复.pdf

    Oracle 8i 数据库日志文件的分析与恢复 Oracle 8i 数据库日志文件是数据库中最重要的组成部分之一,对数据库的可靠性和安全性起着至关重要的作用。日志文件记录了数据库中所有的事务操作,包括插入、更新、删除等...

Global site tag (gtag.js) - Google Analytics