etworkadmi nlistener.ora監(jiān)聽(tīng)程序日志文件 C: ooloracleoracleproduct10.2.0db_1
etworkloglistener.log監(jiān)聽(tīng)端點(diǎn)概要……

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=acca-119hs63yxc)(PORT=1521)))

服務(wù)摘要……

服務(wù)"OTSXDB"包含1個(gè)例程。

例程"ots",狀態(tài)READY,包含此服務(wù)的1個(gè)處理程序……

服務(wù)"OTS_XPT"包含1個(gè)例程。

例程"ots",狀態(tài)READY,包含此服務(wù)的1個(gè)處理程序……

服務(wù)"ots"包含1個(gè)例程。

例程"ots",狀態(tài)READY,包含此服務(wù)的1個(gè)處理程序……

命令執(zhí)行成功

命令status可以查看當(dāng)前監(jiān)聽(tīng)器的所有信息。當(dāng)前監(jiān)聽(tīng)器對(duì)應(yīng)的服務(wù)包括三個(gè),分別為otsxdb、otx_xpt和ots.三個(gè)服務(wù)名是對(duì)外使用的,本質(zhì)上對(duì)應(yīng)的Oracle實(shí)例都是ots.

監(jiān)聽(tīng)器進(jìn)程工作都有對(duì)應(yīng)的日志信息,在狀態(tài)顯示中,我們也可以看到日志文件位置(C: ooloracleoracleproduct10.2.0db_1
etworkloglistener.log)。下面我們從一個(gè)新的日志文件,看監(jiān)聽(tīng)器工作。

3、Oracle監(jiān)聽(tīng)器日志解析

下面是我們截取的監(jiān)聽(tīng)器片段,篇幅原因,有省略。

以pid=2736開(kāi)始監(jiān)聽(tīng): (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=acca-119hs63yxc)(PORT=1521)))

Listener completed notification to CRS on start

TIMESTAMP * CONNECT DATA [* PROTOCOL INFO] * EVENT [* SID] * RETURN CODE 29-6月-2011 10:51:27 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=Administrator))(COMMAND=status)(ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=169869568)) * status * 0 29-6月-2011 10:51:39 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=Administrator))(COMMAND=status)(ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=169869568)) * status * 0 29-6月-2011 10:52:00 * (CONNECT_DATA=(SID=OTS)(CID=(PROGRAM=C: ooloracleoracleproduct10.2.0db_1perl5.8.3inMSWin32-x86-multi-threadperl.exe)(HOST=ACCA-119HS63YXC)(USER=SYSTEM))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.1.39.93)(PORT=3126)) * establish * OTS * 12505 TNS-12505: TNS:監(jiān)聽(tīng)程序當(dāng)前無(wú)法識(shí)別連接描述符中所給出的SID 29-6月-2011 10:52:00 * service_register * ots * 0 29-6月-2011 10:52:11 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=Administrator))(COMMAND=status)(ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=169869568)) * status * 0 29-6月-2011 10:52:48 * service_update * ots * 0 29-6月-2011 10:53:00 * service_update * ots * 0

(有省略……)

29-6月-2011 10:53:17 * ping * 0 29-6月-2011 10:53:18 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=SYSTEM))(COMMAND=status)(ARGUMENTS=64)(SERVICE=(ADDRESS=(PROTOCOL=TCP)(HOST=acca-119hs63yxc)(PORT=1521)))(VERSION=169869568)) * status * 0 29-6月-2011 10:53:29 * (CONNECT_DATA=(SID=OTS)(CID=(PROGRAM=C: ooloracleoracleproduct10.2.0db_1perl5.8.3inMSWin32-x86-multi-threadperl.exe)(HOST=ACCA-119HS63YXC)(USER=SYSTEM))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.1.39.93)(PORT=3141)) * establish * OTS * 0 29-6月-2011 10:53:57 * (CONNECT_DATA=(SERVICE_NAME=ots)(CID=(PROGRAM=D:PLSQL Developerplsqldev.exe)(HOST=LIUZIYU-PC)(USER=Liuziyu))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.1.39.40)(PORT=1760)) * establish * ots * 0 29-6月-2011 10:54:00 * (CONNECT_DATA=(SERVICE_NAME=ots)(CID=(PROGRAM=D:PLSQL Developerplsqldev.exe)(HOST=LIUZIYU-PC)(USER=Liuziyu))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.1.39.40)(PORT=1761)) * establish * ots * 0 29-6月-2011 10:54:00 * (CONNECT_DATA=(SERVICE_NAME=ots)(CID=(PROGRAM=D:PLSQL Developerplsqldev.exe)(HOST=LIUZIYU-PC)(USER=Liuziyu))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.1.39.40)(PORT=1762)) * establish * ots * 0 29-6月-2011 10:54:03 * service_update * ots * 0 29-6月-2011 10:54:09 * service_update * ots * 0

