在Oracle中,Oracle使用哪一個包能夠生成並傳遞數據庫告警信息?程序員
DBMS_ALERT包用於生成並傳遞數據庫告警信息。若想使用DBMS_ALERT包,則必須以SYS登錄,爲普通用戶授予執行權限。DBMS_ALERT能讓數據庫觸發器在特定的數據庫值發生變化時嚮應用程序發送報警。報警是基於事務的而且是異步的(也就是它們的操做與定時機制無關)。面試
示例以下所示:sql
1、首先應先授予用戶使用DBMS_ALERT的權限。登陸到SYS用戶下,執行以下語句:數據庫
1GRANT EXECUTE ON DBMS_ALERT TO LHR;
2、會話1執行:
微信
1DECLARE
2 V_ALERTNAME VARCHAR2(30) := 'alert_lhr';
3 V_STATUS NUMBER;
4 V_MSG VARCHAR2(100);
5BEGIN
6 DBMS_ALERT.REGISTER(V_ALERTNAME); --註冊要接收信息的警報器
7 DBMS_ALERT.WAITONE(V_ALERTNAME, V_MSG, V_STATUS);
8 IF V_STATUS != 0 THEN
9 DBMS_OUTPUT.PUT_LINE('error');
10 ELSE
11 DBMS_OUTPUT.PUT_LINE(V_MSG);
12 END IF;
13END;
14/
該會話處於等待狀態。網絡
3、會話2執行:app
1DECLARE
2 V_ALERTNAME VARCHAR2(30) := 'alert_lhr';
3BEGIN
4 DBMS_ALERT.SIGNAL(V_ALERTNAME, 'hello, this is sending process!');
5 COMMIT; --必須COMMIT,警報纔會真正被髮出
6END;
7/
四、查詢會話1,輸入以下內容:異步
1hello, this is sending process!
本文選自《Oracle程序員面試筆試寶典》,做者:李華榮。
ide
詳細內容能夠添加麥老師微信或QQ私聊。學習
● 本文做者:小麥苗,只專一於數據庫的技術,更注重技術的運用
● 做者博客地址:http://blog.itpub.net/26736162/abstract/1/
● 本系列題目來源於做者的學習筆記,部分整理自網絡,如有侵權或不當之處還請諒解
● 版權全部,歡迎分享本文,轉載請保留出處
● QQ:646634621 QQ羣:618766405
● 提供OCP、OCM和高可用部分最實用的技能培訓
● 題目解答如有不當之處,還望各位朋友批評指正,共同進步
長按下圖識別二維碼或微信掃描下圖二維碼來關注小麥苗的微信公衆號:xiaomaimiaolhr,學習最實用的數據庫技術。
本文分享自微信公衆號 - DB寶(lhrdba)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。