虚拟机安装oracle docker后外部windows navicat无法连接oracle问题

先说结论

在ubuntu18的虚拟机中安装了oracle docker, 做了1521端口映射,虚拟机A的ip是192.168.80.6, oracle容器B的ip是172.17.0.2但是在windows navicat测试连接oracle一直超时
测试:

在虚拟机A中 telnet localhost 1521 成功
在虚拟机A中 telnet 192.168.80.6 1521 失败
在虚拟机A中 telnet 172.17.0.2 1521 失败

排查半天,
发现虚拟机与docker 互相ping都是失败
是虚拟机的docker网络问题,配置docker网络后连接成功

步骤

在虚拟机中查看网络 ip addr
发现docker0网络为

3: docker0: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:a1:f4:fe:28 brd ff:ff:ff:ff:ff:ff

执行

# 修改daemon.json中的配置,没有这个文件就创建一个,内容如下
> cat /etc/docker/daemon.json
{
  "bip": "8.8.8.8/24",           
  "default-address-pools": [
          {"base": "172.17.1.0/24", "size": 24}
  ]
}

# 重启服务
> systemctl restart docker.service 

# 新建网络
> docker network create my_net

完毕
然后测试连接成功
在这里插入图片描述


下面记录一下oracle配置文件

oracle配置文件

listener.ora

# listener.ora Network Configuration File: /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = /home/oracle/app/oracle

tnsnames.ora

# tnsnames.ora Network Configuration File: /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

LISTENER_HELOWIN =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))


HELOWIN =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = helowin)
    )
  )


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值