设为首页 收藏本站
查看: 2195|回复: 6

[经验分享] 使用logminer进行日志分析

[复制链接]

尚未签到

发表于 2012-7-9 22:44:18 | 显示全部楼层 |阅读模式
LogMiner工具的主要用途有:
(1)跟踪数据库的变化:可以离线的跟踪数据库的变化,而不会影响在线系统的性能。
(2)回退数据库的变化:回退特定的变化数据,减少point-in-time recovery的执行。
(3)优化和扩容计划:可通过分析日志文件中的数据以分析数据增长模式。
安装LogMiner工具,这两个脚本必须均以SYS用户身份运行
@$ORACLE_HOME/rdbms/admin/dbmslmd.sql  
用来创建DBMS_LOGMNR_D包创建数据字典文件,用于提取数据字典信息到外部平面文件或者是联机日志中
@$ORACLE_HOME/rdbms/admin/dbmslm.sql
用来创建DBMS_LOGMNR包   
grant execute on dbms_logmnr to public;   
在10G之前,logmnr使用的临时表v$logmnr_contents使用的是system表空间,在10g后使用的是sysaux表空间,可以修改表空间:
exec sys.dbms_logmnr_d.set_tablespace('USERS');
有三种方法能得到数据字典的方法:
1、字典提取到一个平面数据字典文件(DBMS_LOGMNR_D.STORE_IN_FLAT_FILE),9i以后不提倡使用
<!--[if !supportLists]-->2、<!--[endif]-->据字典提取到重做日志文件(DBMS_LOGMNR_D.STORE_IN_REDO_LOGS)
3、当前的数据库的联机数据字典(DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG),只能分析当前数据库的重做日志文件
使用补充日志,将数据字典提取到重做日志文件要用到:
Enable Supplemental Logging
  Database-Level Supplemental Logging
    Minimal Supplemental Logging
           ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
    Database-Level Identification Key Logging
           ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
           ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
           ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;
           ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (FOREIGN KEY) COLUMNS;
    Disabling Database-Level Supplemental Logging
           disable database-level supplemental logging:
             ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
             ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;
             ALTER DATABASE DROP SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
             ALTER DATABASE DROP SUPPLEMENTAL LOG DATA;
           disable all database supplemental logging:
             ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
             ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;
             ALTER DATABASE DROP SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
             ALTER DATABASE DROP SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;
             ALTER DATABASE DROP SUPPLEMENTAL LOG DATA;
  Table-Level Supplemental Logging         
    Table-Level Identification Key Logging
           ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
           ALTER TABLE HR.EMPLOYEES ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
           ALTER TABLE HR.EMPLOYEES ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
           ALTER TABLE HR.EMPLOYEES ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;
    Table-Level User-Defined Supplemental Log Groups
           ALTER TABLE HR.EMPLOYEES ADD SUPPLEMENTAL LOG GROUP emp_parttime(EMPLOYEE_ID, LAST_NAME,DEPARTMENT_ID) ALWAYS;
           ALTER TABLE HR.EMPLOYEES ADD SUPPLEMENTAL LOG GROUP emp_fulltime(EMPLOYEE_ID, LAST_NAME,DEPARTMENT_ID);
           ALTER TABLE HR.EMPLOYEES ADD SUPPLEMENTAL LOG GROUP emp_parttime(DEPARTMENT_ID NO LOG, EMPLOYEE_ID);
