在logminer中找不到我想要的东西,其实最近找不到什么

时间:2013-04-11 20:55:41

标签: oracle

我是一所学校的系统管理员,所以我是一名IT通才,所有行业的杰克,无人的主人,对吧?我们的学生信息系统运行在Oracle 11g之上。想知道如何使用logminer来查找,至少在数据库中发生了一些不应该更改的内容。

我已经配置了一个测试服务器,所以请放心,我在这里玩的时候我们的生产系统没有风险。

服务器是Windows。我转到命令提示符,键入sqlplus / as sysdba。

执行dbms.logmnr.addlogfile blah,blah多次添加日志文件。

更改会话集NLS_DATE_FORMAT = 'mm-dd-yyyy HH24:mi:ss';所以时间戳告诉我的不仅仅是日期。

然后我转到我的测试服务器上的应用程序并更改学生人口统计记录。我想使用logminer找到这个更改。

我做了select timestamp,sql_undo from V$LOGMNR_CONTENTS WHERE TIMESTAMP > TO_DATE('04-11-2013 11:59:00');(我刚才做了改变,下午3点左右)

我没有行。

如果我做同样的事情,但是在午夜之后有一段时间,我会得到数千行,因为应用程序具有在午夜开始进行维护的例程,例如重新计算学生的班级等级。

那么为什么我没有找到我记录的更改?我相信我正在查找正确的日志文件,或者我不会在午夜看到活动。

1 个答案:

答案 0 :(得分:0)

虽然您的最新条目已被记录,但它不会出现在V $ LOGMNR_CONTENTS中,直到它记录了足够数量的更新。例如,如果您执行100次更新,则可能会获得80次更新。要清除剩余的20次更新,您需要完成更多更新,以便再次查看它们。我们遇到了类似的问题,其中logminer特别没有显示最新更新,特别是如果他们很少。我们必须创建一个虚拟表来定期创建一些更新,以便logminer始终主动显示更新,并且没有任何内容存储在缓冲区中。在我们的用例中创建虚拟表是好的,我不确定你的情况是否正常。