什么是數據庫事件及怎樣設置它?

oracle跟蹤事件用于調試oracle數據庫服務器。下面的兩個例子簡單的示范其語法。
事件能通過在INIT.ORA參數文件中增加它們來激活﹐如﹕
event='1401 trace name errorstack, level 12'
或者通過發出一個alter session set events 命令﹕
alter session set events '10046 trace name context forever, level 4';
alter session的方法僅影響用戶當前會話﹐而在INIT.ORA文件中增加的一旦重新啟動將影響所有會話

下面的這些事件被DBAs和oracle支持頻繁使用去詳鄦栴}﹕

10046 trace name context forever, level 4(只輸出跟蹤sql語句的綁定變量)
10046 trace name context forever, level 8(只輸出跟蹤sql語句的等待事件)
10046 trace name context forever, level 12(輸出跟蹤sql的綁定變量和等待事件)

1401 trace name errorstack, level 12
1401 trace name errorstack, level 4
1401 trace name processstate
假如出現ora-01401(inserted value too large for column)的錯誤,以上可以轉儲出跟蹤信息.
1401可以被任何其它你想要跟蹤的oracle服務器錯誤代碼所替代。


60 trace name errorstack level 10
指出哪些oracle代碼獲得一個死鎖﹐可以幫助去詳啻嬖诘膯栴}.

下面列出的一些事件僅是一些例子﹐他們可能依懶于特定的版本。

10210 trace name context forever, level 10
10211 trace name context forever, level 10
10231 trace name context forever, level 10
這些事件防止數據庫塊損壞

10049 trace name context forever, level 2(內存保護cursor(Memory protect cursor))

10210 trace name context forever, level 2(數據塊檢查)

10211 trace name context forever, level 2(索引塊檢查)

10235 trace name context forever, level 1(內存頭檢查)

10262 trace name context forever, level 300(允許300個字節的內存泄漏)

转自:http://blog.itpub.net/33600/viewspace-266394/

猜你喜欢

转载自appleses.iteye.com/blog/2173680