2011-10-07 24 views
1

如何創建一個稱爲AuditErr的數據庫事件觸發器,每發生一次服務器錯誤時都會觸發此事件。 錯誤是指任何Oracle錯誤。通過填充名爲server_error_log(使用給定的SQL腳本)的錯誤日誌表,該觸發器可以作爲管理員的通知機制。 您應該事先創建錯誤滯後表,當發生錯誤時,必須將錯誤代碼和 詳細信息寫回此表。Oracle 11g創建自定義事件觸發器

CREATE TABLE server_error_log ( ERROR_CODE十進制(6), 描述VARCHAR2(256) );

+2

看起來像可愛的功課:) –

+0

是的,它是我的任務;)大聲笑感謝很多 – peedee

回答

1

你必須創建一個database event trigger

CREATE TRIGGER log_errors AFTER SERVERERROR ON DATABASE 
    BEGIN 
     // log error 
    END; 

在此觸發,你可以使用屬性功能ora_server_errorora_server_error_msg檢索錯誤堆棧。

+0

他們說每次發生服務器錯誤時,它們是什麼意思?但默認情況下oracle不記錄所有的錯誤儀式?大衆解釋 – peedee