问题描述:
(1)关于TNSPING的通数据库,返回正常值。
(2)使用sqlplus或者plsql连接出现如下报错。
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
为什么会出现这个问题?
首先明白一下TNSPING的功能:
Oracle Net工具(命令)tnsping,是一个OSI会话层的工具,它用来:
(1)验证名字解析(name resolution,当然是oracle自己的网络服务名)
(2)远程的listener是否启动(配端口号,一般默认是1521)。
也就是TNSPING解析的是网络服务名不是SERVICE_NAME,即不匹配SERVICE_NAME的正确与否。
更改配置文件tnsnames.ora的SERVICE_NAME即可。
ORADB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.253.12)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = oradb)
)
)
注意事宜:
tnsnames.ora文件配置要求比较严格,空格、小数点等都有可能造成无法解析,建议粘贴配置。
确认服务器的listener的端口为1521,避免服务器开启的端口与配置不一样。
报错演示:
C:\Documents and Settings\Administrator>sqlplus system@oradb
SQL*Plus: Release 11.1.0.6.0 - Production on 星期五 10月 28 17:29:55 2011
Copyright (c) 1982, 2007, Oracle. All rights reserved.
输入口令:
ERROR:
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
(1)关于TNSPING的通数据库,返回正常值。
(2)使用sqlplus或者plsql连接出现如下报错。
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
为什么会出现这个问题?
首先明白一下TNSPING的功能:
Oracle Net工具(命令)tnsping,是一个OSI会话层的工具,它用来:
(1)验证名字解析(name resolution,当然是oracle自己的网络服务名)
(2)远程的listener是否启动(配端口号,一般默认是1521)。
也就是TNSPING解析的是网络服务名不是SERVICE_NAME,即不匹配SERVICE_NAME的正确与否。
更改配置文件tnsnames.ora的SERVICE_NAME即可。
ORADB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.253.12)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = oradb)
)
)
注意事宜:
tnsnames.ora文件配置要求比较严格,空格、小数点等都有可能造成无法解析,建议粘贴配置。
确认服务器的listener的端口为1521,避免服务器开启的端口与配置不一样。
报错演示:
C:\Documents and Settings\Administrator>sqlplus system@oradb
SQL*Plus: Release 11.1.0.6.0 - Production on 星期五 10月 28 17:29:55 2011
Copyright (c) 1982, 2007, Oracle. All rights reserved.
输入口令:
ERROR:
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24070945/viewspace-709862/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24070945/viewspace-709862/