監聽器是Oracle基于伺服器端的一種網絡服務,主要用于監聽用戶端向資料庫伺服器端提出的連接配接請求。Oracle官方對其的定義為:A process that listens for incoming client connection requests and manages network traffic to the database.
本地服務名是Oracle用戶端網絡配置的一種,另外還有Oracle名字伺服器(Oracle Names Server)等。
用戶端可以通過監聽來和資料庫伺服器進行互動,如果我們是用tnsping來測試,并且傳回正常,是否意味着資料庫可用?答案是否定的。
1. 如下監聽是正常啟動:

2. 此時關閉資料庫:
3. 從用戶端執行tnsping,顯示是連接配接正常。
由此我們可以看到,tnsping隻是驗證了用戶端和資料庫伺服器的監聽端口之間的通路是好的,但并未意味着資料庫服務是可用的,因為用戶端和Oracle伺服器互動是通過Oracle server伺服器程序來進行的,私有記憶體空間即是PGA,是以有時候我們做運維檢測,tnsping不能代表Oracle資料庫可用,可以用sqlplus真正執行一條語句(select sysdate from dual)才行。