路子有點野--數據庫telent+ip+1521連接不上,telnet+127.0.0.1+1521就可以連接上解決方法

如題:win10電腦上安裝oracle 當服務器提供服務。之前幾天用的好好的,結果剛剛連接不上了。鬱悶了,什麼都沒有改動。默認數據庫服務是開機自啓動。

結果真有前輩遇到這樣的情況:https://www.cnblogs.com/loong-hon/p/10832143.html

修改方式就是listener.ora中配置,將localhost,修改爲電腦的名稱。當時不理解怎麼回事,結果改了就好了。沒錯,路子就是這麼野

 

參考:

http://blog.sina.com.cn/s/blog_132717ea70102v4gq.html

https://www.cnblogs.com/loong-hon/p/10832143.html

 https://www.cnblogs.com/silentjesse/p/5375572.html

分析過程

http://wenku.baidu.com/link?url=8tRGGObqgLd6-yqprioIZSyluu9K0BgA29Lhx7F57pVDIHbMHVDNTa_SlEmVugGT4QJODM8ujcsJE0F-gpCtXLB0pyR6K2dz6v4zgd9UP67

原文內容:

提示無法連接遠程Oracle。我試着telnet Oracle服務器1521 端口,提示連接失敗。

D:\Documents and Settings\Administrator>telnet 10.201.70.68 1521

正在連接到10.201.70.68...不能打開到主機的連接, 在端口 1521: 連接失敗

Oracle服務器與本機都在局域網內,不存在網絡不通問題,怎麼會無法連接。

檢查10.201.70.68並未啓動防火牆,可以ping通。

但發現直接在Oracle服務器上連接oracle也不能正常連接。

後發現爲listener.ora導致,經過修改 \product\10.2.0\db_1\NETWORK\ADMIN\listener.ora 數據庫恢復正常。

再次telnet Oracle服務器的1521端口,依然連接失敗。

D:\Documents and Settings\Administrator>telnet 10.201.70.68 1521

正在連接到10.201.70.68...不能打開到主機的連接, 在端口 1521: 連接失敗

用命令查看當前端口情況netstat -a –n

C:\Documents and Settings\Administrator>netstat -a -n

Active Connections

Proto Local Address Foreign Address State

TCP 0.0.0.0:23 0.0.0.0:0 LISTENING

TCP 0.0.0.0:80 0.0.0.0:0 LISTENING

TCP 0.0.0.0:135 0.0.0.0:0 LISTENING

TCP 0.0.0.0:445 0.0.0.0:0 LISTENING

TCP 0.0.0.0:1025 0.0.0.0:0 LISTENING

TCP 0.0.0.0:1026 0.0.0.0:0 LISTENING

TCP 0.0.0.0:1035 0.0.0.0:0 LISTENING

TCP 0.0.0.0:1080 0.0.0.0:0 LISTENING

TCP 0.0.0.0:1139 0.0.0.0:0 LISTENING

TCP 0.0.0.0:1801 0.0.0.0:0 LISTENING

TCP 0.0.0.0:2103 0.0.0.0:0 LISTENING

TCP 0.0.0.0:2105 0.0.0.0:0 LISTENING

TCP 0.0.0.0:2107 0.0.0.0:0 LISTENING

TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING

TCP 10.201.70.68:139 0.0.0.0:0 LISTENING

TCP 10.201.70.68:3389 10.201.70.75:53370 ESTABLISHED

TCP 127.0.0.1:1142 0.0.0.0:0 LISTENING

TCP 127.0.0.1:1521 0.0.0.0:0 LISTENING

TCP 127.0.0.1:42424 0.0.0.0:0 LISTENING

UDP 0.0.0.0:445 *:*

UDP 0.0.0.0:1034 *:*

1521端口處於監聽狀態,但是從我本機還是無法Telnet服務器端口。

我試着telnet 1080端口,發現卻可以,唯一的區別就在於一個端口前是“0.0.0.0”,一個是“127.0.0.1”。爲了驗證,我又telnet 1035/1026都可以通。

但是爲什麼呢,是不是就因爲這個IP的原因呢,怎麼纔可以把這個“127.0.0.1”改爲“0.0.0.0”。

1521是Oracle監聽端口,問題估計還是出在監聽本身。

我打開另一臺也裝有Oracle且1521可以連接的機器,查看NETWORK\ADMIN\listener.ora文件,仔細對比兩個Oracle該文件的區別,發現正常的Oracle服務器上,listener.ora文件,如下這段HOST顯示的是機器名,而不能連接的是“localhost”。

LISTENER =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = lggsuper_pc)(PORT = 1521))

)

在服務器上查找listener.ora文件,我備份該文件後。

將文件內 HOST = localhost 改爲 HOST = 你的計算機名。重啓監聽服務。

檢查數據庫從數據庫服務器本機連接正常。telnet 127.0.0.1 1521 正常。 telnet IP 1521 正常。

然後再執行命令netstat -a –n查看,此時1521前面的IP已變爲“0.0.0.0”。

C:\Documents and Settings\Administrator>netstat -a -n

Active Connections

Proto Local Address Foreign Address State

TCP 0.0.0.0:23 0.0.0.0:0 LISTENING

TCP 0.0.0.0:80 0.0.0.0:0 LISTENING

TCP 0.0.0.0:135 0.0.0.0:0 LISTENING

TCP 0.0.0.0:445 0.0.0.0:0 LISTENING

TCP 0.0.0.0:1025 0.0.0.0:0 LISTENING

TCP 0.0.0.0:1026 0.0.0.0:0 LISTENING

TCP 0.0.0.0:1035 0.0.0.0:0 LISTENING

TCP 0.0.0.0:1080 0.0.0.0:0 LISTENING

TCP 0.0.0.0:1317 0.0.0.0:0 LISTENING

TCP 0.0.0.0:1521 0.0.0.0:0 LISTENING

TCP 0.0.0.0:1801 0.0.0.0:0 LISTENING

TCP 0.0.0.0:2103 0.0.0.0:0 LISTENING

TCP 10.201.70.68:139 0.0.0.0:0 LISTENING

TCP 127.0.0.1:1324 127.0.0.1:1521 TIME_WAIT

TCP 127.0.0.1:42424 0.0.0.0:0 LISTENING

UDP 0.0.0.0:445 *:*

UDP 0.0.0.0:1034 *:*

UDP 0.0.0.0:1044 *:*

看來成功的概率很高,然後我通過我電腦telnet Oracle服務器1521端口,果然成功。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章