我在ecs上安装oracle数据库后,远程无法连接,报错ora-12170,经过排查防火墙关闭了也不能访问,用户安全组也添加了1521的端口开放规则。tnanames.ora也应该没问题,我在服务器上sqlplus / as sysdba 访问都没问题。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
问题描述: 您在ECS实例上安装了Oracle数据库后,遇到远程连接失败的问题,报错信息为ora-12170。尽管您已经检查并确认防火墙已关闭、安全组规则中添加了对1521端口(Oracle默认端口)的开放,并且在服务器本地通过sqlplus / as sysdba能够成功访问数据库,但远程连接依旧无法建立。
原因分析与解决步骤:
网络配置验证:首先确保网络层面没有其他限制,比如ECS实例自身的网络设置或云服务商可能存在的网络策略。
监听状态检查:确认Oracle监听器是否正确配置并处于监听状态。
netstat -an | grep 1521
tcp 0 0 0.0.0.0:1521 0.0.0.0:* LISTEN的行,表示1521端口正在被监听,并且是全网监听而非仅限localhost。listener.ora),必要时重新启动监听服务。tnsnames.ora配置验证:虽然您提到tnsnames.ora可能没有问题,但请再次确认客户端使用的连接字符串与该文件中的条目完全匹配,无格式错误或拼写错误。
Oracle服务权限与配置:检查数据库是否配置允许远程连接,以及相关用户是否有远程访问权限。
listener.ora中是否配置了对远程连接的支持。TCP超时设置:错误ora-12170通常指示TCP连接超时,这可能是由于网络延迟或监听器配置不当导致。考虑调整监听器的超时设置或检查网络状况。
注意事项:
listener.log),可能会提供关于连接失败的具体原因。如果以上步骤均未能解决问题,建议进一步收集详细的错误日志信息,并联系阿里云技术支持获取更深入的帮助。您也可以通过ECS一键诊断全面排查并修复ECS问题。