監聽器日誌檔案(listener.log)到底記錄了些啥

Hoegh發表於2015-09-06

分析監聽日誌檔案

這一章節描述了監聽日誌檔案中記錄了什麼內容。該章節包含以下主題:


  • 監聽器日誌審計跟蹤資訊
  • 監聽器服務註冊事件資訊
  • 監聽器直接Hand-Off資訊
  • 監聽器訂閱ONS節點關閉事件資訊
  • 監聽器Oracle叢集通知資訊


監聽器日誌審計跟蹤資訊

監聽器日誌檔案包含了審計跟蹤資訊,您可以用來收集和分析網路使用情況;還包括以下資訊:

l  客戶端的連線請求

l  監聽器控制工具發出的RELOADSTARTSTOP, STATUS或者 SERVICES命令

您可以使用審計跟蹤資訊來檢視趨勢和使用者活動。具體的,首先將資訊儲存到一個表裡,然後整理成報告的格式。為了將資料匯入到表中,可以使用匯入實用程式,如SQL* Loader

監聽器日誌審計跟蹤資訊的格式

審計跟蹤資訊遵照以下格式:

點選(此處)摺疊或開啟

  1. Timestamp * Connect Data [* Protocol Info] * Event [* SID | Service] * Return Code

審計跟蹤資訊的特性如下:

l  每個欄位由星號(*)分隔

l  只有在嘗試建立連線時才會出現協議地址資訊和服務名稱或SID資訊

l  成功的連線或命令返回程式碼零

l  失敗生成一個可以對映到錯誤訊息的程式碼

16-4顯示了一個發出reload命令請求的日誌檔案片段。

16-4 重新載入監聽器命令的監聽器日誌事件

點選(此處)摺疊或開啟

  1. 14-MAY-2009 00:29:54 *
  2. (connect_data=(cid=(program=)(host=sales-server)(user=jdoe))(command=reload)
  3. (arguments=64)(service=listener)(version=135290880))
  4. * reload * 0

16-5顯示了一個連線請求成功的日誌檔案片段。

16-5 連線請求成功的監聽器日誌事件

點選(此處)摺疊或開啟

  1. 14-MAY-2009 15:28:58 *
  2. (connect_data=(service_name=sales.us.example.com)(cid=(program=)(host=sales-server)
  3. (user=jdoe)))
  4. * (address=(protocol=tcp)(host=192.168.2.35)(port=41349)) * establish
  5. * sales.us.example.com * 0
16-6顯示了銷售伺服器主機執行STATUS命令成功的日誌檔案片段。緊接著是由IP地址為192.168.2.35的客戶端發出的連線請求嘗試失敗的資訊。該連線請求導致了一個ORA-12525報錯:“TNS:listener has not received client's request in time allowed error message”。當客戶端在由listener.ora檔案的INBOUND_CONNECT_TIMEOUT_listener_name引數指定的時間內無法完成連線時,就會報ORA-12525錯誤。這個客戶端可能在對監聽器進行DOS攻擊。

例 16-6 連線請求失敗的監聽器日誌事件

點選(此處)摺疊或開啟

  1. 03-MAY-2009 16:41:57 *
  2. (CONNECT_DATA=(CID=(PROGRAM=)(HOST=sales-server)(USER=jdoe))(COMMAND=status)
  3. (ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=153092352)) * status * 0
  4. 03-MAY-2009 16:42:35 * <unknown connect data> *
  5. (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.35)(PORT=53208)) * establish *
  6. <unknown sid> * 12525
  7. TNS-12525: TNS:listener has not received client


監聽器服務註冊事件資訊

監聽器記錄了服務註冊事件資訊。在服務註冊期間,PMON程式向監聽器提供以下資訊:

l  資料庫的每個執行例項的服務名

l  資料庫例項名

l  可用的服務處理器(排程程式或專用伺服器)

l  排程程式,例項和節點負載資訊

l  動態監聽端點

16-14中列出的註冊服務相關的事件,均記錄在listener.log中。

16-14 服務註冊事件日誌資訊

事件

描述

service_register

監聽器接收到一個例項的註冊資訊

service_update

監聽器接收到特定例項的更新服務資訊,例如排程程式或者例項負載資訊等

service_died

監聽器和PMON程式失去連線。該例項的所有註冊資訊被丟棄。在PMON程式重新註冊之前,所有的客戶端都無法連線該例項。

監聽器服務註冊資訊的格式

