我對Oracle數據庫中常見的日誌記錄方法感興趣。 我們的方法如下:如何登錄Oracle數據庫?
我們爲要記錄的表創建一個日誌表。日誌表包含原始表的所有列以及一些特殊字段,包括時間戳,修改類型(插入,更新,刪除),修飾符的ID。原始表上的觸發器爲每次插入和刪除創建一個日誌行,併爲修改創建兩行。日誌行包含原始更改之前和之後的數據。
雖然記錄狀態,可以及時使用這種方法開採回來,它也有一些缺點:
原始表中的一個新列的- 介紹並不自動包括日誌修改。
- 日誌修改影響日誌表和觸發器,很容易搞砸。
- 無法以直接的方式確定特定過去時間記錄的狀態。
- ...
還有其他可能性嗎? 什麼樣的工具可以用來解決這個問題?
我只知道log4plsql。這個工具的優點/缺點是什麼?
編輯:基於布賴恩的答案,我發現以下reference,解釋標準和罰款審計。
我喜歡這個設計,因爲......我可以告訴你昨天發生的一切事情。我可以告訴你user_X所做的一切,從一個表。使用影子表格,您必須訪問不斷增長的表格來回答這些問題。 – 2008-10-14 21:01:25
LogMiner對我來說看起來很有前途,但它需要創建挖掘數據庫,字典和重做日誌,因此需要對系統進行重新配置。 與我們上面的方法不同的是,它顯示的是sql語句而不是列值。 – rics 2008-10-28 13:29:13