TNS配置时域名填什么才对,怎么正确设置?

连接远程Oracle数据库时,tnsnames.ora中的域名应填写数据库所在服务器的主机名或IP地址;连接本机数据库则填localhost或127.0.0.1。

很多初学者在配置tnsnames.ora文件时,卡在最基本的问题上:这里到底填什么?填错了连不上,填对了也不知道为什么对,本文直接拆解这个问题的核心,按场景给出明确答案。

配置网络IP使用FinalShell连接
加载中
配置网络IP使用FinalShell连接

区分连接场景:本地数据库与远程数据库

tns配置时域名填什么,首先取决于你连的是哪台机器上的Oracle,混淆这两个场景是报错的头号原因。

连接本地数据库:填localhost

如果你的Oracle就装在当前这台电脑上,tnsnames.ora中的HOST字段填localhost或127.0.0.1就够了。

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

这是最常见的单机开发环境配置,localhost是回环地址的别名,走的是本机网络栈,不经过网卡物理链路,速度快且不受防火墙拦截。

连接远程数据库:填服务器IP或主机名

连接局域网内其他机器或云服务器上的Oracle时,HOST字段填入对方机器的IP地址或可解析的主机名。

REMOTE_DB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orclpdb1)
    )
  )

这里的192.168.1.100是数据库服务器的内网IP,如果数据库部署在云端(如简米云、酷番云),则填公网IP或云服务商提供的DNS域名。

域名、IP与主机名:tnsnames.ora域名怎么填不踩坑

三种填法各自适用的情况

  • IP地址:最直接,不依赖DNS解析,适用于IP固定不变的服务器,大多数企业内部静态分配IP,直接填IP最稳妥。
  • 主机名:适用于有内网DNS服务的环境,填主机名比填IP灵活服务器IP变更时只要改DNS记录,客户端配置不用动。
  • 完整域名(FQDN):形如db-server.example.com,用于跨网段访问,或数据库位于云厂商托管环境时,云平台提供的连接串有时就是这种格式。

判断主机名能否使用的技巧

在客户端机器上打开命令行,执行:

ping db-server

能返回IP地址,说明主机名可解析,tnsnames.ora域名怎么填就可以直接填这个主机名,如果ping不通,检查是否在同一网段、是否开了ICMP协议(很多云服务器默认禁ping),改用IP地址作为替代方案。

TNS配置时域名填什么才对,怎么正确设置?

云数据库场景的特殊处理

不少云数据库(如简米云RDS、酷番云TDSQL)在控制台给出的连接地址本身就是域名形式,比如rm-xxxxxx.mysql.rds.aliyuncs.com(Oracle版也类似),这类地址是云厂商的负载均衡网关,不是具体的物理服务器。

这种情况下HOST字段必须原样填这个域名,不能擅自解析成IP填进去,因为云数据库底层是多节点集群,IP是动态漂移的,填IP反而会连不上。

配置Oracle监听时服务名与域名的关系

SERVICE_NAME不是域名

容易混淆的地方在于,新手常把SERVICE_NAME当成域名,SERVICE_NAME是数据库服务的逻辑名称,它由数据库的db_name和db_domain拼接而成,比如db_domain设为example.com,db_name为orcl,则SERVICE_NAME为orcl.example.com。

但这是数据库内部的服务命名,与tnsnames.ora中HOST字段的域名是两码事,HOST负责网络路由,SERVICE_NAME负责日志服务匹配,二者不能互相替代。

listener.ora与tnsnames.ora的配合

服务器端监听器listener.ora定义了监听端口和目标数据库,tnsnames.ora是客户端的连接描述,连接流程是:

  1. 客户端根据HOST和PORT找到服务器的监听进程
  2. 监听进程根据SERVICE_NAME匹配到对应的数据库实例

所以HOST填对了,SERVICE_NAME填错,报错是ORA-12514(监听程序无法识别服务);SERVICE_NAME填对而HOST填错,报错是ORA-12541(无法连接监听)或ORA-12545(连接失败)。

表格式对比这两种报错的区别:

报错码 含义 原因 检查方向
ORA-12514 监听未识别服务 SERVICE_NAME错误 tnsnames.ora和listener.ora的服务名
ORA-12541 无法连接监听 HOST或PORT错误 防火墙、监听状态、IP可达性
ORA-12545 连接失败 主机不可达或网络问题 ping测试、路由、安全组规则

tns配置数据库连接失败怎么办:排查路径

第一步:确认监听状态

在数据库服务器上执行:

lsnrctl status

如果显示准备接受请求,说明监听正常,如果监听未启动,执行:

TNS配置时域名填什么才对,怎么正确设置?

lsnrctl start

第二步:用tnsping验证tnsnames.ora配置

在客户端执行:

tnsping ORCL

tnsping结果会显示尝试连接的IP和端口,如果显示OK,说明网络层和域名/IP配置正确,若显示FAILED,问题出在HOST的IP不可达、端口被防火墙拦截,或监听未启动。

