甲骨文的日志挖掘技术

  

,   ,   ,,日志挖掘:logminer
作用:
通过对日志的分析,能够获得用户的dml操作语句,用来修复用户数据的丢失或者是错误。
能够通过日志挖掘,获得用户操作的反向操作(undo_sql)或者正向操作(redo_sql);
实现条件:
执行日志挖掘需要打开辅助日志功能(SUPPLEMENTAL_LOG_DATA_MIN)
SYS@orcl11g>从v $选择supplemental_log_data_min数据库;——查看辅助日志开启的状态

suppleme
- - - - - - - - - - - - - - - -

SYS@orcl11g>修改数据库添加补充日志数据;——开启附加日志
启动最小补充日志的主要目的是为了使logminer具备识别由更新命令导致的行迁移,行移动的能力。
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *设置*场景* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
样例演示:
1。创建一个表
scott@orcl11g>删除表e_logminer清洗;
scott@orcl11g>创建从emp表e_logminer select *;

2。对这个表进行更新,使用了错误的更新条件
scott@orcl11g>更新e_logminer组sal=12345;
scott@orcl11g>提交;

3。切换日志,模拟这个操作过了很久这样的状态
scott@orcl11g>康涅狄格州/sysdba

sys@orcl11g>归档日志列表;
数据库日志模式,,,,,,,,,自动归档,归档模式
,,,,,,,,,,,
归档目的地来实现的,,,,,,,,,,/u01/app/oracle/arch3
古老在线日志序列,,,,,8
下一个日志序列存档,,,10
当前日志序列,,,,,,,,,10

sys@orcl11g>改变系统切换日志文件;
……切换n次
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *场景设置完毕* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
开始进行日志挖掘:

,判断大概数据还是正确的时间为2015-04-24 13:00:00
sys@orcl11g>选择名字从v $ archived_log first_time祝辞=
,(选择马克斯(first_time) v $ archived_log
,,first_time & lt;=to_date (‘2015-04-24 13:00:00’,‘yyyy-mm-dd hh34: mi:党卫军'))
union all
选择成员从v $日志文件组#=
,(选择组#从v $日志归档=安弧?的名字;

名称
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/u01/app/oracle/arch4/1_41_857390041。dbf
/u01/app/oracle/arch4/1_42_857390041。dbf
/u01/app/oracle/arch4/1_43_857390041。dbf
/u01/app/oracle/arch4/1_44_857390041。dbf
/u01/app/oracle/arch4/1_45_857390041。dbf
/u01/app/oracle/oradata/orcl11g/redo01。日志

9行选择。


[oracle@db253 ~]美元猫日志。sql
选择[exec dbms_logmnr问”。add_logfile(') ' | |名称| |问”(“dbms_logmnr.addfile);]”v $ archived_log
在first_time祝辞=
,(选择马克斯(first_time) v $ archived_log, first_time & lt;=to_date (“2015-04-24 13:00:00”,“yyyy-mm-dd hh34: mi: ss”))
union all
选择[exec dbms_logmnr问”。add_logfile('] ' | |会员| |问“[”,dbms_logmnr.addfile);]“从v $日志文件
组#=
,(选择组#从v $日志,在存档=安弧?按1
/

SYS@orcl11g>设置
SYS@orcl11g>修剪;设置在
SYS@orcl11g>修剪;组词
SYS@orcl11g>集防范
SYS@orcl11g>设置了
SYS@orcl11g>提供反馈;设置呼应了
SYS@orcl11g>设置线宽200
SYS@orcl11g>设置页大小0,
SYS@orcl11g>线轴/home/oracle/logmnr.sql
SYS@orcl11g>@log。sql
SYS@orcl11g>线轴
SYS@orcl11g>退出

——修改logmnr。sql
[oracle@db253 ~]猫logmnr美元。sql
exec dbms_logmnr.add_logfile ('/u01/app/oracle/arch3/1_10_819218658.dbf ', dbms_logmnr.new);
exec dbms_logmnr.add_logfile ('/u01/app/oracle/arch3/1_11_819218658.dbf ', dbms_logmnr.addfile);
exec dbms_logmnr.add_logfile ('/u01/app/oracle/arch3/1_12_819218658.dbf ', dbms_logmnr.addfile);
exec dbms_logmnr.add_logfile ('/u01/app/oracle/arch3/1_13_819218658.dbf ', dbms_logmnr.addfile);
exec dbms_logmnr.add_logfile ('/u01/app/oracle/arch3/1_14_819218658.dbf ', dbms_logmnr.addfile);
exec dbms_logmnr.add_logfile ('/u01/app/oracle/arch3/1_15_819218658.dbf ', dbms_logmnr.addfile);
exec dbms_logmnr.add_logfile ('/u01/app/oracle/arch3/1_16_819218658.dbf ', dbms_logmnr.addfile);
exec dbms_logmnr.add_logfile ('/u01/app/oracle/arch3/1_17_819218658.dbf ', dbms_logmnr.addfile);
exec dbms_logmnr.add_logfile ('/u01/app/oracle/oradata/orcl11g/redo03.log’, dbms_logmnr.addfile);
——添加日志文件到新的或已经存在的日志列表中供日志挖掘器处理


sys@orcl11g>@logmnr。sql,,,,,不要退出这个会话
,,——为logminer挖掘会话手动注册可挖掘的重做日志,,

甲骨文的日志挖掘技术