当前位置: 代码迷 >> Oracle管理 >> Oracle 虚拟机中系统访问有关问题
  详细解决方案

Oracle 虚拟机中系统访问有关问题

热度:460   发布时间:2016-04-24 04:04:39.0
Oracle 虚拟机中系统访问问题。
我的主机是win7 64位操作系统,里面安装了64位的数据库,客户端啊什么的都安装好了,plsql也可以连接上去。我在我的电脑里安装了Vbox虚拟机,虚拟机中有安装了xp操作系统,我在xp中安装了plsql和oracle的客户端,但是在虚拟机xp中的连接win7上的数据库就一直连接超时之类的。具体如图显示。


开始我觉得是网络问题,于是我在物理机上启动了一个tomcat,在虚拟机中启动浏览器。然后用主机的ip地址去访问这个tomcat,是可以访问成功的(具体如上图)。所以我想应该不是网络问题,是不是oracle的1521的端口没有开。
同时我也确定我的plsql和客户端没有问题,因为可以从虚拟机中的plsql链接到公司的数据库,唯独链接我win7本机的数据库有问题。同时我也发现了一个有趣的现象,我在本机telnet时,用ip地址telnet 1521端口不通,但是用127.0.0.1或者用localhost再加上1521时可以telnet通 如图所示。。虚拟机中能ping通192.168.207.116的地址,能telnet192.168.207.116 8080通地址,但是不能telnet192.168.207.116 1521地址。


要如何才能使虚拟机中的plsql链接到物理机中的数据库?还有,telnet和ping是怎么回事呢?
------解决思路----------------------
首先楼主查看下是否是防火墙问题。如果排除防火墙的问题,那么基本上就是楼主本机监听设置问题,把监听地址改成你主机的IP或者主机名,把localhost或者127.0.01替换掉就可以。
------解决思路----------------------
将主机数据库监听端口换一个试试:

找一个能ping通且没有被占用的端口。修改主机中listener.ora中的端口号,重启监听;
然后在客户端的tnsnames.ora中对应修改端口号
再连接试试
------解决思路----------------------
楼主在本机打开一个cmd窗口运行lsnrctl status。
然后再虚拟机里面打开个cmd窗口  tnsping tns_name, 把tns_name换成你的数据库连接串。

然后贴图
------解决思路----------------------
原因找到了,你的监听设置的地址是127.0.0.1,只能本机访问数据库,虚拟机当然访问不了了。换个IP或者写主机名吧
------解决思路----------------------
把网络类型改成hsot-only,然后监听里写vbox安装的那块网卡的地址
  相关解决方案