使用logminer来分析对表所做的修改

使用logminer来分析对表所做的修改

1.设置初始化参数UTL_FILE_DIR 以指定一个允许 PL/SQL 文件 I/O 的目录

utl_file_dir='D:\oracle\log';

2.执行 BMS_LOGMNR_D.BUILD 过程以创建字典文件

execute dbms_logmnr_d.build('ocp.ora','D:\oracle\log');

指定要分析的日志文件

3.设置 V$LOGMNR_CONTENTS 视图:

初始化新列表并指定第一个日志文件

SQL> execute dbms_logmnr.add_logfile('D:\ORACLE\PRODUCT\10.2.0\ORADATA\OCP\REDO01.LOG',dbms_logmnr.new);

PL/SQL 过程已成功完成。

向列表中添加其它日志文件

SQL> execute dbms_logmnr.add_logfile('D:\ORACLE\PRODUCT\10.2.0\ORADATA\OCP\REDO02.LOG',dbms_logmnr.addfile);

PL/SQL 过程已成功完成。

设置 LogMiner 会话

一旦创建了字典文件您就可以开始分析重做日志第一步是使用

DBMS_LOGMNR.ADD_LOGFILE 过程指定要分析的日志文件

使用下列常量

? DBMS_LOGMNR.NEW 创建一个新列表并指定第一个日志文件

? DBMS_LOGMNR.ADDFILE 向列表中添加其它日志文件

? DBMS_LOGMNR.REMOVEFILE 从列表中删除重做日志

LogMiner 可以分析联机和归档日志文件

开始分析重做日志文件

初始化 LogMiner 会话:

EXECUTE DBMS_LOGMNR.START_LOGMNR(DICTFILENAME=>'D:\oracle\log\ocp.ora');

4.创建一个中间表用来存储对lv_insr_topay表的dml操作记录

create table jy_logmnr

(sql_redo varchar2(4000),

sql_undo varchar2(4000)

);

insert into jy_logmnr

SELECT sql_redo,SQL_UNDO FROM v$logmnr_contents WHERE seg_name = 'LV_INSR_TOPAY';

select * from jy_logmnr;

SQL> select * from jy_logmnr ;

SQL_REDO                                                                         SQL_UNDO

-------------------------------------------------------------------------------- --------------------------------------------------------------------------------

