测试虚拟机中的oracle数据库,虚拟机中访问主机上的Oracle数据库

####背景:主机上有Oracle数据库,在虚拟机中的Ubuntu上部署项目练手,发现虚拟机、主机能互相ping通但是Oracle数据库却连接不上。

####一、问题排查

1.在虚拟机中ping主机:

f476328306e4190b340341f38a4ea5f7.png

能ping通。

主机ping虚拟机同样没问题。

2.端口

再看一下端口,主机上Oracle数据库的监听端口是1521,这也是Oracle数据库默认的端口,如果你安装Oracle数据库时没有进行自己的设置,那么你的监听端口也应该是1521,在虚拟机中telnet一下主机的这个端口看看是否能访问到:

ab63f0d1eddf26223cd90494818157d1.png

看了下主机的防火墙已经关掉,并且telnet 8080端口是成功的,说明是oracle的监听程序的问题。

####二、修改Oracle数据库监听服务配置

1.配置文件的位置

要先找到Oracle数据库的监听服务的配置文件的位置,无论是哪个Oracle数据库版本,配置文件都叫:listener.ora 。

接下来就找到它,我的版本是Oracle 11g,这是详细的安装路径:

f8b2bf15af5078b0a18c7c30fe75a688.png

这是配置文件的路径:

7d26f7cac0fb445656ce6bcc6999efb4.png

其他教程上的此文件的路径并不是那么的准确,导致我找了好久,这个路径是要根据安装Oracle数据库的方式、版本、设置的路径去寻找。实在不行就全局搜索配置文件名。

2.修改配置文件

打开配置文件,里面应该有两大段,下面的LISTENER部分就是配置监听的部分,将原本的(HOST = localhost)改为(HOST = 0.0.0.0)即可。

4adfb749322d6a86f64b3b5c08f1ec88.png

####三、重启服务

1.修改完监听配置文件之后需要重启Oracle服务和监听

开始–运行–services.msc

2734b6e712cdbf6c4e7d0e4d2525ec67.png

2.找到服务:OracleOraDb11g_home1TNSListener 与 OracleServiceORCL

ea47eec556779c7015a8624e333710d0.png

3.把两个服务启动即可

右键->重新启动

####四、测试

35281ce53f2757be321ec9c274b7cc36.png

成功,之后启动项目也成功启动

这和虚拟机上的ubuntu并没有关系,而是和本机上的Oracle数据库的监听配置有关系,即使虚拟机上是其他操作系统,采用本教程的方法也可解决此问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值