虛擬Linux系統使用Windows系統oracle數據庫
前提:本地oracle數據庫能正常使用。
數據庫:oracle 11g
虛擬機:VMware_workstation_full_12.5.2
本機系統:Windows 7 旗艦版
虛擬機系統:openSUSE LINUX
網絡適配器 VMware Network Adapter VMnet8 的ip地址和虛擬機系統的ip地址在同一網段就可以相互ping通
VMnet8 ip:192.168.14.1
虛擬機ip:192.168.14.131
Windows ip:192.168.1.111
在windows中ping Linux系統192.168.14.131 可以ping通
在虛擬Linux中ping Windows系統192.168.1.111 也可以ping通
數據庫在Windows中可以正常使用,plsql能夠正常連接。
但是虛擬機中就是連不上window的oracle數據庫。
在Linux中嘗試telnet 192.168.1.111 1521 連接失敗
在window中嘗試telnet 192.168.1.111 1521 不能打開到主機的連接 在端口1521 。。。。
這裏初步判斷是防火墻的原因 使用命令查看netstat -a
發現了原因:這裏將連接限制為127.0.0.1 也就是本機連接 ,查資料發現監聽出錯,當監聽設置為localhost時就會出現這樣的情況
解決方法 : 只需要將監聽改為主機的名稱即可
找到oracle安裝目錄下H:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN 的 listener.ora文件
將
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
改為
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = PC201701061306
)
)
其中PC201701061306為本機的名稱。
在window中嘗試telnet 192.168.1.111 1521 連接成功。
虛擬Linux系統使用Windows系統oracle數據庫