Oracle跟蹤事件的包括那些?
以下的文章主要是對Oracle跟蹤事件的具體描述,其中主要包括Oracle跟蹤事件之一Oracle跟蹤文件的具體內(nèi)容介紹,以及Oracle跟蹤事件之二Oracle跟蹤事件的詳細內(nèi)容描述,以下就是文章的具體內(nèi)容描述。
一、Oracle跟蹤事件之一Oracle跟蹤文件
Oracle跟蹤文件分為三種類型,一種是后臺報警日志文件,記錄數(shù)據(jù)庫在啟動、關(guān)閉和運行期間后臺進程的活動情況,如表空間創(chuàng)建、回滾段創(chuàng)建、某些alter命令、日志切換、錯誤消息等。在數(shù)據(jù)庫出現(xiàn)故障時,應(yīng)首先查看該文件,但文件中的信息與任何錯誤狀態(tài)沒有必然的聯(lián)系。后臺報警日志文件保存BACKGROUND_DUMP_DEST參數(shù)指定的目錄中,文件格式為SIDALRT.LOG
另一種類型是DBWR、LGWR、SMON等后臺進程創(chuàng)建的后臺跟蹤文件。后臺跟蹤文件根據(jù)后臺進程運行情況產(chǎn)生,后臺跟蹤文件也保存在BACKGROUND_DUMP_DEST參數(shù)指定的目錄中,文件格式為siddbwr.trc、sidsmon.trc等。還有一種類型是由連接到Oracle的用戶進程(Server Processes)生成的用戶跟蹤文件。
這些文件僅在用戶會話期間遇到錯誤時產(chǎn)生。此外,用戶可以通過執(zhí)行oracle跟蹤事件(見后面)來生成該類文件,用戶跟蹤文件保存在USER_DUMP_DEST參數(shù)指定的目錄中,文件格式為oraxxxxx.trc,xxxxx為創(chuàng)建文件的進程號(或線程號)。
二、Oracle跟蹤事件之二Oracle跟蹤事件
Oracle提供了一類命令,可以將Oracle各類內(nèi)部結(jié)構(gòu)中所包含的信息轉(zhuǎn)儲(dump)到跟蹤文件中,以便用戶能根據(jù)文件內(nèi)容來解決各種故障。設(shè)置跟蹤事件有兩種方法,一種是在init.ora文件中設(shè)置事件,這樣open數(shù)據(jù)庫后,將影響到所有的會話。設(shè)置格式如下:
- EVENT="eventnumber trace name eventname [forever,] [level levelnumber] : ......."
通過:符號,可以連續(xù)設(shè)置多個事件,也可以通過連續(xù)使用event來設(shè)置多個事件。
另一種方法是在會話過程中使用alter session set events命令,只對當(dāng)前會話有影響。設(shè)置格式如下:
- alter session set events '[eventnumber|immediate]
trace name eventname [forever] [, level levelnumber] : .......'
通過:符號,可以連續(xù)設(shè)置多個事件,也可以通過連續(xù)使用alter session set events 來設(shè)置多個事件。
格式說明:eventnumber指觸發(fā)dump的事件號,事件號可以是Oracle錯誤號(出現(xiàn)相應(yīng)錯誤時跟蹤指定的事件)或oralce內(nèi)部事件號,內(nèi)部事件號在10000到10999之間,不能與immediate關(guān)鍵字同用。
immediate關(guān)鍵字表示命令發(fā)出后,立即將指定的結(jié)構(gòu)dump到跟蹤文件中,這個關(guān)鍵字只用在alter session語句中,并且不能與 eventnumber、forever關(guān)鍵字同用。
trace name 是關(guān)鍵字。
eventname指事件名稱(見后面),即要進行dump的實際結(jié)構(gòu)名。若eventname為context,則指根據(jù)內(nèi)部事件號進行跟蹤。
forever關(guān)鍵字表示事件在實例或會話的周期內(nèi)保持有效狀態(tài),不能與immediate同用。
level為事件級別關(guān)鍵字。但在dump錯誤棧(errorstack)時不存在級別。
levelnumber表示事件級別號,一般從1到10,1表示只dump結(jié)構(gòu)頭部信息,10表示dump結(jié)構(gòu)的所有信息。
上述的相關(guān)內(nèi)容就是對Oracle跟蹤事件的部分內(nèi)容描述,希望會給你帶來一些幫助在此方面。
【編輯推薦】