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