Oracle 数据库的网络连接绕不开一个词:TNS 协议。你写前端不太碰数据库底层,但在企业系统里,一套配置错了,API 求直接超时。TNS 就像中间的翻译官,搞定了服务器和客户端之间的通信细节,配置一次,后面全靠它稳稳接力。

TNSnames.ora的配置也挺,就一段结构清晰的文本,比如:

MYDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = server.example.com)(PORT = 1521))
    (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = mydb))
  )

HOSTPORTSERVICE_NAME这些基本参数你配过一次就熟了。而且支持多服务配置,主备自动切换,断线还能重连,还是挺贴心的。

日常踩坑最多的就是监听器没启动、文件路径错了,或者写了个HOST = localhost,结果部署线上炸了。建议你开发联调前,确认下listener服务状态,顺便瞄一眼配置文件路径。

如果你对协议底层有兴趣,下面这几个资源可以深入看看,有源码的也有配置技巧

如果你写的是前后端联调的企业应用,遇到连接报错,八成跟TNS 配置有关。懂点原理,真能省不少时间。