ORA-12505: TNS: 監聽程序當前無法識別連接描述符中所給出的SID等錯誤解決方法


當遇到ORA-12505: TNS: 監聽程序當前無法識別連接描述符中所給出的SID等錯誤需要特別檢查如下配置:
1. 檢查數據庫客戶端$ORACLEHOME/client_1/NETWORK/ADMIN目錄中的tnsnames.ora文件看客戶端連接服務器 Listener的配置是否正確,如下配置是連接本地數據庫服務器Listener,其中紅色標記的是特別要注意的地方:
ORCL_LOCALHOST =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = orcl)
      (SERVER = DEDICATED)
    )
  )
2. 檢查數據庫服務器$ORACLEHOME/db_1/NETWORK/ADMIN目錄中的listener.ora文件是否配置正確,如果這個文件配置錯誤是客戶端是無論如何也無法連接到服務器的,如下是listener.ora的部分配置:
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = lihe)(PORT = 1521))
    ))
其中紅色標記的HOST是特別要注意的地方,是你的計算機名稱,不能簡單的寫成localhost,如果不確定計算機名稱則可通過dba登錄sqlplus利用
select HOST_NAME from v$instance語句查詢主機名。

原來本機的ip發生改變后,或手動改變過計算機的名稱,都可能出現了上述問題。檢查配置后改變數據庫的監聽ip地址,然后重啟tns監聽服務。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM