无法部署SHIR,如何将ADF连接至Azure Linux VM上的Oracle数据库?
ADF连接带私有IP的Linux VM上Oracle的替代方案
可行的连接方案
启用VNet集成的Azure托管集成运行时
不用依赖自托管IR,直接给Azure托管IR开启VNet集成,让它接入Oracle VM所在的私有网络。配置时选择对应VNet和子网,确保子网有足够空闲IP,同时给VM的NSG添加入站规则,允许托管IR所在子网访问Oracle默认端口1521(或你实际使用的端口)。Azure Private Link 方案
给Oracle服务配置Private Endpoint,把Oracle的访问端点映射到私有VNet内。ADF的托管IR就能通过这个私有端点访问Oracle,全程不走公网,也不需要自托管IR。如果是VM上的Oracle,需要先通过Azure Private Link Service把VM的Oracle服务发布出去,再创建对应的Private Endpoint供ADF使用。在Linux VM上部署自托管集成运行时
别被旧认知限制了,现在自托管IR已经支持Linux系统。你可以直接在目标Oracle VM(或同VNet内的其他Linux VM)上部署SHIR,注册到你的ADF实例后,就能直接访问私有IP的Oracle。部署时用Linux包管理器安装即可,步骤和Windows版本类似,只是安装命令不同。
关于[08001] Connection refused错误的排查方向
- 网络连通性问题:检查ADF的IR(不管是托管还是自托管)和Oracle VM之间的网络是否打通。比如NSG规则是否放行对应端口,VNet peering(如果有)是否配置正确,路由表有没有阻断流量。
- Oracle监听配置:登录Linux VM,检查
listener.ora是否监听了VM的私有IP(而不是只监听localhost),tnsnames.ora里的服务名、端口是否和实际一致。可以用lsnrctl status命令查看监听状态。 - Linux本地防火墙:检查VM上的iptables或firewalld是否放行
1521端口,比如执行firewall-cmd --list-ports确认端口已开放,没开放的话用firewall-cmd --add-port=1521/tcp --permanent添加规则再重启防火墙。
内容的提问来源于stack exchange,提问作者Aamir
相关产品推荐
相关产品推荐

