查看: 8885|回复: 17

[原创] logminer终极篇

[复制链接]
论坛徽章:
0
跳转到指定楼层
1#
发表于 2008-9-6 17:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用LogMiner
(logminer工具可以分析出所有对于数据库操作的DML(insert、update、delete等)语句,另外还可分析得到一些必要的回滚SQL语句。该工具特别适用于调试、审计或者回退某个特定的事务。LogMiner 工具即可以用来分析在线,也可以用来分析离线日志文件,即可以分析本身自己数据库的重作日志文件,也可以用来分析其他数据库的重作日志文件。)
   

1.创建DBMS_LOGMNR包
SQL>@D:\oracle\rdbms\admin\dbmslm.sql

2.创建相关数据字典
SQL>@$ORACLD:\oracle\rdbms\admin\dbmslmd.sql

3.修改初始化参数UTL_FILE_DIR,指定分析数据的存放处
SQL>alter system set UTL_FILE_DIR='D:\logminer' scope=spfile;

4.重启数据库
SQL>shutdown immediate
SQL>startup

5.创建数据字典文件

SQL>execute dbms_logmnr_d.build(dictionary_filename =>'sqltrace.ora',dictionary

_location =>'D:\logminer');

6.建立日志分析表

SQL> execute dbms_logmnr.add_logfile(options =>dbms_logmnr.new,logfilename =>'D:\archivelog\ARC00100.001');


7.添加用于分析的日志文件

SQL> execute dbms_logmnr.add_logfile(options =>dbms_logmnr.addfile,logfilename=>'D:\archivelog\ARC00099.001');



SQL> execute dbms_logmnr.add_logfile(options =>dbms_logmnr.addfile,logfilename=>'D:\archivelog\ARC00093.001');

删除


SQL> execute dbms_logmnr.add_logfile(options =>dbms_logmnr.removefile,logfilename =>'D:\archivelog\ARC00011.001');


8.启动LogMiner进行分析(视图v$archived_log可以查询出相应的SCN及对应的归档日志文件)

