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(具體安裝路徑可能有不同,請根據自己的安裝路徑來找),修改之后需要重啟監聽服務
重重之重:一定要在客戶機上添加一個環境變量:
變量一:
名:TNS_ADMIN
值:tnsnames.ora 文件所在路徑d:\instantclient_11_2\network\admin
變量二:
名:ORACLE_HOME
值:oracle安裝好的根目錄
變量三:
在path 中增加%ORACLE_HOME%\BIN
plsql通過這個找到orcl連接字符串 ,否則無法連接
plsql的設置:
其他收獲:
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文件中某個地方寫錯了,比如說少了個括號什么的