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文件中某個地方寫錯了,比如說少了個括號什麽的
oracle11G 已開啟監聽,但遠程連接依舊無監聽解決過程