第三步:测试端口连通性

telnet 192.168.1.100 1521

连不上时,按顺序排查:

  • 服务器防火墙是否放行1521端口(Linux用firewall-cmd或iptables,Windows查看入站规则)
  • 云服务器安全组是否添加了1521端口的入方向规则
  • 双网卡服务器是否存在多IP绑定问题,监听是否绑定到了正确的网卡地址

第四步:检查sqlnet.ora的域名解析顺序

客户端sqlnet.ora文件中有一条参数:

NAMES.DIRECTORY_PATH = (TNSNAMES, EZCONNECT, LDAP)

这决定了服务名解析的优先顺序,常规情况下TNSNAMES排在第一位,意味着先查本地的tnsnames.ora文件,如果配置了LDAP目录服务且排前头,可能绕过本地配置导致tnsnames.ora域名怎么填都无效。

tnsnames.ora中经常被忽视的参数

PORT不是固定1521

大多数Oracle默认监听端口是1521,但不少DBA出于安全考虑改成非标准端口,比如1522、1526等,甚至一个监听器上绑定多个端口,配置前询问数据库管理员实际端口,不要想当然填1521。

多个监听地址的写法

生产环境的高可用架构中,数据库可能同时有两个监听地址,tnsnames.ora支持并列多个ADDRESS:

PROD_DB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.10)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.11)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = prod_service)
    )
  )

客户端会依次尝试,第一个地址不通时自动切换第二个,配置这种模式时,HOST字段允许填多个不同IP,这也是tnsnames.ora域名填IP时的进阶用法。

常见Oracle数据库tns配置错误汇总

TNS配置时域名填什么才对,怎么正确设置?

错误类型 现象 修正方法
localhost被解析成IPv6 本机连接报连接拒绝 把localhost换成127.0.0.1
服务器名带下划线 解析异常 删除下划线或用IP替代
域名末尾多了空格 tnsping超时 编辑tnsnames.ora后保存为无BOM的UTF-8
服务器绑定了多个IP 外网访问不通 监听配置指定具体IP或用动态注册
云数据库域名解析慢 连接超时 检查本地DNS设置,改用云厂商建议的DNS服务器

localhost被解析成IPv6”值得展开说说,部分系统(尤其较新版本的Windows和Linux)在hosts配置存在时,localhost优先解析为::1,如果Oracle监听只绑定在了IPv4地址上,连接就会失败,此时在tnsnames.ora中直接写成:

HOST = 127.0.0.1

是最快的解决办法。

tns配置时域名相关问题和答案

问:tnsnames.ora中的HOST填主机名和IP地址有什么区别?

填IP地址省去了DNS解析环节,直接发起TCP连接,故障点少一个,适用于IP长期不变的服务器,填主机名则多了一层解析,好处是服务器IP变更后只需要改DNS记录,客户端配置文件无需修改,行业共识认为:内网环境且IP稳定时优选IP,存在IP变更预期的环境优选主机名。

问:连接云数据库时tns配置域名填什么?

填云厂商在控制台提供的数据库连接地址,这类地址一般是形如gp-xxxxxx.gpdb.rds.aliyuncs.com的域名,云数据库的底层架构是集群,公网连接经由负载均衡转发,该域名的IP可能随时变化,因此必须完整填写域名,同时把sqlnet.ora的NAMES.DIRECTORY_PATH配置中把LDAP放在靠后位置,或者不使用ORA格式连接串改用EZCONNECT简写格式。

问:tnsnames.ora中SERVICE_NAME和SID有什么区别?

SID是Oracle实例的唯一标识,通常对应一个进程和内存结构,SERVICE_NAME是数据库对外提供的服务逻辑名,一个实例可以注册多个服务名,一个服务名也可以对应多个实例(RAC集群),在tnsnames.ora中两者写法类似:

(CONNECT_DATA = (SID = orcl))     -- 传统写法
(CONNECT_DATA = (SERVICE_NAME = orcl))   -- 推荐写法

自Oracle 8i后的版本都推荐使用SERVICE_NAME,RAC环境中用SERVICE_NAME可以自动负载均衡,用SID则只连接固定实例。


tnsnames.ora中HOST字段的填写没有固定公式,唯一的标准是“能解析、能到达、能匹配”,本地填localhost,远程填IP或主机名,云上填平台域名,改完配置后用tnsping验证,看到OK就踏踏实实继续往下走。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/629363.html

赞 (0)
VMware虚拟机部署RAC共享存储怎么配最稳?,RAC数据库性能优化
上一篇 2026年9月7日 02:56
虚拟机装操作系统步骤真的复杂吗,新手怎么快速安装系统?
下一篇 2026年9月7日 02:57

