Oracle ORA-12541:TNS:no listener

在windows7虛擬機內安裝了oracle,然後在主機通過navicat for oracle進行遠程連接時報
Oracle ORA-12541:TNS:no listener的錯誤

原因是:

  • 配置虛擬機地址時沒有指定IP,默認隨機的localhost地址,就安裝Oracle了。在安裝Oracle的時候,默認的ip被寫入了oracle的監聽配置文件,所以通過外連接連接指定的ip,固然連接不上,因此需要被正確的ip地址寫入到Oracle的配置文件裏。

解決方法:

  • 在虛擬機上,找到Oracle的安裝目錄,修改oracle安裝目錄目錄
    E:\app\one\product\11.2.0\dbhome_1\NETWORK\ADMIN下的兩個文件

在這裏插入圖片描述

  • 分別修改這兩個文件,講其中的localhost改爲虛擬機的ip地址,重啓虛擬機,再次連接便成功!

Oracle基本是默認安裝,安裝過程沒出現過任何異常
Oracle開啓了兩個服務:

OracleServiceORCL和OracleOraDb11g_home1TNSListener

在navicat工具上使用就是如下的問題:

  • Navicat一直都連接不上本地的Oracle
    Navicat主機那裏如果填本機IP地址(192.168.18.8)
    錯誤代碼是:ORA-12541:TNS:no listener
  • 如果填localhost
    錯誤代碼是:ORA-28547:connection to server failed,probable Oracle Net admin error
  • tnsping localhost 是通的,tnsping 192.168.18.8 則出錯 TNS-12541: TNS: 無監聽程序

解決的方案是:

  • oci.dll的版本不對
    http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
    下載client,不管你的機器是不是32位的,都必須下載32位的OCI!

    • 還有一點要注意,Oracle9i或以上版本的,要安裝Install Client11或以下;Oracle8或8i服務器,需要安裝Install Client10或以下。這個問題不大,因爲我們現在的Oracle都是10或11及以上了,注意一下就好。
  • 裏面很多,根據你的版本來下,我下載的是instantclient_11_1。
    在navicat的 工具-選項-其他-OCI ,選擇剛下的client中的 oci.dll

  • 設置環境變量:
    1)在環境變量PATH中開頭增加C:\Instantclient10_2;
    2)增加用戶環境變量SQLPATH,值爲C:\Instantclient10_2
    3)增加用戶環境變量NLS_LANG,值爲AMERICAN_AMERICA.UTF8
    選擇 Basic 連接,就大概能連接上了

參考:
https://www.cnblogs.com/fby698/p/10673856.html
https://blog.csdn.net/weixin_34129696/article/details/94029420

發佈了12 篇原創文章 · 獲贊 4 · 訪問量 1832
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章