2013-03-08 137 views
0

Oracle版本:10g 我有一個存儲過程,我想知道存儲過程運行了多少次。它是否成功?存儲過程日誌詳細信息

+0

我不相信有任何內置的東西可以做到這一點。 SP做什麼?它能否在表格運行後改變日期?或者,如果它是維護SP,則可能需要考慮將其設置爲工作,因爲我懷疑這會記錄一些歷史記錄。 – 2013-03-08 11:29:45

回答

3

默認情況下,Oracle不存儲此信息。

您可以使用AUDIT語句使程序調用的審計,通過審計EXECUTE PROCEDURE:

audit execute procedure on my_stored_proc; 

(其中my_stored_proc可以是包或其他)。您需要擁有相應的系統權限才能審覈事物,即使它們是您的事情。這是因爲審計是一種開銷,並且嚴格控制對審計線索本身的訪問(出於可理解的原因)。

因此,審計可能不是你要找的。此外,它不會給你想要的低級別的東西(「成功與否?」)。這使您可以選擇在儀器中建立儀器。這通常是一個好主意,因爲使用體面跟蹤進行調試要容易得多。

Oracle沒有爲此提供內置的庫(我發現這很令人驚訝,但是你去了)。建立自己的記錄器非常簡單。或者退出Tyler Muth的Logger項目。 Find it here。 (不保證或暗示)

0

無法在oracle數據庫中執行此操作。我也很震驚,他們沒有提供將信息記錄到桌面的軟件包。他們可以提供以下提供的列

  • 用戶名
  • 日誌級別
  • 時間戳
  • 命令

與日誌存儲過程實現自己的包一個默認的日誌記錄包。