相关推荐

  • 服务器如何控制网络流量,企业服务器流量管理方法

    服务器高效控制网络流量是保障业务连续性与数据安全的核心防线,其本质在于通过精准的策略调度与智能分析,实现带宽资源的最大化利用与恶意流量的有效清洗,企业若忽视流量管控,将面临网络拥塞、服务不可用乃至DDoS攻击导致的数据泄露风险,构建一套成熟的服务器流量管控体系,必须从架构设计、策略部署、实时监控到应急响应进行全……

    2026年3月12日
    11600
  • 服务器应用迁移怎么做,服务器应用迁移方案详解

    服务器应用迁移是一项高风险与高收益并存的系统工程,其核心成功要素并非单纯的技术实现,而在于构建严密的业务连续性保障体系与数据完整性校验机制,成功的迁移必须在保障业务零中断或最小化中断的前提下,实现数据的精准同步与系统的平滑过渡,任何忽视回滚方案或应急预案的操作都可能导致不可挽回的业务损失,迁移的本质是业务逻辑的……

    2026年4月5日
    9200
  • 服务器库存管理系统怎么选?服务器资产盘点工具推荐

    高效的服务器资产管理是企业数据中心稳定运行与成本控制的基石,而部署专业的服务器库存管理系统,是实现资产全生命周期可视化、自动化运维与合规性管理的核心策略,在数字化转型的浪潮中,服务器数量呈指数级增长,传统的电子表格或人工盘点模式已无法满足高并发、高可用的业务需求,唯有通过数字化、智能化的管理手段,才能彻底解决资……

    2026年3月31日
    10000
  • 超算服务器都有哪些类型,超算服务器配置要求高吗

    超算的服务器按架构主要分为集群型、向量型、刀片型和GPU加速型四大类,其中集群型是当前超算中心的主流形态,而云化超算租用服务正成为中小团队获取算力的热门替代,从“单打独斗”到“万人操戈”——集群型服务器集群型服务器是目前超算的绝对主力, 它把成百上千台普通服务器用高速网络“拧成一股绳”,共同完成单个计算任务,每……

    2026年9月14日
    200
  • 游戏服务器都有哪些类型,怎么选性价比才高?

    游戏服务器的类型划分,按部署模式可分为物理独享服务器、云服务器和混合边缘计算节点三类;按游戏类型则对应MMO大世界、竞技对战、休闲H5等不同硬件方案,选型时先看并发架构,再定硬件配置,最后比服务商的资质与网络质量,游戏服务器不像普通网站主机,它承载的是实时交互、状态同步和玩家数据的一致性,选错类型,轻则高峰期卡……

    2026年9月11日
    500
  • 域名费用申请流程复杂吗?,需要哪些材料?

    域名费用申请流程并不复杂,大部分情况下10-20分钟就能完成全部操作,核心材料仅需身份证明和联系方式,企业用户额外准备营业执照即可, 整个流程从选域名到解析生效,通常不超过24小时(据工信部规定需完成实名核验),下面把流程拆开揉碎讲清楚,域名费用申请流程复杂吗:一步步拆给你看很多人被“申请”二字吓住,以为要填一……

    2026年9月5日
    200
  • Python tagging怎么用?,有哪些教程?

    Python tagging是自然语言处理中的基础任务,选择合适的库和框架能大幅提升项目开发效率,本文从实战角度对比主流方案,并给出具体实现步骤,python词性标注哪个库好?主流方案对比你可能会在NLTK、spaCy和jieba之间犹豫不决,这三个库各有侧重,匹配不同的使用场景,下面从性能、准确率和上手难度三……

    2026年7月21日
    900
  • 如何使用FTP备份网站数据,网站FTP备份怎么下载到本地?

    FTP备份网站是通过文件传输协议将网站的源代码、配置文件及静态资源从生产服务器迁移至远程存储服务器,以实现数据冗余和灾难恢复的核心手段,如何使用FTP备份网站数据在实际操作中,FTP备份并非简单的文件复制,而是一个涉及环境配置、权限校验和传输验证的系统工程,业内专家指出,一个完整的备份流程必须包含压缩、传输和校……

    2026年7月14日
    800
  • 东京进口服务器有哪些选择,哪家性价比高?

    东京进口服务器,其实质是位于日本东京机房的服务器租用服务,目前主流选择集中在简米科技(持牌自营机房)与酷番云(工信部全牌照)这两类具备正规资质的IDC服务商中,核心差异在于网络线路优化、硬件配置和合规资质,什么是东京进口服务器所谓“东京进口服务器”,并非指物理设备从日本进口,而是指服务器部署在东京的第三方数据中……

    2026年9月22日
    100
  • 服务器机房湿度多少合适?最佳控制方法全解析

    精密环境的隐形守护者与潜在破坏者服务器机房内,湿度失衡是潜伏的威胁,湿度过低,静电累积可瞬间击穿精密电路;湿度过高,冷凝水如同慢性毒药腐蚀设备、诱发短路,精准的湿度控制(通常维持在 40% 至 60% 相对湿度范围内)是保障服务器持续、稳定、安全运行的绝对必要条件,其重要性丝毫不亚于温度管理,湿度失衡:服务器机……

    2026年2月12日
    13130

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注