You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle Database 23ai VM外部连接故障求助

排查局域网内Oracle VM端口转发连接失败的方案

1. 验证主机端口转发配置是否正确

  • 打开Oracle VM VirtualBox虚拟机设置,进入「网络」选项卡,确认端口转发规则:
    • 协议设为TCP(Oracle数据库默认使用TCP协议)
    • 主机IP留空(监听所有网卡)或指定主机的局域网IP,主机端口设为1521
    • 子系统IP填写虚拟机的实际局域网IP(不可用127.0.0.1),子系统端口设为1521
  • 提示:若虚拟机使用桥接网络,可直接用虚拟机IP连接,无需配置端口转发。

2. 测试主机自身能否连通虚拟机端口

在主机上执行以下命令测试连通性:

# Windows命令提示符
telnet localhost 1521

# PowerShell
Test-NetConnection localhost -Port 1521

# Linux/macOS
nc -zv localhost 1521

若连接失败,排查虚拟机侧问题:

  • 登录虚拟机,执行lsnrctl status检查Oracle监听状态,确保监听在0.0.0.0:1521或虚拟机IP上正常启动
  • 临时关闭虚拟机防火墙测试:Linux执行systemctl stop firewalld,Windows在防火墙设置中放行1521端口

3. 确认客户端与主机的局域网可达性

从客户端机器ping主机的局域网IP,若ping不通:

  • 检查主机防火墙是否拦截ICMP请求,同时确认客户端与主机在同一局域网段
  • 关闭主机的VPN或代理服务,避免路由异常

4. 检查主机防火墙是否放行1521端口

  • Windows:打开「Windows Defender防火墙高级设置」→「入站规则」,确保存在允许TCP 1521端口的规则,且应用范围包含专用网络
  • Linux:执行firewall-cmd --list-ports查看是否有1521/tcp,无则添加规则:
    firewall-cmd --add-port=1521/tcp --permanent
    firewall-cmd --reload
    

5. 修正客户端连接字符串

客户端连接需指向主机的局域网IP,而非127.0.0.1,示例:

# 使用服务名连接
sqlplus username/password@//主机局域网IP:1521/ORCL

# 使用SID连接
sqlplus username/password@主机局域网IP:1521:SID

注意区分Oracle的服务名与SID,避免格式错误。

6. 切换虚拟机网络模式测试

若NAT模式下端口转发仍异常,切换为桥接模式:

  • 虚拟机设置→网络→选择「桥接适配器」,虚拟机将获取局域网独立IP
  • 客户端直接用虚拟机的局域网IP:1521连接,排除端口转发规则问题

内容的提问来源于stack exchange,提问作者Bob Roth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 07:30:59