日志內(nèi)容很多,我們分為重點(diǎn)的幾個(gè)部分。

在日志頭,Oracle告知了我們?nèi)罩靖袷剑褂?進(jìn)行內(nèi)容分割。

TIMESTAMP * CONNECT DATA [* PROTOCOL INFO] * EVENT [* SID] * RETURN CODE

其中包括連接時(shí)間時(shí)間,請(qǐng)求數(shù)據(jù)Data和其他相關(guān)事件信息。這些可以幫助我們分析日志內(nèi)容。

ü 監(jiān)聽(tīng)器無(wú)法找到指定服務(wù)

對(duì)應(yīng)片段:

29-6月-2011 10:52:00 * (CONNECT_DATA=(SID=OTS)(CID=(PROGRAM=C: ooloracleoracleproduct10.2.0db_1perl5.8.3inMSWin32-x86-multi-threadperl.exe)(HOST=ACCA-119HS63YXC)(USER=SYSTEM))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.1.39.93)(PORT=3126)) * establish * OTS * 12505 TNS-12505: TNS:監(jiān)聽(tīng)程序當(dāng)前無(wú)法識(shí)別連接描述符中所給出的SID

分析日志格式后,可以發(fā)現(xiàn)在這個(gè)時(shí)間(10:52),Oracle監(jiān)聽(tīng)器接受到程序的訪問(wèn),程序來(lái)自主機(jī)(ACCA-119HS63YXC),使用system用戶(hù)登錄,程序名稱(chēng)是perl.exe.由于當(dāng)前系統(tǒng)沒(méi)有注冊(cè)Service信息,也沒(méi)有注冊(cè)SID信息,所以不能夠連接識(shí)別對(duì)SID=OTS請(qǐng)求。

報(bào)錯(cuò)無(wú)法識(shí)別SID.

ü 實(shí)例主動(dòng)進(jìn)行動(dòng)態(tài)注冊(cè)

此時(shí),數(shù)據(jù)庫(kù)服務(wù)器先于監(jiān)聽(tīng)程序啟動(dòng),默認(rèn)要等待很長(zhǎng)的時(shí)間才會(huì)發(fā)生動(dòng)態(tài)注冊(cè)。我們使用alter system register;命令手動(dòng)啟動(dòng)動(dòng)態(tài)注冊(cè)過(guò)程。監(jiān)聽(tīng)程序上發(fā)現(xiàn)pmon進(jìn)程的注冊(cè)進(jìn)程,并且記錄在日志中。

29-6月-2011 10:52:00 * service_register * ots * 0

將數(shù)據(jù)庫(kù)sid=ots對(duì)應(yīng)的三個(gè)實(shí)例進(jìn)行注冊(cè)。

ü 用戶(hù)Client連接進(jìn)程

當(dāng)出現(xiàn)連接請(qǐng)求的時(shí)候,日志記錄。

29-6月-2011 10:55:19 * (CONNECT_DATA=(SERVICE_NAME=ots)(CID=(PROGRAM=D:PLSQL Developerplsqldev.exe)(HOST=LIUZIYU-PC)(USER=Liuziyu))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.1.39.40)(PORT=1782)) * establish * ots * 0

根據(jù)日志格式,可以理解為從遠(yuǎn)程(HOST=LIUZIYU-PC,IP=10.1.39.40)主機(jī)通過(guò)TCP協(xié)議訪問(wèn)到監(jiān)聽(tīng)程序,要求連接到ots服務(wù)上。使用的程序是pl/sql developer.

ü 周期性pmon注冊(cè)

動(dòng)態(tài)注冊(cè)是一種經(jīng)常性的注冊(cè)行為,pmon每隔幾分鐘的時(shí)間就會(huì)向監(jiān)聽(tīng)器進(jìn)行一次注冊(cè)動(dòng)作。

29-6月-2011 10:55:33 * service_update * ots * 0

4、結(jié)論

監(jiān)聽(tīng)器是我們經(jīng)常打交道的數(shù)據(jù)庫(kù)組件之一。同數(shù)據(jù)庫(kù)的alert_log一樣,監(jiān)聽(tīng)器日志能夠幫助我們解決很多日常故障問(wèn)題。

分享到

wangyao

相關(guān)推薦