我是一所学校的系统管理员,所以我是一名 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 点左右)
我没有行。
如果我做同样的事情,但在午夜之后的某个时间,我会得到数千行,因为该应用程序具有在午夜开始执行维护的例程,例如重新计算学生的班级排名。
那么为什么我没有找到我所做的更改记录?我相信我正在查看正确的日志文件,否则我不会在午夜看到活动。