前提配置:本機是ORACLE服務端 用PLSQL串連遠端服務端
大致有以下解決方案:
第一個方案:
按照配置流程:
第一:保證資料庫安裝沒有出問題,本頁有資料庫安裝的具體介紹。
第二:找到C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN下面的listener.ora 其中的HOST為原生ip也可以填寫電腦名稱;此處為電腦名稱。
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = samfoo)(PORT = 1521))
)
)
第三:找到C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN下面的tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = samfoo)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
HOST為原生ip也可以填寫電腦名稱;此處為電腦名稱。還有一點就是電腦名稱有時候最好不要改,很容易出問題。
autotestingv2_129 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.6.50.129)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
串連遠端伺服器IP為10.6.50.129的資料庫伺服器。 注意 autotestingv2_129前面不要有空格。
第二種方案:
PLSQL登陸時報異常:ORA-12170: TNS: 連線逾時
下面是調試測試的各個步驟:
- 在CMD視窗可以正常串連資料庫
- CMD輸入:lsnrctl status 結果:命令執行成功
- CMD輸入:tnsping ora11g 結果:TNS-12535: TNS: 操作逾時
- CMD輸入:ping Michael-PC 結果:發現IP是當前網路的地址並不是127.0.0.1或者localhost
其中Michael-PC 為電腦名稱。
基於上面的調試分析如下:連網的情況下系統未能把Michael-PC解析為localhost
解決方案如下:
C:\Windows\System32\drivers\etc 找到系統的hosts檔案,修改如下:
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
添加一條記錄
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
127.0.0.1 Michael-PC
這樣可以在連網的情況下也能正常串連資料庫了。
第三種方案:
注意問題:
1 、安裝的時候注意先不要裝超級兔子,很容易跟ORACLE起衝突。
2、電腦名稱最好不要改。
3.、如果是ORACLE重裝的話 一定要把以前的刪除乾淨,ORACLE刪除本頁有詳細說明。
http://www.blogjava.net/freeman1984/archive/2011/04/15/348350.html