一、在初始化参数文件中设置参数utl_file_dir,使用平面数据字典文件方法需要用到这个参数
二、提取数据字典
1)提取数据字典到平面数据文件
Execute dbms_logmnr_d.build('平面数据文件名','路径名’,options=>dbms_logmnr_d.store_in_flat_file);
2)提取数据字典到重做日志文件
Alter database add dupplemental log data;
Execute dbms_logmnr_d.build(options=>dbms_logmnr_d.store_in_redo_logs);
3)使用当前数据库的联机数据字典
Execute dbms_logmnr_d.build(options=>dbms_logmnr_d.dict_from_online_catalog);
<!--[if !supportLists]-->三、<!--[endif]-->添加需要监视的日志文件
<!--[if !supportLists]-->1)<!--[endif]-->创建logminer要分析的日志文件列表
Execute dbms_logmnr.add_logfile(logfilename=>'******',options=>dbms_logmnr.new);
<!--[if !supportLists]-->2)<!--[endif]-->添加其他日志文件到列表
Execute dbms_logmnr.add_logfile(logfilename=>'******',options=>dbms_logmnr.addfile);
<!--[if !supportLists]-->3)<!--[endif]-->从要分析的日志列表中删除日志
Execute dbms_logmnr.add_logfile(logfilename=>'*****',options=>dbms_logmnr.removefile);
<!--[if !supportLists]-->四、<!--[endif]-->启动logminer会话,进行日志分析
<!--[if !supportLists]-->1)<!--[endif]-->无限制条件分析
Execute dbms_logmnr.start_logmnr(dictfilename=>'******');
------指定平面文件名
Execute dbms_logmnr.start_logmnr(optioons=>dbms_logmnr.dict_from_online_catalog+
dbms_logmnr.committed_data_only);
----- committed_data_only 标识我们只提取已提交的事务
Execute dbms_logmnr.start_logmnr(options=>dbms_logmnr.dict_from_online_catalog);
------Logminer将使用联机数据字典
Execute dbms_logmnr.start_logmnr(options=>dbms_logmnr.dict_from_redo_logs);
------Logminer将在重做日志文件中查找字典数据
Execute dbms_logmnr.start_logmnr(options=>dbms_logmnr.skip_curruption);
------忽略redo日志中的所有错误
Execute dbms_logmnr.start_logmnr(options=>dbms_logmnr.ddl_dict_tracking);
------用来跟踪ddl语句,默认是关闭的!当使用online catalog时,不能使用!
<!--[if !supportLists]-->2)<!--[endif]-->有限制条件分析
使用平面数据字典文件
Execute dbms_logmnr.start_logmnr(dictfilename=>'*******',starttime=>'*****',
Endtime=>'*******');
Execute dbms_logmnr.start_logmnr(dictfilename=>'*******',starttime=>'*****',
Endtime=>'*******',options=>dbms_logmnr.continuous_mine);
Execute dbms_logmnr.start_logmnr(dictfilename=>'*******',startscn=>*****,
endscn=>*****);
使用重做日志
Execute dbms_logmnr.start_logmnr(startscn=>******,endscn=*******,options=>
dbms_logmnr.dict_form_redo_logs);
使用联机数据字典
Execute dbms_logmnr.start_logmnr(startscn=>******,endscn=>******,options=>
dbms_logmnr.dict_from_online_catalog+dbms_logmnr.continuous_mine);
<!--[if !supportLists]-->五、<!--[endif]-->查询v$logmnr_contents
<!--[if !supportLists]-->六、<!--[endif]--> 结束logminer会话,释放所有资源和清除PGA   
    EXECUTE DBMS_LOGMNR.END_LOGMNR;  
<!--[if !supportLists]-->七、<!--[endif]-->相关的数据字典
v$logmnr_contents
v$logmnr_logs
v$logmnr_dictionary
v$logmnr_parameters
v$lolist
<!--[if !supportLists]-->八、<!--[endif]-->其他注意事项
1)LogMiner
生成行级sql,并不是实际的语句
2)
所有信息都在PGA中,会话结束,信息丢失,可以用create table as select * from v$logmnr_contents保存信息。
3)
不支持下面的数据结构
简单的和嵌套的抽象数据结构
嵌套表和varry
索引组织表
一个带有族建的create table as select
4
)LogMiner必须使用被分析数据库实例产生的字典文件,而不是安装LogMiner的数据库产生的字典文件,另外必须保证安装LogMiner数据库的字符集和被分析数据库的字符集相同。5)被分析数据库平台必须和当前LogMiner所在数据库平台一样。
6)LogMiner日志分析工具仅能够分析Oracle 8以后的产品。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-506-1-1.html 上篇帖子: AWStats: Apache/IIS的日志分析工具 下篇帖子: 日志分析的得力助手“cut”

尚未签到

发表于 2013-3-13 21:16:05 | 显示全部楼层
找到好贴不容易,我顶你了,谢了

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

累计签到:1365 天
连续签到:1 天
发表于 2013-5-15 23:24:20 | 显示全部楼层
怀揣两块,胸怀500万!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-16 08:29:01 | 显示全部楼层
为中华而努力读书!一包中华好多钱啊~~~

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-16 23:22:03 | 显示全部楼层
死亡教会人一切,如同考试之后公布的结果——虽然恍然大悟,但为时晚矣~!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-17 13:01:56 | 显示全部楼层
男人靠的住,母猪能上树!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-18 02:41:45 | 显示全部楼层
帮你顶下哈!!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

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

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表