没有合适的资源?快使用搜索试试~ 我知道了~
首页oralce数据库日志查看方法探讨
从目前来看,分析Oracle日志的唯一方法就是使用Oracle公司提供的LogMiner来进行, Oracle数据库的所有更改都记录在日志中,但是原始的日志信息我们根本无法看懂,而LogMiner就是让我们看懂日志信息的工具。从这一点上看,它和tkprof差不多,一个是用来分析日志信息,一个则是格式化跟踪文件。通过对日志的分析我们可以实现下面的目的:<br> 1、查明数据库的逻辑更改;<br> 2、侦察并更正用户的误操作;<br> 3、执行事后审计;<br> 4、执行变化分析。<br>
资源详情
资源评论
资源推荐

oralce 数据库日志查看方法探讨
研究了好几天,终于有了一个比较完整查看 oracle 的数据日志方法,oracle 没有想 sqlserver
那样有 sqlE 工具来辅助查询。只能利用 oracle 自己的工具。
一、如何分析即 LogMiner 解释
从目前来看,分析 Oracle 日志的唯一方法就是使用 Oracle 公司提供的 LogMiner 来进行,
Oracle 数据库的所有更改都记录在日志中,但是原始的日志信息我们根本无法看懂,而
LogMiner 就是让我们看懂日志信息的工具。从这一点上看,它和 tkprof 差不多,一个是用来分
析日志信息,一个则是格式化跟踪文件。通过对日志的分析我们可以实现下面的目的:
1、查明数据库的逻辑更改;
2、侦察并更正用户的误操作;
3、执行事后审计;
4、执行变化分析。
不 仅 如 此 , 日 志 中 记 录 的 信 息 还 包 括 : 数 据 库 的 更 改 历 史 、 更 改 类 型
(INSERT、UPDATE、DELETE、DDL 等)、更改对应的 SCN 号、以及执行这些操作的用户
信息 等, LogMiner 在分 析日 志时 ,将 重构 等价 的 SQL 语 句和 UNDO 语句(分别记录在
V$LOGMNR_CONTENTS 视图的 SQL_REDO 和 SQL_UNDO 中)。这里需要注意的是等价语
句,而并非原始 SQL 语句,例如:我们最初执行的是“delete a where c1 <>'cyx';”,而 LogMiner
重构的是等价的 6 条 DELETE 语句。所以我们应该意识到 V$LOGMNR_CONTENTS 视图中显
示的并非是原版的现实,从数据库角度来讲这是很容易理解的,它记录的是元操作,因为同样
是“delete a where c1 <>'cyx';”语句,在不同的环境中,实际删除的记录数可能各不相同,因此记
录这样的语句实际上并没有什么实际意义,LogMiner 重构的是在实际情况下转化成元操作的多
个单条语句。
另外由于 Oracle 重做日志中记录的并非原始的对象(如表以及其中的列)名称,而只是它
们在 Oracle 数据库中的内部编号(对于表来说是它们在数据库中的对象 ID,而对于表中的列来
说,对应的则是该列在表中的排列序号:COL 1, COL 2 等),因此为了使 LogMiner 重构出的
SQL 语句易于识别,我们需要将这些编号转化成相应的名称,这就需要用到数据字典(也就说
LogMiner 本 身 是 可 以 不 用 数 据 字 典 的 , 详 见 下 面 的 分 析 过 程 ) , LogMiner 利 用
DBMS_LOGMNR_D.BUILD()过程来提取数据字典信息。
LogMiner 包含两个 PL/SQL 包和几个视图:
1 、 dbms_logmnr_d 包 , 这 个 包 只 包 括 一 个 用 于 提 取 数 据 字 典 信 息 的 过 程 , 即
dbms_logmnr_d.build()过程。


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0