Chinaunix首页 | 论坛 | 博客
  • 博客访问: 458109
  • 博文数量: 711
  • 博客积分: 3000
  • 博客等级: 中校
  • 技术积分: 4200
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-28 14:18
文章分类

全部博文(711)

文章存档

2011年(1)

2008年(710)

我的朋友

分类:

2008-10-29 11:56:17


  dbms_logmnr是oracle在oracle8i所提供的新package。它主要用于分析log file文件(包括online redo log file,archived log file),将log file中的信息转存到v$logmnr_contents中,从而获取对oracle数据库操作的历史信息。它不仅可以分析oracle8i的log file,也可以分析oracle8的log file。
  dbms_logmnr包的具体使用步骤举例如下:
  一.在d:\oracle\admin\wlcdb\pfile\init.ora文件中加入utl_file_dir=d:\oracle,然后应用新的设置打开oracle数据库。
  
   
  
  二.执行SQL>execute dbms_logmnr_d.build,用于生成数据字典;如果没有dbms_logmnr_d包,需手工执行@d:\oracle\ora81\rdbms\admin\dbmslmd.sql。
  
   
  
  如果执行SQL>execute dbms_logmnr_d.build('wlcdbdict.ora','D:\oracle');
  产生如下错误:
  BEGIN dbms_logmnr_d.build('wlcdbdict.ora','D:\oracle '); END;
  *
  ERROR 位于第 1 行:
  ORA-06532: 下标超出限制
  ORA-06512: 在"SYS.DBMS_LOGMNR_D", line 793
  ORA-06512: 在line 1
  需要执行以下步骤,才能避免产生错误。
  1.修改d:\oracle\ora81\rdbms\admin\dbmslmd.sql文件
  打开dbms_logmnr_d包,将type col_desc_array is varray(513) of col_description这个数组的值改大一些
  
   
  
  2.以sys/change_on_install身份登陆
  sql*plus>connect sys/change_on_install
  3.执行sql*plus>@d:\oracle\ora81\rdbms\admin\dbmslmd.sql
  
   
  
  三.执行SQL>execute dbms_logmnr.add_file;将所要分析的log files加入到log list中。
  
   
  
  可以查询v$logmnr_logs获取那些log files已加入log list中。
  四.修改sysdate格式;
  alter session set nls_date_format='yyyy-mm-dd:hh24:mi:ss';
  
   
  
  五.从v$logmnr_logs中查询low_time,high_time,low_scn,next_scn信息;
  
   
  
  六.执行SQL>execute dbms_logmnr.start_logmnr,开始分析log file。
  
   
  
  若想获取此次分析所使用的参数,可以查询v$logmnr_parameters视图。
  七.获得结果信息;
  
   
  
   
  
   
  
  如果需要对v$logmnr_contents进行大量的查询,建议先将视图中的内容转存到另一table中,再进行查询。
  八.执行SQL>execute dbms_logmnr.end_ logmnr,清除v$logmnr_logs, v$logmnr_contents, v$logmnr_peters中的内容,结束分析。
  
  
  
  结论:
  logminer是oracle在oracle8i所提供的新package,8并没有这个package;但8中也可以使用logminer。只需将oracle8.1.6之前(dbmslogmnrd.sql, dbmslogmnr.sql, prvtlogmnr.plb)、oracle8.1.6之后(dbmslmd.sql, dbmslm.sql, prvtlm.plb)的文件拷贝到Oracle8所在的机器上并执行这些scripts即可。这样Oracle8中也可以使用logminer。
  
【责编:admin】

--------------------next---------------------

阅读(353) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~