当前位置: 首页 > news >正文

日志挖掘

1、运行以下2个脚本安装logminer功能,一般数据库都已经安装好了

@$ORACLE_HOME/rdbms/admin/dbmslm.sql
@$ORACLE_HOME/rdbms/admin/dbmslmd.sql

2、修改utl_file_dir参数

要生成数据字典文件,首先要修改一个utl_file_dir参数,修改为*或者想存放数据字典文件位置的目录:
 conn / as sysdba
alter system set utl_file_dir='*' scope=spfile;
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY, UNIQUE INDEX) COLUMNS;
shutdown immediate
startup

3、生成数据字典文件

EXECUTE dbms_logmnr_d.build(dictionary_filename => 'dict20100226.txt',dictionary_location => '/oracle/data');

 4、创建使用的表空间

create tablespace logmnr datafile '/oracle/data/oradata/ora10/logmnr.dbf' size 50m autoextend on extent management local segment space management auto;

 5、设置使用的表空间 

EXECUTE DBMS_LOGMNR_D.SET_TABLESPACE('logmnr')  

 6、填加要分析的日志文件

6.1 添加第一个

EXECUTE DBMS_LOGMNR.ADD_LOGFILE(LogFileName=>'/orabak/testarch/1_89802_640266118.dbf',Options=>dbms_logmnr.new);

6.2 在已有的日志基础上添加

EXECUTE DBMS_LOGMNR.ADD_LOGFILE(LogFileName=>'/orabak/testarch/1_89802_640266118.dbf',Options=>dbms_logmnr.addfile);

6.3 将分析日志从列表移走

EXECUTE dbms_logmnr.add_logfile(LogFileName=>'/orabak/testarch/1_89802_640266118.dbf',Options=>dbms_logmnr.removefile); 

6.4 一个批量添加的脚本(注意一次不要添的太多,视机器性能决定,太多分析时间很长,一条一条分析就行)

declare
v_sql varchar2(2000);
cursor archived_log_name is select name from v$archived_log where dest_id=1 and name is not null;
v_name archived_log_name%rowtype;
begin
open archived_log_name;
loop
fetch archived_log_name into v_name;
exit when archived_log_name%notfound;
if archived_log_name%rowcount<=1 then
v_sql := 'EXECUTE DBMS_LOGMNR.ADD_LOGFILE(LogFileName=>'||''''||v_name.name||''''||',Options=>dbms_logmnr.new);';
--DBMS_LOGMNR.ADD_LOGFILE(LogFileName=>v_name.name,Options=>dbms_logmnr.new);
dbms_output.put_line(v_sql);
else
v_sql := 'EXECUTE DBMS_LOGMNR.ADD_LOGFILE(LogFileName=>'||''''||v_name.name||''''||',Options=>dbms_logmnr.addfile);';
--DBMS_LOGMNR.ADD_LOGFILE(LogFileName=>v_name.name,Options=>dbms_logmnr.addfile);
dbms_output.put_line(v_sql);
end if;
end loop;
end;
/

7、开始分析日志

提取特定时间的日志:
 
exec dbms_logmnr.start_logmnr(dictfilename=>'/home/oracle/script/dict20100226.txt',starttime=>to_date('2010-02-25 22:30:00','YYYY-MM-DD HH24:MI:SS'),endtime=>to_date('2010-02-26 9:00:59','YYYY-MM-DD HH24:MI:SS'))
 
使用在线数据字典:
 
EXEC DBMS_LOGMNR.START_LOGMNR(OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);
 

8、查看结果

select * from v$logmnr_contents where table_space='SYSTEM' and sql_redo like '%alter%';
 
select timestamp,username,session#,sql_redo,operation from v$logmnr_contents;
 
create table logmnr as select * from v$logmnr_contents;

9、结束分析,释放PGA内存资源

SQL> exec dbms_logmnr.end_logmnr;
 
PL/SQL procedure successfully completed.
 
注意,v$logmnr_contents内容保存了日志的内容,只在当前会话有效,如果想长期保存分析,可以在当前会话用create table logmnr as select * from v$logmnr_contents语句来持久保存。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11780477/viewspace-705056/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/11780477/viewspace-705056/

相关文章:

  • RMAN备份脚本
  • sqlldr 控制文件样例
  • 审计相关
  • RAC 修改IP (转)
  • oracle oem 启动不起来(半解决)
  • 还是oem
  • 又是oem
  • isqlplus 连接标识符 (奇怪的问题)--(解决)
  • 天津rac总结1
  • 天津rac总结2
  • 天津rac总结3
  • 0209天津rac问题总结1
  • 0209天津问题总结2
  • 10.2.0.1升级10.2.0.3
  • ORA-04043: object dba_data_files does not exist
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • [译]Python中的类属性与实例属性的区别
  • 【node学习】协程
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • JavaScript设计模式与开发实践系列之策略模式
  • Linux后台研发超实用命令总结
  • Lucene解析 - 基本概念
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • Redis的resp协议
  • vue2.0项目引入element-ui
  • 分享几个不错的工具
  • 力扣(LeetCode)965
  • 配置 PM2 实现代码自动发布
  • 我有几个粽子,和一个故事
  • 一道闭包题引发的思考
  • 译米田引理
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • ​2020 年大前端技术趋势解读
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • ​水经微图Web1.5.0版即将上线
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • (安卓)跳转应用市场APP详情页的方式
  • (第二周)效能测试
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (转)【Hibernate总结系列】使用举例
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • *2 echo、printf、mkdir命令的应用
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .md即markdown文件的基本常用编写语法
  • .mysql secret在哪_MYSQL基本操作(上)
  • .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
  • .NET应用架构设计:原则、模式与实践 目录预览
  • /deep/和 >>>以及 ::v-deep 三者的区别