虚拟Linux系统使用Windows系统oracle数据库

时间:2023-03-10 01:02:44
虚拟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)(PORT = 1521))
    )
  )

其中PC201701061306为本机的名称。

在window中尝试telnet 192.168.1.111 1521  连接成功。