案例
[Nest] 7696 - 2024/07/26 11:30:31 [TypeOrmModule] Unable to connect to the database. Retrying (3)… +8ms
Error: ORA-12170: TNS:Connect timeout occurred
今天遇到一个Oracle的报错Error: ORA-12170: TNS:Connect timeout occurred
,连接超时,项目是TS作为后端开发语言,使用的持久层框架是TypeORM。
分析原因:
- 网络问题
- 防火墙(端口)
我出现这个问题是因为开了vpn,关掉后再次运行项目就好了
小结
针对以上可能查阅资料,简单总结一下解决方式:
- 检查网络
ping ip地址
,如果ping不通的话,就是网络问题tnsping ip地址(或者服务器的实例名SID)
,如果报TNS-12535:操作超时
,可能是服务器端防火墙原因netstat -na
,查看对应端口是否关闭
- 防火墙问题
- 关闭防火墙:
chkconfig iptables off;
(重启失效),/etc/init.d/iptables stop;
(立即失效) - 执行
vim /etc/sysconfig/iptables
命令编辑防火墙配置,在默认的22端口下一行添加-A INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT
,保存配置文件,执行/etc/init.d/iptables restart
重启防火墙
- 关闭防火墙:
不过现在有很多可视化界面工具,操作起来也很方便,也不用一条条命令的排错。