从远程计算机连接到在VM(来宾计算机)上运行的Oracle数据库实例

我已经在Redhat linux(Guest OS)上的vmware播放器上运行了oracle数据库实例。 该虚拟机在Windows 7计算机(主机操作系统)上运行。 我能够连接到运行在vm上的数据库实例,使用在我的Windows7计算机上运行的SQL开发人员。

但是当我尝试从我的mac os连接到这个数据库实例时,运行在mac os上的sql开发者无法连接到这个数据库实例。

但是,我能从我的mac os ping我的windows7的IP地址,

我能够从mac电脑远程login我的windows7电脑的端口80。

但是我无法从mac os telnet 1521端口。

任何人都可以帮助我configuration我的macos和windows7计算机连接到在vmware播放器上运行的数据库实例。

在此先感谢您的帮助

编辑1:以下是从redhat linux virtulal机器实例的netstat -an | grep 1521的输出

[ora112@localhost ~]$ netstat -an|grep 1521 tcp 0 0 0.0.0.0:1521 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:1521 127.0.0.1:41677 ESTABLISHED tcp 0 0 127.0.0.1:41677 127.0.0.1:1521 ESTABLISHED unix 2 [ ACC ] STREAM LISTENING 17671 /var/tmp/.oracle/sEXTPROC1521 

以下输出是从Windows7电脑

 $ netstat -an|grep 1521 TCP 127.0.0.1:1521 0.0.0.0:0 LISTENING TCP [::1]:1521 [::]:0 LISTENING 

在Windows7电脑上的IPconfiguration

  Connection-specific DNS Suffix . : Link-local IPv6 Address . . . . . : fe80::94b0:30a1:5c95:2e75%12 IPv4 Address. . . . . . . . . . . : 192.168.1.23 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.1.1 

在macos电脑上的IPconfiguration

 en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ether e4:ce:8f:32:37:f6 inet6 fe80::e6ce:8fff:fe32:37f6%en1 prefixlen 64 scopeid 0x5 inet 192.168.1.19 netmask 0xffffff00 broadcast 192.168.1.255 media: autoselect status: active 

在我的VMware实例的IPconfiguration

 [ora112@localhost ~]$ /sbin/ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:C4:D3:5C inet addr:192.168.15.133 Bcast:192.168.15.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1938 errors:0 dropped:0 overruns:0 frame:0 TX packets:1222 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:219505 (214.3 KiB) TX bytes:163937 (160.0 KiB) 

检查您在客人中使用的networkingconfiguration。 您可能更愿意使用桥接模式来获取来宾的IP地址。

检查客户端上的防火墙是否阻塞,以及Oracle侦听器确保将其绑定到IP地址。

我假设你的问题是你正在使用一个内部networking(hostonly或其他类似的东西)在你的Windows7电脑上,例如一个192.168.56.0/24子网,而你正常的本地子网是192.168.178.0/24。

所以你需要做的是在windows7 pc上为这个特定的端口实现一个stream量redirect/转发到vm到你的数据库实例。 在没有任何工具比如netfilter / iptables存在的情况下,在windows上这样做似乎对我来说是相当困难的工作。 我唯一的想法是用netsh试试你的运气,但事情变得更糟的可能性很大。

更简单的方法是桥接一个现有的networking接口(也许你在windows7上有多个接口?)。