[Oracle OCP 052-2-1]日志挖掘 log miner

本文详细介绍了Oracle数据库中LogMiner工具的使用方法,包括如何进行DML和DDL的日志挖掘,以及在OEM中使用LogMiner进行不完全恢复的具体步骤。LogMiner是数据库恢复过程中的关键工具,用于分析Redolog,确定恢复的时间点或SCN。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

log miner 的作用
数据库恢复中有时会需要对Redo log进行分析,要会使用log miner,以便确定要恢复的时间点或SCN

日志挖掘的方法分类
1)DML
2)DDL

对语句DML进行日志挖掘

  1. 添加database补充日志
SQL>ALTER DATABASE ADD SUPPLEMENTAL LOG DATA

*注意:通过PL/SQL包的DML的日志挖掘,这步要先执行,在此之后的DML操作才能从日志里挖到。在OEM中也是要求先做这一步,不同的是之前的DML操作时可以挖到的。

  1. 确定要分析的日志范围,添加日志,分析
SQL>execute dbms_logmnr.add_logfile(logfilename=>'日志',options=>dbms_logmn.new); //第一个要加载的日志文件
SQL>execute dbms_logmnr.add_logfile(logfilename=>'补充日志',options=>dbms_logmn.addfile); //可以反复添加补充多个日志文件
  1. 执行logmin分析
SQL>execute dbms_logmnr.start_logmnr(options=>dbms_logmnr.dict_from_online_catalog);
  1. 查询分析结果,可以设置时间格式,也可以在显示方式里再确定格式
SQL>select username,scn,timestamp,sql_redo from v$logmnr_contents where seg_name='表名';
  1. 关闭日志分析
SQL>execute dbms_logmnr.end_logmnr;

例
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对DDL的操作的log miner

  1. 如果是第一次做,先要建好logmnr目录,设置logmnr参数,存放数据字典文件dict.ora
$ mkdir /home/oracle/logmnr
SQL> alter system set utl_file_dir='/home/oracle/logmnr' scope=spfile;
  1. 简历数据字典文件dict.ora
SQL> dbms_logmnr_d.build('dict.ora','/home/oracle/logmnr',dbms_logmnr_d.store_in_flat_file);
  1. 添加日志分析
SQL>execute dbms_logmnr.add_logfile(logfilename=>'日志',options=>dbms_logmn.new); 
SQL>execute dbms_logmnr.add_logfile(logfilename=>'追加日志',options=>dbms_logmn.addfile); 
  1. 执行分析
SQL>execute dbms_logmnr.start_logmnr(dictfilename=>‘/home/oracle/logmnr/dict.ora’,options=>dbms_logmnr.ddl_dict_tracking);
  1. 查看分析结果
SQL> select username,scn,to_char(timestamp,'yyyy-mm-dd hh24:mi:ss'),sql_redo from v$logmnr_contents WHERE USERNAME = 'SCOTT' and lower(sql_redo) like '%table%';
  1. 关闭日志分析
SQL> execute dbms_logmnr.end_logmnr;

例子将在053的不完全恢复一节中演示。

在oracle11g的OEM里已加入了有关log miner的功能,可以根据时间段由oracle自动选择需要的日志,比较方便,但只有提交的事务的信息,看来是从transaction的据奥都设计的。

OEM–>Availability–>Manage–>View and Manage Transctions

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值