服務註冊事件日誌資訊格式如下:

點選(此處)摺疊或開啟

  1. Timestamp * Event * Instance Name * Return Code
服務註冊欄位的特性如下:

l  每個欄位由星號(*)分隔

l  對於一個例項而言,在一行中出現多次是正常的

l  註冊成功返回程式碼零,這意味著客戶端可以連線到該例項

l  註冊失敗會產生一個可以對映到錯誤訊息的程式碼

16-7顯示了服務註冊事件的日誌檔案片段。在一次成功的service_register事件之後,監聽器能夠接收客戶端請求;但是在service_died事件發生後,監聽器將無法將收到客戶端的請求。

16-7 服務註冊事件的監聽器日誌

點選(此處)摺疊或開啟

  1. -------------------------------
  2. 14-MAY-2009 15:28:43 * service_register * sales * 0
  3. 14-MAY-2009 15:28:43 * service_register * sales * 0
  4. 14-MAY-2009 15:28:58 *
  5. (connect_data=(service_name=sales.us.example.com)
  6. (cid=(program=)(host=sales-server)(user=jdoe)))
  7. * (address=(protocol=tcp)(host=192.168.2.35)(port=41349)) * establish
  8. * sales.us.example.com * 0
  9. 14-MAY-2009 15:38:44 * service_update * sales * 0
  10. 14-MAY-2009 15:38:44 * service_update * sales * 0
  11. 14-MAY-2009 15:48:45 * service_update * sales * 0
  12. 14-MAY-2009 15:48:45 * service_update * sales * 0
  13. 14-MAY-2009 15:50:57 *
  14. (connect_data=(service_name=sales.us.example.com)(cid=(program=)
  15. (host=sales-server)(user=jdoe)))
  16. * (address=(protocol=tcp)(host=192.168.2.35)(port=41365)) * establish
  17. * sales.us.example.com * 0
  18. 14-MAY-2009 15:51:26 * service_died * sales * 12537
  19. 14-MAY-2009 15:51:26 * service_died * sales * 12537
  20. 14-MAY-2009 15:52:06 *
  21. (connect_data=(service_name=sales.us.example.com)
  22. (cid=(program=)(host=sales-server)(user=jdoe)))
  23. * (address=(protocol=tcp)(host=192.168.2.35)(port=41406)) * establish
  24. * sales.us.example.com * 12514
  25. TNS-12514: TNS:listener could not resolve SERVICE_NAME given in connect descriptor


監聽器直接Hand-Off資訊

監聽器記錄了發給排程程式的直接Hand-Off資訊。這些資訊被格式化如下:

Timestamp * Presentation * Handoff  * Error Code

直接Hand-Off資訊的特性如下:

l  每個欄位由星號(*)分隔

l  成功的連線或命令返回程式碼零

l  失敗生成一個可以對映到錯誤訊息的程式碼

16-8顯示了日誌檔案中的一個直接Hand-Off資訊。

16-8 直接Hand-Off資訊的監聽器日誌


點選(此處)摺疊或開啟

  1. 21-MAY-2009 10:54:55 * oracle.aurora.net.SALESHttp2 * handoff * 0


監聽器訂閱ONS節點關閉事件資訊

如果ONS配置檔案可用,監聽器將訂閱資料庫啟動期間Oracle通知服務(ONS)節點的關閉事件。當監聽器接收到來自ONS的節點關閉事件後, 該訂閱會使監聽器刪除受影響的服務。對於該事件通知,監聽器使用非同步訂閱。

如果訂閱未完成,每次執行STATUS命令時就會在監聽器日誌檔案中記錄如下的警告資訊;例如,如果ONS守護程式在主機上未執行。


點選(此處)摺疊或開啟

  1. WARNING: Subscription for node down event still pending
當訂閱懸而未決時,監聽器無法接收到ONS事件。除此之外,監聽器的其他功能不會受到影響。


監聽器Oracle叢集通知資訊

如果安裝了所需的Oracle叢集件(以下日誌訊息中提到的CRS)庫,並且主機上的Oracle Clusterware已啟動,那麼在啟動或者關閉過程中,Oracle監聽器將向Oracle叢集件通知監聽器狀態。在通知成功後,監聽器會在日誌中記錄該事件。如果通知失敗,將不會記錄日誌。


點選(此處)摺疊或開啟

  1. Listener completed notification to CRS on start
  2. Listener completed notification to CRS on stop


hoegh
15.9.6
-- The End --


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

相關文章