视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Oracle的日志挖掘
2020-11-09 11:53:56 责编:小采
文档


Oracle日志挖掘(LogMnr) ①在参数文件中设置utl_file_dir路径 ②重启 ③创建directory file,使用execute dbms_

  Oracle日志挖掘(LogMnr)

  ①在参数文件中设置utl_file_dir路径

  ②重启

  ③创建directory file,使用execute dbms_logmnr_d.build()

  ④添加日志文件,使用dbms_logmnr.add_logfile

  或删除日志文件,使用dbms_logmnr.removefile

  ⑤启动logmnr,使用dbms_logmnr.start_logmnr

  ⑥查询,使用V$logmnr_contents(sqlredo/sqlundo)

  设置utl_file_dir目录。

  alter system set utl_file_dir='D:\app\Leo\utl_file_dir' scope=spfile;

  建立日志挖掘的数据字典。

  execute dbms_logmnr_d.build('shwdict.ora','D:\app\Leo\utl_file_dir'); //第二个参数要与参数utl_file_dir的设置完全匹配。

  无此包,则需执行@d:\oracle\ora8\rdbms\admin\dbmslmd.sql;

  创建分析的文件列表(可以是在线或归档日志)

  execute dbms_logmnr.add_logfile('D:\app\Leo\archivelog1\ARC00011_0720116156.001',dbms_logmnr.new);

  execute dbms_logmnr.add_logfile('D:\app\Leo\archivelog1\ARC00012_0720116156.001',dbms_logmnr.addfile);

  execute dbms_logmnr.add_logfile('D:\app\Leo\archivelog1\ARC00013_0720116156.001',dbms_logmnr.addfile);

  option:new-创建一个新的日志列表。addfile-向列表中添加日志文件。

  remove_logfile-删除。

  在视图v$logmnr_logs中可以看到添加的日志列表。

  select log_id,filename from v$logmnr_logs;

  开始分析

  execute dbms_logmnr.start_logmnr(dictfilename=>'D:\app\Leo\utl_file_dir\shwdict.ora');

  execute dbms_logmnr.start_logmnr(dictfilename=>'d:\oracle\shwdict.ora',startscn=>xxxxxx,endscn=>xxxxx,starttime=>to_date('20030501 12:15:00','yyyymmdd hh24:mi:ss'), endtime=>to_date('20030501 15:40:30','yyyymmdd hh24:mi:ss'));

  没有建立数据字典,使用dbms_logmnr.dict_from_online_catalog选项参数,则logminer期望在所指定的dbms_logmnr.add_logfile或重做日志中找到数据字典。

  exec sys.dbms_logmnr.start_logmnr(options=>sys.dbms_logmnr.dict_from_online_catalog);

  查询分析内容

  select to_char(timestamp,'yyyy-mm-dd hh24:mi:ss') time,sql_redo from v$logmnr_contents where seg_owner='SCOTT';

  结束分析

  execute dbms_logmnr.end_logmnr;

  部分日志归档不出的解决

  ①将数据库至于force logging模式

  alter database force logging;

  select force_logging from v$database;

  ②查看表是否处于归档模式

  select table_name,logging from user_tables;

  ③查看数据库是否处于启用了补充日志(启动了,则每条update写redo时会附加列值唯一信息)

  SQL> select supplemental_log_data_pk,supplemental_log_data_ui from v$database;

  SUPPLEMENTAL_LOG_DATA_PK SUPPLEMENTAL_LOG_DATA_UI

  ------------------------ ------------------------

  NO NO

  SQL> alter database add supplemental log data (primary key,unique index) columns;

  Database altered

  SQL> select supplemental_log_data_pk,supplemental_log_data_ui from v$database;

  SUPPLEMENTAL_LOG_DATA_PK SUPPLEMENTAL_LOG_DATA_UI

  ------------------------ ------------------------

  YES YES

下载本文
显示全文
专题