阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Oracle Logminer 日志挖掘

109次阅读
没有评论

共计 1384 个字符,预计需要花费 4 分钟才能阅读完成。

LOGMNR 简介

logmnr 可以用来分析 redo 日志和归档文件。将 redo 日志或者归档文件中的内容提取出来,供 DBA 进行操作分析历史操作,比如进行误删除操作的恢复。LOGMNR 分析日志,需要创建一个数据字典,这个数据字典可以存储在外部文件(external file) 或者 redo log 中。如果要存储在外部文件中,数据库参数 utl_file_dir 需要配置,并重启数据库。有些时候,我们的生产系统不能重启,因此只能选用 redo log 来存储数据字典。

创建数据字典

 

2.1  外部文件存储数据字典

  1. 修改参数
    alter system set utl_file_dir='/home/Oracle' sid='*' scope=spfile;
  2. 重启数据库
  3. 创建数据字典
    EXECUTE DBMS_LOGMNR_D.BUILD('dictionary.ora','/home/oracle', OPTIONS => DBMS_LOGMNR_D.STORE_IN_FLAT_FILE);

2.2 redo log 存储数据字典

使用 redo log 存储数据字典不需要重启数据库,也不需要配置任何参数,这种方式比较灵活. 直接可以创建数据字典到 redo 文件。

dbms_logmnr_d.build(options => dbms_logmnr_d.STORE_IN_REDO_LOGS);

添加需要分析的文件

  • 示例
dbms_logmnr.ADDFILE('+RECOC1/dbm01/archivelog/2017_09_13/thread_2_seq_808.1090.954602409',dbms_logmnr.new);
dbms_logmnr.ADDFILE('+RECOC1/dbm01/archivelog/2017_09_13/thread_2_seq_809.1076.954602483',dbms_logmnr.addfile);
  • 函数说明
    函数 说明
    dbms_logmnr.new 在数据字典中添加第一个需要分析的文件
    dbms_logmnr.addfile 在数据字典中添加其他需要分析的文件

开始分析文件

我们使用不同的方式存储数据字典,让 oracle 开始分析文件的命令参数不一样。如果是外部文件方式存储数据字典,是不需要使用任何参数的,如果使用的是 redo 日志文件,需要明确告知 Oracle 数据字典存储在 redo 文件中

  • 示例
    • 外部文件数据字典
      dbms_logmnr.start;
    • redo log 存储数据字典
      dbms_logmnr.start_logmnr(options => dbms_logmnr.dict_from_online_catalog+dbms_logmnr.committed_data_only);

开始分析内容

经过上一步分析后,日志中的内容,可以在视图 v$logmnr_contents 中查询到。

结束日志分析

dbms_logmnr.end_logmnr;
NOTE 
logmnr 挖掘日志,是会话级别的操作。分析数据不在数据库级别共享。

更多 Oracle 相关信息见 Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-11/148503.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计1384字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中