2013-04-11 27 views
1

我是一所學校的系統管理員,所以我是IT通才,所有行業都是傑克,對不對?我們的學生信息系統運行在Oracle 11g之上。想知道如何使用logminer發現,至少在數據庫中發生了某些本不應該改變的情況。找不到我想要的登錄器,實際上,最近找不到任何東西

我已經配置了一個測試服務器來玩,所以請放心,我在這裏玩的時候我們的生產系統沒有風險。

服務器是Windows。我進入命令提示符,輸入sqlplus/as sysdba。

執行dbms.logmnr.addlogfile等等,多次添加日誌文件。

改變會話集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點左右)

我沒有得到任何行。

如果我做同樣的事情,但在午夜之後,我會得到成千上萬的行,因爲應用程序具有在午夜開始維護的例程,例如重新計算學生的班級等級。

那麼爲什麼我沒有找到我所做的更改?我相信我正在尋找正確的日誌文件,或者我不會在午夜看到活動。

+0

我認爲你要找的是'AUDIT'。 'AUDIT'使您可以跟蹤特定用戶活動,DML + DDL,特定模式/對象+細粒度審計等等......一旦所有其他選項耗盡,通常會使用log miner。祝你好運。 – haki 2013-04-12 06:01:11

回答

0

雖然記錄了最新的條目,但它不會出現在V $ LOGMNR_CONTENTS中,直到它具有足夠數量的更新記錄爲止。例如,如果您進行了100次更新,您可能會得到80次。要清除剩餘的20次,您需要完成一些更新,以便再次看到它們。我們有一個類似的問題,其中logminer特別沒有顯示最新的更新,尤其是如果它們很少。我們不得不創建一個虛擬表來定期創建一些更新,這樣logminer總是主動顯示更新,而沒有任何內容存儲在緩衝區中。在我們的用例中創建虛擬表是好的,我不確定在你的情況下是否可以。

相關問題