1. 程式人生 > >oracle11G 已開啟監聽,但遠端連線依舊無監聽解決過程

oracle11G 已開啟監聽,但遠端連線依舊無監聽解決過程

1、連線資料庫顯示無監聽程式,首先檢視伺服器的oracle監聽服務是否開啟,服務名稱:OracleOraDb11g_home1TNSListener(具體環境中可能不完全一樣,但是認準TNSListener是沒錯的)

2、本地使用127.0.0.1可以連線,但使用本機IP則顯示無監聽,使用其他機器連線也是無監聽,先排查一下防火牆問題

3、排查防火牆後依舊沒有解決,那麼問題根源所在:oracle的listener.ora檔案

解決辦法:


listener.ora檔案路徑:F:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora(具體安裝路徑可能有不同,請根據自己的安裝路徑來找),修改之後需要重啟監聽服務

解決過程中的一些其他技巧:

1、cmd可以使用的命令:

lsnrctl stop  停止監聽服務

lsnrctl start  開始監聽服務

lsnrctl reload  重啟監聽服務

lsnrctl status 檢視監聽服務狀態

tnsping IP 檢視該IP的監聽服務是否正常 例如:tnsping 192.168.20.25

2、可以使用sqlplus進入資料庫進行操作(在各種工具都無法連線資料庫的情況下,sqlplus依舊堅挺)

show parameter listen 檢視資料庫中關於監聽的配置

alter system set local_listener=‘(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))’ (修改監聽配置列表中的引數,引號中的引數僅作為樣例)

原先無論如何都無法連線資料庫,顯示無監聽,進行這一步修改之後,本機使用127.0.0.1就可以連線資料庫了,但其他機子以及使用IP依舊無法連線,然後才有了上面一步的操作

其他收穫:

1、有些機子是認不到localhost的,所以儘量使用127.0.0.1 

2、plsql會讀取F:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora檔案

3、修改了listener.ora檔案之後,如果出現服務無法啟動(提示服務沒有報告任何錯誤),那麼很有可能是listener.ora檔案中某個地方寫錯了,比如說少了個括號什麼的