使用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;

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
SQL 关系型数据库 MySQL
解决sql插入字符串中包含‘单引号问题
解决sql插入字符串中包含‘单引号问题
1549 2
解决sql插入字符串中包含‘单引号问题
|
关系型数据库 MySQL 数据库连接
mysql报错:Host‘IP地址‘ isblocked because of many connection errors;unblock with ‘mysqladmin flush-hosts‘
mysql报错:Host‘IP地址‘ isblocked because of many connection errors;unblock with ‘mysqladmin flush-hosts‘
814 1
|
存储 负载均衡 监控
【数据库架构】使用pgpool II的PostgreSQL高可用性
在本文中,我们讨论了使用pgpool II(PostgreSQL开源扩展之一)的高可用性系统设置。它是我们的解决方案之一,可以满足这两个要求:高可用性和可扩展性。
|
负载均衡 关系型数据库 网络安全
Pgpool-II实现高可用+读写分离+负载均衡(二)---- 配置篇
Pgpool-II是一款工作在PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件。提供了连接池、复制、负载均衡、限制过多连接、看门狗、查询缓存等功能。本篇介绍详细配置。
|
SQL 负载均衡 前端开发
pgpool-II 4.3 中文手册 - 入门教程
pgpool-II 4.3 中文手册 - 入门教程
1114 0
pgpool-II 4.3 中文手册 - 入门教程
|
SQL 关系型数据库 MySQL
|
SQL 关系型数据库 MySQL
MySQL - key、primary key、unique key、index 区别(二)
MySQL - key、primary key、unique key、index 区别(二)
1432 0
rac安装报错“ Checking swap space 0 MB available, 150 MB required. Failed”
rac安装报错“ Checking swap space 0 MB available, 150 MB required. Failed”
1142 0
|
2天前
|
弹性计算 运维 搜索推荐
三翼鸟携手阿里云ECS g9i:智慧家庭场景的效能革命与未来生活新范式
三翼鸟是海尔智家旗下全球首个智慧家庭场景品牌,致力于提供覆盖衣、食、住、娱的一站式全场景解决方案。截至2025年,服务近1亿家庭,连接设备超5000万台。面对高并发、低延迟与稳定性挑战,全面升级为阿里云ECS g9i实例,实现连接能力提升40%、故障率下降90%、响应速度提升至120ms以内,成本降低20%,推动智慧家庭体验全面跃迁。