You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

sqlplus用连接串报ORA-12154,如何正确配置sqlnet.ora与tnsnames.ora

ORA-12154 报错排查与配置指导

核心问题定位方向

  • 默认域名匹配冲突

你当前sqlnet.ora中配置了NAMES.DEFAULT_DOMAIN = world参数,Oracle解析TNS连接串时会自动给输入的连接标识符追加.world后缀。而你tnsnames.ora中配置的条目名为MYTNSENTRY,没有匹配后缀,系统实际查找的是MYTNSENTRY.world条目,自然无法找到。
修复方案二选一:

  1. 将tnsnames.ora中的条目名修改为MYTNSENTRY.world
  2. 在sqlnet.ora中给NAMES.DEFAULT_DOMAIN = world行开头加#注释掉该参数,无需默认域名适配时更推荐该方案
  • 配置文件路径不匹配

Windows环境下Oracle客户端按优先级读取TNS配置文件:优先读取%TNS_ADMIN%环境变量指向的目录下的sqlnet.ora、tnsnames.ora,无该环境变量时默认读取客户端安装目录下的network\admin文件夹。
可在cmd中执行tnsping MYTNSENTRY,输出第一行会明确显示当前读取的配置文件路径,确认你修改的文件和实际生效的文件为同一个。

  • tnsnames.ora格式错误

需检查tnsnames.ora的语法规范:

  1. 连接条目名称必须顶格写,前面不能有空格、缩进
  2. 层级括号必须正确对齐,不能存在全角空格、特殊字符、多余换行
  3. 整个DESCRIPTION块的括号必须完整闭合
    执行tnsping MYTNSENTRY也会直接提示配置文件的语法错误位置。
  • 命令拼写错误

你给出的第二条测试命令写为sqplus <userid>/<password>@<connectstring>,缺失了一个字母l,正确命令为sqlplus,如果实际执行时拼写错误也会触发异常。

内容的提问来源于stack exchange,提问作者12345

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 01:54:03