热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Oracle追踪用户操作体验logminer的威力-mysql教程

通过SQL的界面来查询redo日志的工具。用途:1,用户在误删除数据后,可以通过LogMiner来恢复;虽然也可以通过RMAN来恢复,但需要

通过SQL的界面来查询redo日志的工具。用途:1, 用户在误删除数据后,可以通过LogMiner来恢复;虽然也可以通过RMAN来恢复,但需要

通过SQL的界面来查询redo日志的工具。

用途:
1, 用户在误删除数据后,可以通过LogMiner来恢复;虽然也可以通过RMAN来恢复,但需要有之前的备份,,要先转出再query,会比较麻烦;LogMiner比较简单;

2,可以进行后审计功能,LOG 日志中包含跟踪任何DML和DDL的的全部信息,可以知道执行的顺序和有谁来执行;

步骤

1.数据库的supplemental的状态调整
2.创建数据库级别的触发器,用以记录客户的登录信息
3.安装logminer
4.创建logminer数据字典(如果没有创建数据自己,而是在线分析,看见的不是原始sql,而是
被Oracle格式化的sql语句)
5.添加需要分析的日志
6.分析日志
7.查看结果(v$logmnr_contents)

一,我们需要查看v$logmnr_contents中的客户端的信息,看是否开启支持logminer。

select name,supplemental_log_data_min from v$database

我们就要设置 supplemental_log_data_min 为on

YES为打开状态,会记录session_info,username等信息
NO为关闭状态,不会记录sesion_info,username等信息

开启方式:

alter database add supplemental log data;

关闭方式

alter database drop supplemental log data;

此参数是记录到控制文件中的,如果重新创建了数据库控制文件,我们需要重新设置。

二,创建库基本的触发器:

SQL> create or replace trigger on_logon_tigger
2 after logon on database
3 begin
4 dbms_application_info.set_client_info(sys_context('userenv','ip_address'));
5 end;
6 /


现在,我们就可以在V$SESSION视图的CLIENT_INFO列中看到新登录的客户端IP地址了。那么现在就可以在
session_info 中看客户端的ip了

三,安装logminer:


四、分析

exec dbms_logmnr.start_logmnr(dictfilename=>'C:\oracle\logs\dictionary.ora');

exec dbms_logmnr.start_logmnr;

例子:
select timestamp,commit_timestamp,table_space,session#,serial#,username,session_info,sql_redo,operation,table_name,seg_name,seg_owner
from v$logmnr_contents
where seg_owner=upper('scott)
and operation=upper('insert');


六、结束分析
SQL> execute dbms_logmnr.end_logmnr;

建议使用非SYSTEM TABLESPACE来存放LogMiner的信息:
exec DBMS_LOGMNR_D.SET_TABLESPACE(’logmnrts$’);

1.logminer实际上是由两个pl/sql内建包(dbms_logmnr和dbms_logmnr_d)和4个v$动态性能视图组成的.

v$logmnr_logs
v$logmnr_contents
v$logmnr_parameters

安装logminer首先要以sys管理员的身份运行这个pl/sql脚本

sql> conn /as sysdba

sql> @/rdbms/admin/dbmslm.sql

sql> @/rdbms/admin/dbmslmd.sql

2. 修改参数 utl_file_dir参数

这个参数是静态参数,修改后需要数据库,才会起作用。

SQL> alter system set utl_file_dir='c:\logminerlog' scope=spfile;

系统已更改。

SQL> host mkdir c:\logminerlog

SQL> exec dbms_logmnr_d.build(dictionary_filename=>'logminer',dictionary_location=>'c:\logminerlog');

PL/SQL 过程已成功完成。

SQL> begin
2 dbms_logmnr_d.build(dictionary_filename=>'logminer',dictionary_location=>'c:\logminerlog');
3 end;
4 /

PL/SQL 过程已成功完成。

SQL> show parameter utl_file_dir

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
utl_file_dir string c:\logminerlog

SQL> exec dbms_logmnr_d.build(dictionary_filename=>'dictionary.ora',dictionary_location=>'c:\logminerlog');

PL/SQL 过程已成功完成。

SQL> exec dbms_logmnr.add_logfile(logfilename=>'D:\app\Gavin\oradata\orcl\redo03.log',optiOns=>dbms_logmnr.new);

PL/SQL 过程已成功完成。

SQL> exec dbms_logmnr.add_logfile(logfilename=>'D:\app\Gavin\oradata\orcl\redo01.log',optiOns=>dbms_logmnr.addfile);

PL/SQL 过程已成功完成。


为了减少视图的数据量,加快分析的时间,可以把分析过的日志从视图中删除


SQL> exec dbms_logmnr.add_logfile(logfilename=>'D:\app\Gavin\oradata\orcl\redo03.log',optiOns=>dbms_logmnr.removefile);

PL/SQL 过程已成功完成。

SQL> exec dbms_logmnr.add_logfile(logfilename=>'D:\app\Gavin\oradata\orcl\redo01.log',optiOns=>dbms_logmnr.removefile);

PL/SQL 过程已成功完成。

linux

推荐阅读
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 本题探讨了一种字符串变换方法,旨在判断两个给定的字符串是否可以通过特定的字母替换和位置交换操作相互转换。核心在于找到这些变换中的不变量,从而确定转换的可能性。 ... [详细]
  • 资源推荐 | TensorFlow官方中文教程助力英语非母语者学习
    来源:机器之心。本文详细介绍了TensorFlow官方提供的中文版教程和指南,帮助开发者更好地理解和应用这一强大的开源机器学习平台。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 计算机网络复习:第五章 网络层控制平面
    本文探讨了网络层的控制平面,包括转发和路由选择的基本原理。转发在数据平面上实现,通过配置路由器中的转发表完成;而路由选择则在控制平面上进行,涉及路由器中路由表的配置与更新。此外,文章还介绍了ICMP协议、两种控制平面的实现方法、路由选择算法及其分类等内容。 ... [详细]
  • 本文将介绍如何使用 Go 语言编写和运行一个简单的“Hello, World!”程序。内容涵盖开发环境配置、代码结构解析及执行步骤。 ... [详细]
  • This guide provides a comprehensive step-by-step approach to successfully installing the MongoDB PHP driver on XAMPP for macOS, ensuring a smooth and efficient setup process. ... [详细]
  • 探讨如何高效使用FastJSON进行JSON数据解析,特别是从复杂嵌套结构中提取特定字段值的方法。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文介绍如何利用动态规划算法解决经典的0-1背包问题。通过具体实例和代码实现,详细解释了在给定容量的背包中选择若干物品以最大化总价值的过程。 ... [详细]
  • 本文介绍了在使用Visual Studio 2015进行项目开发时,遇到类向导弹出“异常来自 HRESULT:0x8CE0000B”错误的解决方案。通过具体步骤和实践经验,帮助开发者快速排查并解决问题。 ... [详细]
  • 本文基于刘洪波老师的《英文词根词缀精讲》,深入探讨了多个重要词根词缀的起源及其相关词汇,帮助读者更好地理解和记忆英语单词。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
author-avatar
oz法卡山英雄营
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有