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_CONTENTS

   WHERE 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 FROM

   V$LOGMNR_CONTENTS WHERE SEG_NAME NOT LIKE '%$' GROUP BY

   SEG_OWNER, SEG_NAME ORDER BY Hits DESC;

3.停止LogMiner

SQL> EXECUTE DBMS_LOGMNR.END_LOGMNR();

时间: 2024-10-27 17:06:30

LogMiner常用场景的相关文章

git常用命令常用场景

在使用git之前,一直用的是svn版本管理:与svn最大不同的是,git有两个仓库,一个是本地仓库,一个是服务器上共享的仓库:本地仓库是每个开发者自己独有的,即使commit提交也只是提交到本地仓库:这只是git流行起来的一个优势之一,另外linux作者开发的这套版本管理工具,很接地气,也是流行起来的一大亮点.扯了这么多没用的,言归正卷,那么在日常开发工作中,哪些git命令是我们常用到的呢?下面就说说几个常用命令的常用场景,至于这些命令详细使用就不在本文讨论之内. 1.git命令别名 使用过gi

[Linux运维]常用场景模拟 -- cpu使用率模拟

[Linux运维]常用场景模拟 -- cpu使用率模拟 from http://www.cnblogs.com/zk47/p/4771105.html 1 单个核 100%: 代码 kill_cpu.c #include <stdlib.h> int main() { while(1); return 0; } 运行 $ gcc -o out kill_cpu.c $ ./out 看top的结果: $ top top - 15:44:08 up 207 days, 21:29, 2 users

cocos2dx 游戏开发中常用场景切换方式以及特性

runWithScene(CCScene* scene):启动游戏,并运行scene 场景.这个方法在主程序启动时第一次启动主场景时调用. replaceScene(CCScene* scene):直接使用传入的scene 替换当前场景来切换画面,当前场景将被释放.这是切换场景时 最常用的方法. pushScene(CCScene* scene):在不释放旧场景内存的情况下运行新场景,推进新场景相当于在当前可见的纸上再放一张纸,而之前的纸位置何持不变.适用情况: 1.推进一个经常被用到的场景,例

Git&mdash;&mdash;常用场景解析

总结:本篇文章从初识GitHub.Git,实践GitHub的五种常用场景,分别是:git for windows安装,git配置,克隆远程代码到本地,上传本地代码到远程以及Git的常用指令.相信James已经尝到了Git的滋味. Git是什么?是版本控制工具,是协同开发的利器. "版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统:对于软件开发领域来说,版本控制是最重要的一环." 如何使用呢?首次接触Git时,James认为:大可不必去弄清楚Git的工作原理,

Python描述符常用场景详解

Descriptors( 描述符 ) 是语言中一个深奥但很重要的一个黑魔法,它被广泛应用于 Python 语言的内核,熟练掌握描述符将会为 Python程序员 的工具箱添加一个额外的技巧.本文将讲述描述符的定义以及一些常见的场景,并且在文末会补充一下 __getattr , __getattribute__, __getitem__ 这三个同样涉及到属性访问的魔术方法,希望对大家 学习python有所帮助. 描述符的定义 descr__get__(self, obj, objtype=None)

Intent 常用场景 FileProvider 拍照 裁剪

Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 [email protected] 目录 目录常用的 Intent 场景拍照.选择照片.裁剪照片涉及到的权限需要配置 FileProviderActivity工具类其他简单场景拨打电话发送短信发送彩信打开浏览器打开浏览器并搜索内容发邮件打开地图并定位到指定位置路径规划多媒体播放打开应用在应用市场的详情页进入手机设置界面安装和卸载

TCP和UDP的常用场景

两种协议都是传输层协议,为应用层提供信息载体.TCP协议是基于连接的可靠协议,有流量控制和差错控制,也正因为有可靠性的保证和控制手段,所以传输效率比UDP低:UDP协议是基于无连接的不可靠协议,没有控制手段,仅仅是将数据发送给对方,因此效率比TCP要高. 基于上述特性,不难得到结论,TCP协议适用于对效率要求相对低,但对准确性要求相对高的场景下,或者是有一种连接概念的场景下:而UDP协议适用于对效率要求相对高,对准确性要求相对低的场景. 好了,现在回到你的问题,举几个应用的例子.TCP一般用于文

LogMiner常用案例

1 LogMiner案例 Enable Supplemental Logging Extract a LogMiner Dictionary(unless you plan to use the online catalog) Specify Redo Log Files for Analysis Start LogMiner Query V$LOGMNR_CONTENTS End the LogMiner Session 1.1 显式指定重做日志文件的LogMiner实例 本节内容必须开启最小

密码学常用场景及其算法实现原理

导读 这是我的第一篇博文.在我本科学到的密码学课上,密码学就给我留下了理论艰深,概念繁多的可怕阴影,秘钥长度之长,处理过程之繁琐曾让我一度怀疑自己不是一个合格的工科生.因区块链开发中再次涉及到了密码学的相关知识,所以这几天又系统的学习了一遍,本文是一些对密码学的知识的整理.首先,我会对密码学学科的概念及背景进行简单介绍.其次,我会通过具体案例来说明密码学的安全原理.最后,我对现在不同的加密算法库及其应用场景进行了分类整理,方面大家对照选取. 本文的主要参考博客如下: <密码学一小时>https