以下的文章是通过Oracle数据库LogMiner工具的相关代码描述来剖析Oracle数据库LogMiner工具的实际应用,以下就是相关内容的详细介绍。希望会给你在Oracle数据库LogMiner工具的使用中带来一些帮助在此方面。
Logminer(DBMS_LOGMNR和DBMS_LOGMNR_D)package
可以用来分析Oracle的重做日志文件。Logminer是oracle从8i开始提供的工具。
我们可以使用logminer分析其它instance(版本可不一致)的重做日志文件,但是必须遵循以下要求:
1.LogMiner日志分析工具仅能够分析Oracle 8以后的产品
2.LogMiner必须使用被分析数据库实例产生的字典文件,且安装LogMiner数据库的字符集必须和被分析数据库的字符集相同
3.被分析数据库平台必须和当前LogMiner所在数据库平台一样,且block size相同。
使用logminer
1.安装logminer:
要安装LogMiner工具,必须首先要运行下面这样两个脚本,
$ORACLE_HOME/rdbms/admin/dbmslm.sql $ORACLE_HOME/rdbms/admin/dbmslmd.sql.
这两个脚本必须均以SYS用户身份运行。
2.创建数据字典文件
首先在init.ora初始化参数文件中,添加参数UTL_FILE_DIR,该参数值为服务器中放置数据字典文件的目录。如:
UTL_FILE_DIR=(D:\Oracle\logs)
重新启动Oracle数据库,使新加的参数生效,然后创建数据字典文件: SQL> EXECUTE dbms_logmnr_d.build(
dictionary_filename=>'logmn_ora817.dat', dictionary_location=>'D:\Oracle\logs');
创建数据字典是让LogMiner引用涉及到内部数据字典中的部分时使用对象的名称,而不是系统内部的16进制的ID。如果我们要分析的数据库中的表有变化,影响到库的数据字典也发生变化,就需要重新创建该字典。
3.添加要分析的日志文件
Logminer可以用来分析在线的重做日志文件和归档日志文件,但是我们一般建议使用归档的日志文件。
a.添加新的日志文件:
SQL>EXECUTEdbms_logmnr.add_logfile( LogFileName=>'D:\database\oracle\oradata\ ora817\archive\ARC01491.001', Options=>dbms_logmnr.new);
b.添加另外的日志文件到列表 SQL> EXECUTE dbms_logmnr.add_logfile(
LogFileName=>'D:\database\oracle\oradata\ora817\archive \ARC01491.002',Options=>dbms_logmnr.addfile);
c. 移去一个日志文件 SQL> EXECUTE dbms_logmnr.add_logfile(
LogFileName=>'D:\database\oracle\oradata\ora817\archive\ARC01491.002',Options=>dbms_logmnr.REMOVEFILE);
创建了要分析的日志文件,就可以对其进行分析。
4. 进行日志分析
SQL>EXECUTEdbms_logmnr.start_logmnr( DictFileName=>'D:\Oracle\logs\logmn_ora817.dat');
可以使用相应的限制条件:
时间范围:对dbms_logmnr.start_logmnr使用StartTime和EndTime参数
SCN范围:对dbms_logmnr.start_logmnr使用StartScn和EndScn参数
5.观察结果:
主要是查询
v$logmnr_contents:SQL>descv$logmnr_contents;