Oracle 10g LogMiner 使用与测试解析

需积分: 9 5 下载量 44 浏览量 更新于2024-07-27 收藏 49KB DOCX 举报
"Oracle_10g_Logminer_研究及测试" Oracle LogMiner 是一个强大的工具,它允许用户分析数据库的重做日志文件,将这些文件中的物理更改转换为易于理解的逻辑操作,即SQL语句。这个功能特别适用于数据库审计、故障排除和性能分析。LogMiner 自 Oracle 8.1 版本开始引入,适用于后续的所有版本,包括Oracle 10g。 在Oracle 10g环境中,LogMiner 的正确配置至关重要。根据Metalink文档Note:291574.1,为了确保LogMiner能够捕获到DML(数据操纵语言)语句,如INSERT、UPDATE和DELETE,需要设置两个参数:`SUPPLEMENTAL_LOG_DATA_PK` 和 `SUPPLEMENTAL_LOG_DATA_UI`。这些参数分别用于记录主键和唯一索引的变化,这对于完整地重建SQL语句是必要的。在示例中,我们看到初始状态这两个参数未启用,通过执行 `ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY, UNIQUE INDEX) COLUMNS;` 命令可以开启它们。 使用LogMiner主要包括两个步骤: 1. 安装LogMiner组件:首先,需要以SYS用户身份运行两个PL/SQL脚本,即`dbmslm.sql` 和 `dbmslmd.sql`。前者创建了DBMS_LOGMNR包,该包用于分析日志文件;后者创建了DBMS_LOGMNR_D包,用于创建数据字典文件。 2. 创建数据字典文件:这是一个文本文件,由DBMS_LOGMNR_D包生成。数据字典文件包含了数据库对象的元数据,对于正确解析重做日志至关重要。如果数据库中的表结构有变动,或分析不同数据库的重做日志,都需要更新数据字典文件。LogMiner提供了三种方式访问数据字典: - 直接访问在线数据字典:简单快捷,但可能与旧日志文件中的信息不一致。 - 使用本地数据字典文件:这可以提供特定时间点的数据字典,与历史日志更匹配。 - 使用外部数据字典文件:适用于分析不同数据库的重做日志,需要预先为被分析的数据库生成数据字典。 LogMiner的强大之处在于其灵活性和深度分析能力。它不仅能识别DML操作,还可以分析DDL(数据定义语言)语句,甚至包括数据库的恢复操作。此外,通过LogMiner,用户可以跟踪并分析事务,了解数据库的活动模式,这对于数据库性能优化和安全审计有着重要的意义。因此,理解和掌握LogMiner的使用是每个Oracle DBA必备的技能之一。