1,cmd ------ ping ip地址:查看網絡問題,能否ping通ip地址
2,cmd ------ tnsping ip地址(或服務器的實例名SID)“
①如果出現"TNS-12535:操作超時" 提示,可能是服務器端防火牆沒有關閉,關閉防火牆即可;
②如果出現下圖顯示,則證明沒有問題;
”
3,cmd ------ netstat - na 查看1521端口是否關閉
①如果顯示關閉,則需要在防火牆設置中將1521端口設為例外;
②如果出現下圖顯示,則證明沒有問題;
4,cmd ------ lsnrctl status (重點:大部分錯誤集中於此)
lsnrctl是listener-control 監聽器的縮寫,查看監聽的狀態
當輸入命令后出現下圖所示:
或出現監聽不支持服務等文字,基本可以確定我們安裝目錄product\11.2.0\dbhome_1\NETWORK\ADMIN 下的tnsnames.ora文件或listener.ora文件出現問題。
①檢查tnsnames.ora文件,查看代碼中HOST后面對應的是不是你的IP地址,如果不是修改為正確的IP 即可。(連接無線網絡的多注意,因為每次的IP是隨機分配的)如下顯示為正確的文件內容
②檢查listener.ora文件,listener.ora文件我們需確保文件中至少存在如下代碼
如果lsnrctl status命令下出現監聽不支持服務問題我們還需要在上面的基礎上加一段,如下為完整代碼
5,重點(親測):檢查--開始--程序--找到oracle安裝目錄:找到net manager“oracle net 配置”--本地:服務命名--orcl90--這個是我的實例服務名(這是我的本地專用服務器)。檢查主機名是否是本機ip或localhost。注意:連接類型要選“專用服務器”。
如果連接在次報錯ora-12541:TNS:沒有監聽器:
1.cmd---services.msc----以Oracle開頭TNListener結尾的服務啟動它
2.如果還沒有啟動,修改注冊表cmd--regedit
找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/OracleTnsListener
添加一個字符串imagepath值為TNSLSNR.exe的路徑
我的是D:/Oracle/Administrator/product/11.1.0/db_1/BIN/TNSLSNR
就可以連接上了。
如果在本機可以正常使用,可是到局域網中的其他機器就出現“ORA-12170:TNS:連接超時
解決方法:
1.cmd-----ping ip地址 查看網絡問題,看能否ping通
2.cmd-----tnsping ip地址(或者是服務器的實例名SID)如果報“TNS-12535:操作超時”,可能是服務器端防火牆 沒有關閉
3.cmd----netstat -na 查看1521端口是否關閉,如果關閉Windows XP中的防火牆設置中將1521端口設為例外
4.cmd----lsnrctl status lsnrctl是listener-control 監聽器的縮寫,查看監聽的狀態