有人要求能够为重做日志提供可读的界面
很长一段时间。 ALTER SYTSTEM DUMP LOGFILE界面
已经存在了很长时间,尽管它在Support之外的作用是
有限。 已经有许多第三方产品,例如BMC的PATROL
DB-Logmaster(原为SQL * Trax),在此提供了一些功能
区域。 在Oracle 8.1版中,Oracle内核中提供了一种工具来执行此操作。 LogMiner允许DBA审核数据更改并执行
对重做进行分析以确定趋势,帮助进行时间点恢复等。
LogMiner功能由LogMiner中的三个过程组成
(dbms_logmnr)软件包,然后在字典(dbms_logmnr_d)中下载一个。
这些是由以下脚本构建的:(由catproc运行)
$ ORACLE_HOME / rdbms / admin / dbmslogmnrd.sql
$ ORACLE_HOME / rdbms / admin / dbmslogmnr.sql
$ ORACLE_HOME / rdbms / admin / prvtlogmnr.plb
从8.1.6开始:
$ ORACLE_HOME / rdbms / admin / dbmslmd.sql
$ ORACLE_HOME / rdbms / admin / dbmslm.sql
$ ORACLE_HOME / rdbms / admin / prvtlm.plb
1. dbms_logmnr_d.build
此过程将构建主LogMiner使用的字典文件
包以解析对象名称和列数据类型。 它应该是
相对频繁地生成,因为否则更新的对象将不会
被记录。
参数
==========
1.您要生成的词典文件的名称。
2.您要在其中生成文件的目录的名称。
该目录必须可由服务器写入,即包含在
UTL_FILE_DIR路径。
例
=======
BEGIN
dbms_logmnr_d.build(
dictionary_filename=> 'miner_dictionary.dic',
dictionary_location => '/export/home/sme81/aholland/testcases
/logminer'
);
END;
/
dbms_logmnr软件包实际上执行重做分析。
2. dbms_logmnr.add_logfile
参量
===========
1.要分析的日志文件。
2.选项
DBMS_LOGMNR.NEW(SESSION)要放入PGA存储器中的第一个文件。
这将初始化V $ logmnr_logs表。
和
DBMS_LOGMNR.ADDFILE
将另一个日志文件添加到v $ logmnr_logs PGA内存中。
如果没有行,则具有与NEW相同的效果
目前。
DBMS_LOGMNR.REMOVEFILE
从v $ logmnr_logs中删除一行。
例
=======
包括我所有的在线日志以进行分析.........
BEGIN
dbms_logmnr.add_logfile(
'/export/home/sme81/aholland/database/files/redo03.log',
DBMS_LOGMNR.NEW );
dbms_logmnr.add_logfile(
'/export/home/sme81/aholland/database/files/redo02.log',
DBMS_LOGMNR.ADDFILE );
dbms_logmnr.add_logfile(
'/export/home/sme81/aholland/database/files/redo01.log',
DBMS_LOGMNR.ADDFILE );
END;
/
SQL> EXECUTE DBMS_LOGMNR.START_LOGMNR( -
2 DICTFILENAME =>'/oracle/database/dictionary.ora');
该软件包填充了V $ logmnr_dictionary,v $ logmnr_parameters,
和v $ logmnr_contents。
dbms_logmnr.end_logmnr;
感谢和问候,
维诺德·萨达南丹(Vinod Sadanandan)
甲骨文数据库管理员
From: https://bytes.com/topic/oracle/insights/733454-logminer-utility-useful-stuff