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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:
使用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;

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
8月前
|
Oracle 关系型数据库 数据库
Oracle闪回:时光倒流,数据重现的魔法
【4月更文挑战第19天】Oracle数据库的闪回功能如同时光机,借助撤销段保存数据旧版,实现数据丢失或误改后的恢复。包括闪回查询、闪回表、闪回删除和闪回数据库等,适用于不同场景。使用时注意撤销段空间、保留时间和定期备份。虽非万能,但在数据保护体系中扮演重要角色。
|
Oracle 关系型数据库 数据库
oracle手工生成AWR报告方法记录
AWR(Automatic Workload Repository)报告是我们进行日常数据库性能评定、问题SQL发现的重要手段。熟练掌握AWR报告,是做好开发、运维DBA工作的重要基本功。
1445 0
|
Oracle 关系型数据库 数据库
oracle学习18-数据库相关日志文件位置
oracle学习18-数据库相关日志文件位置
328 0
oracle学习18-数据库相关日志文件位置
|
SQL Oracle 关系型数据库
ORACLE AWR报告生成过程出现多个实例记录分析
在一次生成AWR报告中,发现在“Instances in this Workload Repository schema”部分,出现了多个实例记录信息(host敏感信息被用host1,host2,host3替换)。
1330 0
|
SQL Oracle 关系型数据库
SRDC - 数据泵导入(IMPDP)性能问题的诊断收集 (文档 ID 2365615.1)
SRDC - 数据泵导入(IMPDP)性能问题的诊断收集 (文档 ID 2365615.1)MOS
2059 0
|
存储 监控 Oracle
Oracle体系结构--数据字典
Oracle体系结构--数据字典
991 0
|
SQL Oracle 关系型数据库