2016-03-18 64 views
0

我幾天前創建了一個存儲過程。但有人刪除了我所做的所有更改。是否有可能跟蹤在sproc上執行ddl更改的OSUSER如何在oracle中跟蹤OSUSER?

  • 使用DBA_OBJECTS表我跟蹤已被執行一些DDL變化。

但無法獲得OSUSER。 sql開發人員在citrix中進行託管。所以登錄的用戶名對每個人都是一樣的。但是OSUSER將是唯一的。

回答

0

坦率地說,這種細粒度的細節是非常非常難以得到的。你可以從dba_objects得到最後一個時間。 我可以知道爲什麼需要這種粒度細節嗎?

0

我想你最好的選擇是檢查DBA_AUDIT_TRAIL。在Oracle AUDIT documentation你可以,如果

AUDIT ALTER, GRANT, INSERT, UPDATE, DELETE 
    ON DEFAULT; 

被執行,然後最後一個例子,在年底看到這應適用

如果您創建一個過程,包裝,或功能,Oracle數據庫 自動審覈任何ALTER或GRANT對其發佈的聲明。

所以如果使用ALTER PROCEDURE,我想它應該在那裏。我不確定CREATE OR REPLACE是否以這種方式審覈。

+0

感謝您的詳細信息..根據您共享的鏈接,所撰寫的聲明指定了將來創建的對象的默認審覈選項。但執行已經完成。爲了將來我可以使用這個陳述。但是,目前我如何追蹤osuser? – Tanul

+0

是的,也許我不清楚在我的答案,但這正是我的意思。總是值得檢查一下,也許你的DBA或某個人啓用了這個審計。如果不好,我建議你啓用它以防止將來出現這些問題。 – J91321