• 虚拟机无法访问宿主机oracle数据库


    很久没打开本地的linux虚拟机,发现之前运行没问题的程序出问题了:连接不上oracle数据库。数据库是装在宿主机上的,在宿主机本地登录没有问题。
    排查了虚拟机网络和防火墙,都没有问题。最后发现在宿主机本地127.0.0.1 1521端口是通的,但是用局域网ip+端口的方式不通。通过以下方式成功解决问题。

    1.修改配置

    (1)打开Windows上Oracle Net Manager应用
    在这里插入图片描述
    (2)配置listener
    在这里插入图片描述
    这里地址2配置了tcp/ip模式,其实监听ip为127.0.0.1,监听端口为1521
    也就是,客户端访问数据库时,需要连接的ip端口。
    (3)保存修改
    在这里插入图片描述
    (4)通过配置文件修改配置
    lsnrctl监听器命令,lsnrctl可以调出监听器状态,这里可以看到监听器配置文件的位置:
    在这里插入图片描述
    通过修改配置文件,可以达到通过windows oracle net manager修改配置一样的效果。

    2.重启监听器服务

    (1)关闭监听器:
    lsnrctl stop
    在这里插入图片描述
    (2)启动监听器命令为:
    lsnrctl start
    在这里插入图片描述
    **注意:**不关闭监听器,直接执行lsnrctl stop,起不到重启的效果。

    3.重启oracle网络服务

    net start OracleServiceORCL
    在这里插入图片描述

    4.配置效果

    (1)配置为127.0.0.1跟localhost是一样的效果,只有本机能通过127.0.0.1访问到数据库,通过ip地址无法访问数据库,并且1521端口不通。我一开始遇到的问题就是这么配置的;
    (2)配置具体ip,可以实现通过具体ip访问数据库,可以解决我的问题;
    (3)对于机器的IP是随机ip的情况,显然第二种配置无法满足要求,这时候应该配置IP为主机名。用这种方式成功又方便地解决问题。

  • 相关阅读:
    qml之动态元素类型
    leetCode 70.爬楼梯 动态规划
    npx 初始化 React 项目 踩坑记录
    网页设计期末作业,基于HTML+CSS+JavaScript超酷超炫的汽车类企业网站(6页)
    Shiro 01(shiro框架入门)
    WPF Image控件鼠标双击事件的实现
    Lua使用三目运算符取值
    中国密码算法与NIST标准对比
    CG MAGIC进行实体渲染后!分析渲染器CR和VR的区别之处!
    .NET高性能开发-位图索引(一)
  • 原文地址:https://blog.csdn.net/weixin_42119324/article/details/125421127