SQL> execute dbms_logmnr.start_logmnr(dictfilename=>'d:\logminer\sqltrace.ora');
无限制条件
SQL> EXECUTE dbms_logmnr.start_logmnr( DictFileName=>'d:\logminer\sqltrace.ora ');
有限制条件:限制起始和终止时间
EXECUTE dbms_logmnr.start_logmnr( DictFileName => 'd:\logminer\sqltrace.ora',StartTime => to_date('2006-12-22
12:03:00','YYYY-MM-DD HH24:MI:SS'),EndTime => to_date('2006-12-22 15:00','YYYY-MM-DD HH24:MI:SS '));

execute dbms_logmnr.start_logmnr(dictfilename =>'d:\logminer\sqltrace.ora',starttime =>to_date('20080906 14:49:00','yyyymmdd hh24:mi:ss'),endtime =>to_date('20080906 14:51:00','yyyymmdd hh24:mi:ss'));

起始scn和终止scn
SQL> EXECUTE dbms_logmnr.start_logmnr( DictFileName => 'D:\logminer\sqltrace.ora',
StartScn => 20, EndScn => 50);

9.参看分析结果


一共有四个表,详细说明如下
V$LOGMNR_DICTIONARY-------查询使用的数据字典文件
V$LOGMNR_PARAMETERS-------查询当前LogMiner设定的参数
V$LOGMNR_LOGS      -------查询分析的日志文件
V$LOGMNR_CONTENTS  -------日志文件的内容

Seg_name  : 表名;
Scn       : SCN 号码
Sql_redo  : 所作的sql 语句
Sql_undo  : 对应sql_redo, 恢复用的sql 语句
Timestamp : sql 发出的具体时间
Operation : sql 的类型,分为INSERT, UPDATE, START(set …), COMMIT(commit), INTERNAL等
Session#  : 发出该操作的 session  

select operation,sql_redo,sql_undo from v$logmnr_contents;
SELECT sql_redo FROM v$logmnr_contents WHERE username='SYS' AND tablename='TT';
select scn,sql_redo from v$logmnr_contents where seg_owner='SYSTEM' and seg_name='ENDUSER' and upper(operation)='INSERT';
SELECT timstamp,sql_redo FROM v$logmnr_contents WHERE upper(sql_redo) like '%insert%';

  
结果分析
-------------------------------------------------------------------------------
insert into "UNKNOWN"."OBJ# 32407"("COL 1") values (HEXTORAW('c10a'));
delete from "UNKNOWN"."OBJ# 32407" where "COL 1" = HEXTORAW('c10a') and ROWID =
'AAAH6XAABAAAPC1AAC';

select object_name from dba_objects where object_id=32407;

10.结束分析

SQL> execute dbms_logmnr.end_logmnr;

一旦结束视图v$logmnr_contents中的分析结果也随之不再存在,分析信息存放在PGA中。






注意!!!:
1.在进行限制条件分析日志时,如果执行失败了,那么查看v$logmnr_logs视图。select               
log_id,filename,low_time,high_time,db_id,db_name from v$logmnr_logs;
            
2.在查询v$logmnr_contents内容时,where限制条件一定要用大写.

其他注意事项
  我们可以利用logminer日志分析工具来分析其他数据库实例产生的重作日志文件,而不仅仅用来分析本身安装logminer的数据库实例的redo logs文件。使用logminer分析其他数据库实例时,有几点需要注意:
  1. logminer必须使用被分析数据库实例产生的字典文件,而不是安装logminer的数据库产生的字典文件,另外必须保证安装logminer数据库
的字符集和被分析数据库的字符集相同。
  2. 被分析数据库平台必须和当前logminer所在数据库平台一样,也就是说如果我们要分析的文件是由运行在UNIX平台上的Oracle 9i产生的,那么也必须在一个运行在UNIX平台上的Oracle实例上运行logminer,而不能在其他如Microsoft NT上运行logminer。当然两者的硬件条件不一
定要求完全一样。
  3. logminer日志分析工具仅能够分析Oracle 8以后的产品,对于8以前的产品,该工具也无能为力。
 
论坛徽章:
16
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44雪佛兰
日期:2013-12-04 17:27:40茶鸡蛋
日期:2013-01-02 14:01:11奥运会纪念徽章:水球
日期:2012-10-25 14:29:28奥运会纪念徽章:田径
日期:2012-08-30 11:49:11蛋疼蛋
日期:2012-04-13 21:09:19鲜花蛋
日期:2011-07-27 22:30:512010广州亚运会纪念徽章:羽毛球
日期:2011-02-22 16:00:382011新春纪念徽章
日期:2011-02-18 11:43:352010新春纪念徽章
日期:2010-03-01 11:19:07
2#
发表于 2008-9-6 18:28 | 只看该作者
9i的话为什么不用online catalog,省得重启数据库

使用道具 举报

回复
3#
发表于 2008-9-6 18:38 | 只看该作者
似乎看过

使用道具 举报

回复
论坛徽章:
0
4#
发表于 2008-9-6 20:23 | 只看该作者
恩,这点字叫终极篇有点牵强。

使用道具 举报

回复
招聘 : 数据库管理员
论坛徽章:
25
生肖徽章2007版:龙
日期:2008-05-06 11:07:48咸鸭蛋
日期:2011-10-19 10:09:12ITPUB十周年纪念徽章
日期:2011-11-01 16:20:282012新春纪念徽章
日期:2012-01-04 11:49:542013年新春福章
日期:2013-02-25 14:51:24
5#
发表于 2008-9-6 20:52 | 只看该作者
9i之后,可以用在线的目录代替数据字典。很方便。

使用道具 举报

回复
论坛徽章:
27
ITPUB元老
日期:2008-01-15 09:32:23授权会员
日期:2008-08-13 23:37:22ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47迷宫蛋
日期:2012-02-25 10:02:36秀才
日期:2017-03-20 13:42:20
6#
发表于 2008-9-6 21:34 | 只看该作者
蚊子,介绍介绍呢

使用道具 举报

回复
招聘 : 数据库管理员
论坛徽章:
21
奥运会纪念徽章:赛艇
日期:2008-07-05 23:31:28数据库板块每日发贴之星
日期:2009-01-07 01:01:02数据库板块每日发贴之星
日期:2009-02-03 01:01:02ITPUB北京2009年会纪念徽章
日期:2009-02-09 11:42:45生肖徽章2007版:狗
日期:2009-03-10 21:36:37生肖徽章2007版:鼠
日期:2009-03-14 08:57:17CTO参与奖
日期:2009-03-23 11:00:182010广州亚运会纪念徽章:空手道
日期:2011-02-18 16:02:23迷宫蛋
日期:2011-07-31 01:30:132009新春纪念徽章
日期:2009-01-04 14:52:28
7#
发表于 2008-9-6 23:53 | 只看该作者
终极篇? 有点夸张吧

使用道具 举报

回复
招聘 : 数据库管理员
论坛徽章:
21
奥运会纪念徽章:赛艇
日期:2008-07-05 23:31:28数据库板块每日发贴之星
日期:2009-01-07 01:01:02数据库板块每日发贴之星
日期:2009-02-03 01:01:02ITPUB北京2009年会纪念徽章
日期:2009-02-09 11:42:45生肖徽章2007版:狗
日期:2009-03-10 21:36:37生肖徽章2007版:鼠
日期:2009-03-14 08:57:17CTO参与奖
日期:2009-03-23 11:00:182010广州亚运会纪念徽章:空手道
日期:2011-02-18 16:02:23迷宫蛋
日期:2011-07-31 01:30:132009新春纪念徽章
日期:2009-01-04 14:52:28
8#
发表于 2008-9-6 23:56 | 只看该作者
原帖由 foxmile 于 2008-9-6 20:52 发表
9i之后,可以用在线的目录代替数据字典。很方便。


这种方法只适合分析本数据库的日志吧?不同的情况不同哦

使用道具 举报

回复
论坛徽章:
23
授权会员
日期:2007-10-05 10:04:39生肖徽章2007版:猪
日期:2009-03-10 21:17:25生肖徽章2007版:猪
日期:2009-03-10 21:24:49生肖徽章2007版:蛇
日期:2009-03-10 21:28:28生肖徽章2007版:蛇
日期:2009-03-10 21:34:30祖国60周年纪念徽章
日期:2009-10-09 08:28:00ITPUB元老
日期:2009-12-20 10:42:092010年世界杯参赛球队:巴西
日期:2010-06-15 20:33:58ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26雪佛兰
日期:2013-11-02 12:32:45
9#
发表于 2008-9-7 10:05 | 只看该作者
收下了,回去玩玩。

使用道具 举报

回复
论坛徽章:
11
生肖徽章2007版:牛
日期:2008-01-02 17:35:53祖国60周年纪念徽章
日期:2009-10-09 08:28:00生肖徽章2007版:马
日期:2009-08-09 17:28:40祖母绿
日期:2009-06-29 16:00:05生肖徽章2007版:猴
日期:2009-02-22 21:56:46授权会员
日期:2009-02-05 08:02:51数据库板块每日发贴之星
日期:2009-01-29 01:01:022009新春纪念徽章
日期:2009-01-04 14:52:28奥运会纪念徽章:皮划艇静水
日期:2008-10-24 13:20:44生肖徽章2007版:鼠
日期:2008-01-02 17:35:53
10#
发表于 2008-9-7 11:03 | 只看该作者
收下了,谢谢。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表