insert into "INSUR_CHANGDE"."LV_INSR_TOPAY"("PAY_INFO_NO","CALC_PRD","PAY_MONEY" delete from "INSUR_CHANGDE"."LV_INSR_TOPAY" where "PAY_INFO_NO" = '17524467' and

也可以运行

SELECT timestamp, username, sql_redo,SQL_UNDO

FROM v$logmnr_contents

WHERE seg_name = 'LV_INSR_TOPAY';

SQL> SELECT timestamp, username, sql_redo,SQL_UNDO

  2  FROM v$logmnr_contents

  3  WHERE seg_name = 'LV_INSR_TOPAY';

TIMESTAMP   USERNAME                       SQL_REDO                                                                         SQL_UNDO

----------- ------------------------------ -------------------------------------------------------------------------------- --------------------------------------------------------------------------------

2012-1-1 13                                insert into "INSUR_CHANGDE"."LV_INSR_TOPAY"("PAY_INFO_NO","CALC_PRD","PAY_MONEY" delete from "INSUR_CHANGDE"."LV_INSR_TOPAY" where "PAY_INFO_NO" = '17524467' and

5.完成 LogMiner 会话:

EXECUTE DBMS_LOGMNR.END_LOGMNR;

时间: 2024-08-21 16:54:59

使用logminer来分析对表所做的修改的相关文章

SEO没有尽头 后期网站分析维护该做什么

搜索引擎优化(SEO)的尽头是哪里,优化到什么程度我才能坐享其成呢,何时才是尽头呢?这可能是刚开始接触SEO的朋友都会自然想到的一个问题,我也想过.人毕竟是懒惰的,想着坐享其成的那天,可惜啊,做了一年多的SEO工作之后,才真的明白SEO是没有尽头的.他是个循环的过程,无限循环,直到你网站停止运营的那天.说到这里你不会感到无望和恐惧吧,大可不必,后期就是良性循环了,就会轻松很多.下面讲讲没有尽头的工作我们该怎么做: 首先,SEO循环 分六个步骤,关键词分析--网站架构研究--网站各页面优化--链接

JavaScript判断用户是否对表单进行了修改的方法

 这篇文章主要介绍了JavaScript判断用户是否对表单进行了修改的方法,实例分析了javascript对表单操作与判定的技巧,需要的朋友可以参考下     本文实例讲述了JavaScript判断用户是否对表单进行了修改的方法.分享给大家供大家参考.具体分析如下: 这段JS代码可以判断出用户是否对表单内容进行了修改,如果修改了表单,并退出浏览器,则会提醒用户是否要保存表单的内容,是非常有用的代码. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1

JavaScript判断用户是否对表单进行了修改的方法_javascript技巧

本文实例讲述了JavaScript判断用户是否对表单进行了修改的方法.分享给大家供大家参考.具体分析如下: 这段JS代码可以判断出用户是否对表单内容进行了修改,如果修改了表单,并退出浏览器,则会提醒用户是否要保存表单的内容,是非常有用的代码. function formIsDirty(form) { for (var i = 0; i < form.elements.length; i++) { var element = form.elements[i]; var type = element

ofbiz crud-小白求教,ofbiz做crud,修改和删除报错

问题描述 小白求教,ofbiz做crud,修改和删除报错 错误如上,如何解决,望高人指教 解决方案 http://www.myexception.cn/open-source/1504679.html 解决方案二: 参考这个博客:http://www.tuicool.com/articles/J3MNRf7

急!IIS中网站做了修改,可访问后没有变化。

问题描述 急!连接内容不更新!!!IIS中网站做了修改,可访问后没有变化.我在网页中有一些超链接,超链接连接到网站中存放的一些excel文件.比如有一个excel文件123.xls的内容更新了,我用更新后的123.xls把原来123.xls文件覆盖掉了.这些操作都是在服务器上进行的,可是我在我自己的机子上访问服务器,点击超链接后打开的excel文件还是原来的那个.甚至把123.xls文件在服务器上删除,在客户端还是能够打开.我把客户端机子上的IE缓存,临时文件都删除了,还是没用.IE为IE7.0

vc6 0-把程序从win2000上移植到win7上,使之能正常运行,需要做哪些修改?(包括数据库)

问题描述 把程序从win2000上移植到win7上,使之能正常运行,需要做哪些修改?(包括数据库) 目的: 现在在做一个项目,是控制电机的软件,以前是VC++6.0开发的,界面是用MFC开发的,用于在windows2000上运行的,数据库是用access97开发的.MDB格式.现在想要让它在win7上也能正常运行. 现状: 未做任何修改前,代码用VC++6.0编译后在win7上无法启动,但也没报错.后来,自己网上查了下资料,按照该处:http://support.microsoft.com/kb

access-C#连接Acess做密码修改的程序,程序提示UPDATE语句错误。各位帮个忙

问题描述 C#连接Acess做密码修改的程序,程序提示UPDATE语句错误.各位帮个忙 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.OleD

webService java两个项目 项目A 中传中文到项目B中 B项目不做任何修改 怎么能实现

问题描述 java两个项目 项目A 中传中文到项目B中 B项目不做任何修改 怎么能实现 解决方案 这个和普通web应用类似的http://www.iteye.com/topic/1121242#2322208你是用什么实现的webservice?比如cxf 可以看这个http://penghuaiyi.iteye.com/blog/570359解决方案二:最近发现提问者对问题描述的太乱了,根本不知道想提问啥.java两个项目 项目A 中传中文到项目B中 B项目不做任何修改 怎么能实现你的这句话可

千分位数字格式化(用逗号隔开 代码已做了修改 支持0-9位逗号隔开)的JS代码_javascript技巧

最近做项目需要我们前端对金额进行千分位格式化(也就是说每三位用逗号隔开),代码已经做了修改  之前的版本是本人疏忽 真对不住大家了!现在已经做了修改 如果还有不完善的地方 请大家多多指教! 1. 支持用逗号隔开 0-9位 逗号隔开 JS代码如下: 复制代码 代码如下: /**         * JS格式化         * @param number 要格式化的数字         * @param d [0-9]位 逗号隔开         */          function num