Oracle資料庫的“健康指示器”——事件(events)

sqysl發表於2016-06-09

Oracle資料庫“贏在”在架構,這話還是有道理的,除了鎖(lock)這個最大的架構上的“贏點”之外,Oracle事件(event)也是另外一個很重要的架構上的“贏點”,因為當今的Oracle資料庫,無論日常運維,還是故障分析、診斷、排查和解決,還是效能調整。。。,都離不開事件(event),Oracle提供了很多關於事件(event)的檢視,透過這些檢視,使用者可以獲取到系統中的事件資訊,透過這些事件資訊,專業DBA就可以瞭解資料庫當前,或者某個時間段內的狀況,可見事件對Oracle的使用是多麼重要,目前,Oracle11g上總共有不到900個事件,針對這些事件的詳細說明,至今也沒能發現一個非常權威、全面、詳細、準確的資料,不過,倒也不是無跡可尋,還是有幾個途徑可以去了解Oracle的事件的,首先,大家可以去看Oracle官方的資料,其中對事件介紹較多、較詳盡的是Oracle參考(Oracle reference),這本書裡比較全面、詳盡的介紹了常見事件;此外,我們還可以到網上去收集一些相關的資料;最後,我們也可以透過Oracle自身的檢視(v$event_name)去了解這些事件,v$event_name雖然列出了所有的事件,但對事件並沒有一個說明(Oracle新發布的版本12c對這方面有所改善),我們只能根據事件的名字來猜測事件的用途或作用,除了事件名字,還有幾個欄位對每個事件進行說明,例如:事件引數,事件類別等,我們可以透過desc v$event_name來列出該檢視的欄位項,我們不可能對所有的900個事件進行一一詳細說明,我們可以在日常的應用中去逐漸學習和積累這些事件的知識,但我們可以看看Oracle11g中所有的事件類別,由此,我們可以看出Oracle在最近的版本里,對事件的重視及這方面的完善程度,透過如下命令,可獲取所有的事件類別:
select distinct event_class from v$event_name order by event_class;

事件類別如下:
1、Administrative:Waits resulting from DBA commands that cause users to wait (for example, an index rebuild)
2、Application:Waits resulting from user application code (for example, lock waits caused by row level locking or explicit lock commands)
3、Cluster:Waits related to Real Application Clusters resources (for example, global cache resources such as 'gc cr block busy')
4、Commit: This wait class only comprises one wait event - wait for redo log write confirmation after a commit (that is, 'log file sync')
5、Concurrency:Waits for internal database resources (for example, latches)
6、Configuration:Waits caused by inadequate configuration of database or instance resources (for example, undersized log file sizes, shared pool size)
7、Idle:Waits that signify the session is inactive, waiting for work (for example, 'SQL*Net message from client')
8、Network:Waits related to network messaging (for example, 'SQL*Net more data to dblink')
9、Other:Waits which should not typically occur on a system (for example, 'wait for EMON to spawn')
10、Scheduler:Resource Manager related waits (for example, 'resmgr: become active')
11、System I/O:Waits for background process I/O (for example, DBWR wait for 'db file parallel write')
12、User I/O:Waits for user I/O (for example 'db file sequential read')
目前,Oracle在事件方面已經做的相對比較完善,在使用時也極大的方便了使用者,在提高產品質量和可用性的同時,也極大的提高了使用者的滿意度和認可度,其他資料庫廠商也已經開始支援和不斷完善資料庫事件方面的支援和功能,本人將來也許會發文逐一探討其他商用資料庫這方面的內容,禁止轉載。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8484829/viewspace-2117928/,如需轉載,請註明出處,否則將追究法律責任。

相關文章