問題描述:
安裝完Oracle數據庫后,進行連接測試,報錯TNS-03505: 無法解析名稱錯誤
解決過程:
1、查看提示路徑,D:\app\Administrator\product\11.2.0\client_1\network\admin
查看tnsnames.oRA文件,結果:配置不完整。
查看D:\app\Administrator\product\11.2.0\dbhome_1\network\admin下的tnsnames.oRA文件:
結果,內容完整;
2、查看環境變量
把環境變量的系統變量path中把oracle服務端安裝路徑放到oracle客戶端安裝路徑前面。
結果:問題解決;
(以下參考:https://blog.csdn.net/ami121/article/details/6980827):
Oracle的tnsping測試程序,在通訊時使用TCP協議。TCP 是面向連接的OSI傳輸層協議。面向連接的協議在初始建立連接的階段需要進行初始的序列號的交換,這就是我們通常所指的三次握手。即tnsping測試程序在與listener進行通訊時會產生三次握手現象。
當在命令行中發出了tnsping命令后,會執行oracle 網絡別名(即網絡服務名,主機連接字符串)的解析工作。這個解析工作會在本地的tnsnames.ora文件或ORACLE的命令服務器或ORACLE LDAP(目錄服務)中進行。解析的目的是得到目標listener所在的機器名(IP地址)和listener偵聽的端口號。
一旦得到listener的機器名與端口號,就可以打開一個到目標機器與端口的TCP連接。為了打開這個TCP連接,listener的機器名必須被解析為ip地址(當然這只有在解析出的listener的連接地址為機器名時才這樣做),然后TCP/IP執行三次握手來完成這次連接。
在連接建立之后,Tnsping工具然后就發送一個Oracle TNS 連接包給Oracle Listener,Listener然后就回應一個TNS 拒絕包(Refuse packet),在兩個機器間的TCP/IP連接就結束了。從oracle 網絡別名的解析到結束TCP/IP連接之間的總的耗費的時間就顯示在tnsping命令的輸出中。