如何利用日志挖掘工具分析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 >;
已成功完成。
以上就是这篇文章的全部内容,希望大家能喜欢。