Oracle 11g之LogMiner常用场景

2024-05-10 06:18

本文主要是介绍Oracle 11g之LogMiner常用场景,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

LogMiner常用场景


1.1 LogMiner跟踪特定用户所做的更改


本节例子,查出用户joedevo在特定时间范围内对数据库所做的所有操作,步骤如下:

1.创建LogMiner字典

   使用LogMiner分析joedevo相关的数据,必须在joedevo对它的所有表做任何的更改操作前创建LogMiner字典或者直接使用在线字典,本例使用已提取到重做日志文件中的LogMiner字典。

2.添加重做日志文件

在joedevo对数据库做了一些更改操作之后,可以指定对应的重做日志文件来分析:

SQL> EXECUTE DBMS_LOGMNR.ADD_LOGFILE( -LOGFILENAME => 'log1orc1.ora', -OPTIONS => DBMS_LOGMNR.NEW);

根据需要添加其他的重做日志文件:

SQL> EXECUTE DBMS_LOGMNR.ADD_LOGFILE( -LOGFILENAME => 'log2orc1.ora', -OPTIONS => DBMS_LOGMNR.ADDFILE);

3.开启LogMiner并限制查询范围

SQL> EXECUTE DBMS_LOGMNR.START_LOGMNR( -DICTFILENAME => 'orcldict.ora', -STARTTIME => TO_DATE('01-Jan-1998 08:30:00','DD-MON-YYYY HH:MI:SS'), - ENDTIME => TO_DATE('01-Jan-1998 08:45:00', 'DD-MON-YYYY HH:MI:SS'));

4.查询V$LOGMNR_CONTENTS

SQL> SELECT SQL_REDO, SQL_UNDO FROM V$LOGMNR_CONTENTSWHERE USERNAME = 'joedevo' AND SEG_NAME = 'salary';

5.停止LogMiner

SQL> EXECUTE DBMS_LOGMNR.END_LOGMNR();


1.2 LogMiner做表的访问统计


   本节案例中,假设你管理者一个直营数据库,想确定1月份2周内客户带来的生产效益,假定你已经创建了LogMiner字典并添加了相关的重做日志文件,接下来的步骤如下:

1.开始LogMiner并限制查询范围

SQL> EXECUTE DBMS_LOGMNR.START_LOGMNR( -STARTTIME => TO_DATE('07-Jan-2003 08:30:00','DD-MON-YYYY HH:MI:SS'), -ENDTIME => TO_DATE('21-Jan-2003 08:45:00','DD-MON-YYYY HH:MI:SS'), -DICTFILENAME => '/usr/local/dict.ora');

2.查询V$LOGMNR_CONTENTS

查询V$LOGMNR_CONTENTS确定指定时间范围内哪些表发生了变化:

SQL> SELECT SEG_OWNER, SEG_NAME, COUNT(*) AS Hits FROMV$LOGMNR_CONTENTS WHERE SEG_NAME NOT LIKE '%$' GROUP BYSEG_OWNER, SEG_NAME ORDER BY Hits DESC;

3.停止LogMiner

SQL> EXECUTE DBMS_LOGMNR.END_LOGMNR();



这篇关于Oracle 11g之LogMiner常用场景的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/975672

相关文章

Java 字符数组转字符串的常用方法

《Java字符数组转字符串的常用方法》文章总结了在Java中将字符数组转换为字符串的几种常用方法,包括使用String构造函数、String.valueOf()方法、StringBuilder以及A... 目录1. 使用String构造函数1.1 基本转换方法1.2 注意事项2. 使用String.valu

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,

VUE动态绑定class类的三种常用方式及适用场景详解

《VUE动态绑定class类的三种常用方式及适用场景详解》文章介绍了在实际开发中动态绑定class的三种常见情况及其解决方案,包括根据不同的返回值渲染不同的class样式、给模块添加基础样式以及根据设... 目录前言1.动态选择class样式(对象添加:情景一)2.动态添加一个class样式(字符串添加:情

oracle中exists和not exists用法举例详解

《oracle中exists和notexists用法举例详解》:本文主要介绍oracle中exists和notexists用法的相关资料,EXISTS用于检测子查询是否返回任何行,而NOTE... 目录基本概念:举例语法pub_name总结 exists (sql 返回结果集为真)not exists (s

Oracle的to_date()函数详解

《Oracle的to_date()函数详解》Oracle的to_date()函数用于日期格式转换,需要注意Oracle中不区分大小写的MM和mm格式代码,应使用mi代替分钟,此外,Oracle还支持毫... 目录oracle的to_date()函数一.在使用Oracle的to_date函数来做日期转换二.日

oracle数据库索引失效的问题及解决

《oracle数据库索引失效的问题及解决》本文总结了在Oracle数据库中索引失效的一些常见场景,包括使用isnull、isnotnull、!=、、、函数处理、like前置%查询以及范围索引和等值索引... 目录oracle数据库索引失效问题场景环境索引失效情况及验证结论一结论二结论三结论四结论五总结ora

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结

Java 枚举的常用技巧汇总

《Java枚举的常用技巧汇总》在Java中,枚举类型是一种特殊的数据类型,允许定义一组固定的常量,默认情况下,toString方法返回枚举常量的名称,本文提供了一个完整的代码示例,展示了如何在Jav... 目录一、枚举的基本概念1. 什么是枚举?2. 基本枚举示例3. 枚举的优势二、枚举的高级用法1. 枚举

java中VO PO DTO POJO BO DO对象的应用场景及使用方式

《java中VOPODTOPOJOBODO对象的应用场景及使用方式》文章介绍了Java开发中常用的几种对象类型及其应用场景,包括VO、PO、DTO、POJO、BO和DO等,并通过示例说明了它... 目录Java中VO PO DTO POJO BO DO对象的应用VO (View Object) - 视图对象