Events事件是Oracle的重要診斷工具及問題解決辦法
有四種類型的Events:
Immediate dumps
Conditional dumps
Trace dumps
Events that change database behaviour
每一個事件都有一個號跟Oracle的錯誤信息是一樣的
每一個事件都有一個Level
范圍
位標
標識
ID號 對象ID(object id)
要注意的是
很多Events都會影響數據庫的行為
Enabling Events(Enable事件)
Events可以在Instance一級Enabled
event=
(紅色部分:event指事件號
一次可以Enable多個事件
event =
event=
event=
Events也可以在Instance一級用ALTER SYSTEM命令來Enable:
ALTER SYSTEM SET EVENTS
在Instance一級用以下Disable
ALTER SYSTEM SET EVENTS
Events也可以在Session一級用ALTER SESSION命令來Enable:
ALTER SESSION SET EVENTS
在Session一級用以下命令Disable:
ALTER SESSION SET EVENTS
Events在其他的Session用ORADEBUG來Enable:
在一個Process中實現Enable:
ORADEBUG EVENT event TRACE NAME CONTEXT FOREVER
在某個進程中Enable:
ORADEBUG SETORAPID
ORADEBUG EVENT event TRACE NAME CONTEXT FOREVER
以下命令Disable:
ORADEBUG EVENT event TRACE NAME CONTEXT OFF
在Session中實現Enable:
ORADEBUG SESSION_EVENT event TRACE NAME CONTEXT FOREVER
在Session中實現Disable:
ORADEBUG SESSION_EVENT event TRACE NAME CONTEXT OFF
Events也可以用DBMS_SYSTEM
(在做之前要先從V$session視圖中獲得SID和Serial#)
用以下方式:EXECUTE DBMS_SYSTEM
如EXECUTE dbms_system
要Disable則將level改為
Listing All Events:(列出所有可用的Events)
大部分的Events number的范圍都在
SET SERVEROUTPUT ON
DECLARE
err_msg VARCHAR
BEGIN
dbms_output
FOR err_num IN
LOOP
err_msg := SQLERRM (
IF err_msg NOT LIKE
dbms_output
END IF;
END LOOP;
END;
/
在UNIX系統下message文件在底下目錄$ORACLE_HOME/rdbms/mesg/oraus
在NT系統下message文件在底下目錄$ORACLE_HOME/rdbms/mesg/oraus
Listing Enabled Events(列出Enabled Events)
用以下命令列出在當前Session已經Enabled Events:
SET linesize
SET feedback OFF
SET SERVEROUTPUT ON
DECLARE err_msg VARCHAR
BEGIN
dbms_output
FOR err_num IN
err_msg := SQLERRM (
IF err_msg NOT LIKE
dbms_output
END IF;
END LOOP;
END;
/
常用Events的參考:(紅色的為最常用的而且對DBA比較有用的Events)
Event
ALTER SESSION SET EVENTS
Event
ALTER SESSION SET EVENTS
Event
ALTER SESSION SET EVENTS
Event
ALTER SESSION SET EVENTS
Event
ALTER SESSION SET EVENTS
Event
ALTER SESSION SET EVENTS
級別level參考如下圖:
Level Action
Event
ALTER SESSION SET EVENTS
參考level:
Level Action
Event
Event
Event
ALTER SESSION SET EVENTS
Event
ALTER SESSION SET EVENTS
Event
ALTER SESSION SET EVENTS
Event
ALTER SESSION SET EVENTS
Level參考
Level Action
From:http://tw.wingwit.com/Article/program/Oracle/201311/17007.html