2011-10-06 79 views

回答

2

在默認安裝中,我知道無法可靠地獲取此信息。您可能能夠捕獲最近在v $ sql *視圖中運行的SQL語句,但v $ sql *視圖本質上是瞬態的,並且用於支持數據庫的正常操作。陳述可能會老化,所以它不是一種可靠的審計方法。

什麼是獲取此信息的正確可靠方法? Oracle審計。它包含記錄有關數據庫對象如何被觸​​摸的細粒度信息的功能。

在這種情況下,您需要調查AUDIT SELECT。在完成審計的基本配置(通常由DBA完成)後,可以爲特定的表設置SELECT審計,如下所示:

AUDIT SELECT ON employees;

當用戶從員工選擇直接或通過視圖時,記錄將寫入審計跟蹤(文本文件或SYS.AUD $,具體取決於配置)。線索將有用戶名,時間戳,table_name和一些其他信息來幫助您確定用戶當時正在做什麼。

這裏是審計給出的概述,包括對審計SELECT信息9i的一個參考:http://download.oracle.com/docs/cd/B10500_01/server.920/a96524/c25audit.htm

要知道,細粒度的審計可以慢下來。無論您現在正在審計什麼,都有一個必須完成的新活動層(寫入審計線索)。如果您有業務需要知道誰看到了可以理解的數據,但一定要注意性能影響。