使用Oracle 10g的Logminer挖掘日志
Logminer是oracle从8i开始提供的用于分析重做日志信息的工具,它包括DBMS_LOGMNR和DBMS_LOGMNR_D两个package,后边的D是字典的意思。它既能分析redo log file,也能分析归档后的archive log file。在分析日志的过程中需要使用数据字典,一般先生成数据字典文件后使用,10g版本还可以使用在线数据字典。
Logminer可以分析其它数据库的重做日志文件,但是必须使用重做日志所在数据库的数据字典,否则会出现无法识别的乱码。另外被分析数据库的操作系统平台最好和当前Logminer所在数据库的运行平台一样,且block size相同。
1、运行以下2个脚本安装logminer功能,一般数据库都已经安装好了:
p5b2@/u01/app/oracle/product/10.2/rdbms/admin$ ls -l dbmsl*
-rw-r--r-- 1 oracle oinstall 17246 Oct 27 2006 dbmslm.sql
-rw-r--r-- 1 oracle oinstall 4663 Oct 27 2006 dbmslmd.sql
2、要生成数据字典文件,首先要修改一个utl_file_dir参数,修改为*或者想存放数据字典文件位置的目录:
SQL> show parameter utl_file_dir
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
utl_file_dir stringSQL> alter system set utl_file_dir='*' scope=spfile;
System altered.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
3、生成数据字典文件
SQL> show parameter utl_file_dir
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
utl_file_dir string *
SQL> EXECUTE dbms_logmnr_d.build(dictionary_filename => 'dict20090625.dat',dictionary_location => '/orabak');PL/SQL procedure successfully completed.
4、可以先设置使用的表空间
SQL> EXECUTE DBMS_LOGMNR_D.SET_TABLESPACE('erp')
PL/SQL procedure successfully completed.
5、填加要分析的日志文件
SQL> EXECUTE DBMS_LOGMNR.ADD_LOGFILE(LogFileName=>'/orabak/testarch/1_89802_640266118.dbf',Options=>dbms_logmnr.new);
PL/SQL procedure successfully completed.
6、可以继续填加,用dbms_logmnr.removefile可以删除
SQL> EXECUTE DBMS_LOGMNR.ADD_LOGFILE(LogFileName=>'/orabak/testarch/1_89807_640266118.dbf',Options=>dbms_logmnr.addfile);
PL/SQL procedure successfully completed.
7、开始分析日志
SQL> execute dbms_logmnr.start_logmnr(dictfilename=>'/orabak/dict20090625.dat');
PL/SQL procedure successfully completed.
提取特定时间的日志:
dbms_logmnr.start_logmnr(dictfilename=>'/orabak/dict20090625.dat',
starttime=>to_date('2009-06-24 09:30:00','YYYY-MM-DD HH24:MI:SS'),
endtime=>to_date('2009-06-24 12:00:59','YYYY-MM-DD HH24:MI:SS'))
使用在线数据字典:
SQL> EXEC DBMS_LOGMNR.START_LOGMNR(OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);
PL/SQL procedure successfully completed.
8、查看结果
select timestamp,username,session#,sql_redo,operation from v$logmnr_contents;
9、结束分析,释放PGA内存资源
SQL> exec dbms_logmnr.end_logmnr;
PL/SQL procedure successfully completed.
注意,v$logmnr_contents内容保存了日志的内容,只在当前会话有效,如果想长期保存分析,可以在当前会话用create table tablename as select * from v$logmnr_contents语句来持久保存。
另外一个windows环境的测试:
SQL> desc v$logmnr_logs;
名称 是否为空? 类型
----------------------------------------- --------
LOG_ID NUMBER
FILENAME VARCHAR2(512)
LOW_TIME DATE
HIGH_TIME DATE
DB_ID NUMBER
DB_NAME VARCHAR2(8)
RESET_SCN NUMBER
RESET_SCN_TIME DATE
THREAD_ID NUMBER
THREAD_SQN NUMBER
LOW_SCN NUMBER
NEXT_SCN NUMBER
DICTIONARY_BEGIN VARCHAR2(3)
DICTIONARY_END VARCHAR2(3)
TYPE VARCHAR2(7)
BLOCKSIZE NUMBER
FILESIZE NUMBER
INFO VARCHAR2(32)
STATUS NUMBERSQL> select filename from v$logmnr_logs;
FILENAME
--------------------------------------------------------------------------------
E:ORACLEPRODUCT10.2.0DB_2DATABASEDB_RECOVERY_FILE_DESTARC26_666280390_1
E:ORACLEPRODUCT10.2.0DB_2DATABASEDB_RECOVERY_FILE_DESTARC27_666280390_1SQL> select log_id,low_scn,low_time,next_scn,high_time from v$logmnr_logs;
LOG_ID LOW_SCN LOW_TIME NEXT_SCN HIGH_TIME
---------- ---------- ------------------- ---------- -------------------
26 1576118 2008/09/26 12:56:37 1580527 2008/09/26 13:15:02
27 1580527 2008/09/26 13:15:02 1580563 2008/09/26 13:16:04SQL> exec dbms_logmnr.start_logmnr(dictfilename=>'E:\logmnrdict.ora',startscn=>1576118,endscn=>1580563);
SQL> select scn,timestamp , sql_redo from v$logmnr_contents where seg_owner='TEST' and seg_name='TT';
转载于:https://www.cnblogs.com/wzmenjoy/archive/2012/01/17/2367631.html
使用Oracle 10g的Logminer挖掘日志相关推荐
- oracle数据库文件默认的安装位置,Oracle 10g数据库默认安装应该注意的问题
Oracle 10g数据库默认安装应该注意的问题 1.Oracle 10g 的FLASH_RECOVERY_AREA 默认空间为2G,这个没有做好定时备份归 档日志,删除归档日志的方案,很容易出问题. ...
- oracle 挖掘日志,Oracle 日志挖掘(LogMiner)使用详解
Logminer依赖于2个包:DBMS_LOGMNR和DBMS_LOGMNR_D,Oracle 11g默认已安装 Logminer 基本使用步骤 <1>. Specify a LogMin ...
- oracle10g的rat模拟,Oracle 10g Logminer 研究及测试
LogMiner提供了一个处理重做日志文件并将其内容翻译成代表对数据库的逻辑操作的SQL语句的过程.LogMiner运行在Oracle版本8.1或者更高版本中. 一,如何使用Logminer: 先要安 ...
- oracle 10g/11g 命令对照,日志文件夹对照
oracle 10g/11g 命令对照,日志文件夹对照 oracle 11g 中不再建议使用的命令 Deprecated Command Replacement Commands crs_st ...
- oracle 9i alert log,Oracle 9i,10g,11g各自alert日志的位置
10g&9i的alert日志: 进入oracle: [zhangshengdong@oralocal1 ~]$ sudo su - oracle [oracle@oralocal1 ~]$ s ...
- oracle的asmcmd获取归档日志,分析oracle的联机日志和归档日志
logminer和配置 安装logminer 以sqlplus / as sysdba登录系统数据库系统,ORACLE默认安装logminer,如果没有安装,执行SQL脚本安装 --安装logmine ...
- RHEL6 64位系统安装ORACLE 10g 64bit 数据库
RHEL6 64位系统安装ORACLE 10g 64bit 数据库 2013-08-10 22:12 by 潇湘隐者, 9673 阅读, 2 评论, 收藏, 编辑 记得去年4月份的时候,为公司部署测试 ...
- Oracle 10g RAC RMAN备份异机单实例恢复
本文通过将Oracle 10g RAC RMAN的完整的备份进行异机恢复的过程,可以对在恢复的过程中可以发现备份时的一些问题.比如规档日志的冗余,控制文件与参数文件的自动备份的利用等,本示例是拿了rm ...
- Oracle 10g 应用补丁PSU 10.2.0.5.180717
最近测试了一下在Oracle 10g下面(单实例下面)升级.应用补丁PSU 10.2.0.5.180717,打这个补丁的主要原因是 Oracle 将于 2019年6月启用新的SCN兼容性,并且由于Bi ...
最新文章
- python函数参数*arg和**kwargs分别代表什么?
- 防止IE6出现BUG的十种常见解决方法
- C++中的转换构造函数和类型转换函数
- 打击诈骗,逻辑回归闪亮登场
- 3星|《增长黑客》:增长黑客是一个牵强的概念
- status的状态码
- jQuery实现页面元素置顶时悬浮
- Layui动态修改列名
- 基本 SQL 之增删改查
- OpenDDS应用开发步骤
- 下载文件HTTP请求及处理过程
- php元换成万元,元换算万元(元换算成万元换算器)
- Linux打印服务-CUPS的安装、配置和使用
- Android 3D画廊采用Gallery实现无限循环、自动轮播
- IE无法打开二级页面
- QString的toLocal8bit与toLatin1的区别
- 删除桌面菜单中的图形选项
- Linux多定时器实现之三——Windows和Linux通用版
- vue-pdf 票据字体不显示的问题
- 配置Apache将自己的电脑做服务器使局域网内的电脑访问自己的主机
热门文章
- 实业逻辑与品牌逻辑的矛盾
- 2004-11-28+ 认识Duwamish 7.0(3)错误处理
- Libiconv裁剪
- SpringBoot 之多个过滤器(Filter) ,监听器(Listener),切面(AOP),拦截器(Interceptor)的指定排序问题总结篇
- 蓝桥杯 ADV-179 算法提高 解二元一次方程组
- PAT 乙级 1042. 字符统计(20) Java版
- 【软件测试】单元测试的主要任务不包括全局数据结构
- 蓝桥杯 BASIC-25 基础练习 回形取数
- Java-json系列(一):用GSON解析Json格式数据
- Git学习系列之如何正确且高效地将本地项目上传到Github(图文详解)