日期:2014-05-16  浏览次数:20407 次

ora-12514 tns 监听程序当前无法识别连接描述符中请求的服务


今天在连接oracle?11g的时候,碰到了一个问题。 Oracle安装在我的笔记本上,如果我用sqlplus直接连接的话(就是不使用数据库服务名/sid),连接是成功的。但是当我使用sqlplus scott/tiger@localhost:1521/orcl时,却报错了

ora-12514?tns?监听程序当前无法识别连接描述符中请求的服务

这个错表明我的listener没有办法识别我的数据库服务orcl是什么。在网上google了一下,找到以下解决办法,在监听程序中添加数据库服务监听,因为当你在安装数据库11g时程序不会默认帮你添加这项服务。

打开net manager>监听程序,找到你的监听程序(没有的话添加一个),在右边的下拉框选项里选择“数据库服务”,然后填写:全局数据库服务名orcl,oracle主目录,和sid。

还有就是你可以直接改写listener.ora文件,添加以下内容。
SID_LIST_LISTENER =
? (SID_LIST =
??? (SID_DESC =
????? (GLOBAL_DBNAME = orcl)
????? (ORACLE_HOME = F:\oracle\product\11.1.0\db_1)
????? (SID_NAME = orcl)
??? )
? )