专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

ORACLE 体系 - 6 oracle 体系结构失败

ins518 2024-10-19 07:03:06 技术文章 13 ℃ 0 评论

【六】日志挖掘

6.1 作用

Oracle LogMiner 是一个非常有用的分析工具,可以轻松获得Oracle在线/归档日志文件中的具体内容,可以解析出所有对于数据库操作的DML和DDL语句,特别适用于调试、审计或者回退某个特定的事务,由一组PL/SQL包和一些动态视图组成,没有提供任何的图形用户界面(GUI)。

6.2 方法

6.2.1 DML日志挖掘

1)添加database补充日志:

SQL>ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

注意:为了避免日志遗漏,这步要先执行。

2)确定要分析的日志范围,添加日志,分析:

SQL>execute dbms_logmnr.add_logfile(logfilename=>'日志',options=>dbms_logmnr.new);

提供第一个要加载的日志文件

SQL>execute dbms_logmnr.add_logfile(logfilename=>'追加日志',options=>dbms_logmnr.addfile);

可以反复添加补充多个日志文件

3)执行logmnr 分析

SQL>execute dbms_logmnr.start_logmnr(options=>dbms_logmnr.dict_from_online_catalog);

4)查询分析结果,

SQL>select username,scn,timestamp,sql_redo from v$logmnr_contents where seg_name='表名';

可以设置时间格式,也可以在显示方式里确定格式。

5)关闭日志分析

SQL>execute dbms_logmnr.end_logmnr;

6.2.2 DDL日志挖掘

1)建立一个存放dict.oral的目录,设置参数utl_file_dir指定该目录:

$ mkdir /home/oracle/logmnr
SQL> alter system set utl_file_dir='/home/oracle/logmnr' scope=spfile;

2)建立数据字典文件dict.ora

SQL> execute dbms_logmnr_d.build('dict.ora','/home/oracle/logmnr',dbms_logmnr_d.store_in_flat_file);

3)添加日志分析

SQL> execute dbms_logmnr.add_logfile(logfilename=>'日志文件',options=>dbms_logmnr.new);
SQL> execute dbms_logmnr.add_logfile(logfilename=>'追加日志',options=>dbms_logmnr.addfile);

4)执行分析

SQL> execute dbms_logmnr.start_logmnr(dictfilename=>
'/home/oracle/logmnr/dict.ora',options=>dbms_logmnr.ddl_dict_tracking);

5)查看分析结果

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%';

6)关闭日志分析

SQL> execute dbms_logmnr.end_logmnr;


the end !!!

@jackman 共筑美好!

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表