Oracle中logmnr包的使用详解

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_parmeters中的内容,结束分析。

结论:
logminer是oracle在oracle8i所提供的新package,Oracle8并没有这个package;但Oracle8中也可以使用logminer。只需将oracle8.1.6之前(dbmslogmnrd.sql, dbmslogmnr.sql, prvtlogmnr.plb)、oracle8.1.6之后(dbmslmd.sql, dbmslm.sql, prvtlm.plb)的文件拷贝到Oracle8所在的机器上并执行这些scripts即可。这样Oracle8中也可以使用logminer。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值