如何利用日志挖掘工具分析oracle日志

当我们不小心误操作造成数据丢失时,数据库发生了变化,需要对数据库对象进行基于时间的检索,我们需要找到数据,此时不能准确地确定,我们可以通过Oracle日志分析,并及时准确地得到不需要操作的时间点。

Oracle数据库提供了一个分析日志包logmnr

日志分析工具的使用

-----挖掘重做日志在一个时间点找到DDL或者DML操作(包括:时间点,数据块的SCN,SQL语句)

实验测试




已选择的名字从V archived_log美元;

名称
--------------------------------------------------
/ / / 1_2_883536782.dbf arch1 Oracle

SQL >
SQL >
已删除scott.t1;
删除576行。
系统归档日志当前;
系统的改变。
SQL >创建表scott.t6为SELECT * FROM scott.emp;
表的创建。
系统归档日志当前;
系统的改变。
已选择的名字从V archived_log美元;

名称
--------------------------------------------------
/ / / 1_2_883536782.dbf arch1 Oracle
/ / / 1_3_883536782.dbf arch1 Oracle
/ / / 1_4_883536782.dbf arch1 Oracle




-启动日志挖掘器以添加日志以分析




已执行dbms_logmnr.add_logfile(logfilename = > / / / 1_2_883536782 Oracle arch1。DBF,选项= > dbms_logmnr。新);

已成功完成。






-添加需要分析的日志




已执行dbms_logmnr.add_logfile(logfilename = > / / / 1_3_883536782 Oracle arch1。DBF,选项= > dbms_logmnr。增加文件);

已成功完成。

已执行dbms_logmnr.add_logfile(logfilename = > / / / 1_4_883536782 Oracle arch1。DBF,选项= > dbms_logmnr。增加文件)

已成功完成。




-执行日志挖掘



已执行dbms_logmnr.start_logmnr(选项= > dbms_logmnr。dict_from_online_catalog);

已成功完成。






-查询分析结果


SQL >改变会话设置nls_date_format = 'yyyy-mm-dd hh24:MI:学生;
会议改变。
已选择的用户名,SCN,时间戳,sql_redo V logmnr_contents美元,seg_name = 't1;
用户名SCN时间戳
-----------------------------------------------------------
sql_redo
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
从史葛删除。T1,编号= '7782'and,易名= 'clark、易名=T
0和通讯为表= 10'和ROWID = 'aaavbsaafaaaacxabi;

步骤1494545 2015-06-28 04:24:44
从史葛删除。T1,编号= '7839'and,易名=国王和,易名=T
0和通讯为表= 10'和ROWID = 'aaavbsaafaaaacxabj;

步骤1494545 2015-06-28 04:24:44
从史葛删除。T1,编号= '7844'and,易名= 'turner、易名=T
对.




端日志挖掘分析




SQL执行dbms_logmnr.end_logmnr >;

已成功完成。


以上就是这篇文章的全部内容,希望大家能喜欢。