Plsql

對象失效時如何發送電子郵件?

  • May 28, 2014

我有幾個儲存過程和一個包。

每當這個儲存過程和包失效時,我需要發送一封電子郵件。

我怎樣才能做到這一點?

你能告訴我如何做到這一點。

這個問題的範圍需要你做一些工作,但作為一個粗略的指導:

  • 獲取電子郵件包。您可以使用 UTL_SMTP(Oracle 10 之前的版本)或它的後續 UTL_MAIL(Oracle 10 及更高版本)自行推出。然而,這是一個基本功能,許多人已經編寫並分享了他們自己的版本。對於 Oracle 11 及更高版本,不要忘記為您的數據庫分配訪問所需埠的權限。
  • 創建一個包來管理您的錯誤。今天你想看看一個包什麼時候失效,明天它會是別的東西。為未來做計劃…. 您將需要創建一個帶有游標的過程,該過程帶有 SELECT owner, object_type, object_name, status FROM dba_objects WHERE status = ‘INVALID’ ORDER BY owner, object_type, object_name;
  • 打開游標,當你找到東西時,使用電子郵件包給你想要的人發郵件
  • 最後,如果你發現問題,解決問題:使用這裡方便的程式碼:http ://www.oracle-base.com/articles/misc/recompiling-invalid-schema-objects.php重新編譯包

編輯:原始海報詢問如何跟踪事件。需要更多資訊,例如,Oracle 版本、什麼樣的事件、您希望多久收到一次通知。

引用自:https://dba.stackexchange.com/questions/65909