首页 > 数据库技术 > 详细

解决sql plus能连接上本地库但用pl/sql developer却连接不上的问题

时间:2015-06-27 02:04:38      阅读:443      评论:0      收藏:0      [点我收藏+]

【吐个槽先】:oracle的维护真是老大难的问题!于我而言bubuko.com,布布扣

?

今天用PL/SQL Developer启动本地库时,报错ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务。。想着自己之前也遇过类似问题,并且在本分类里面有过解决方案。但是尝试用sql plus连接本地库时,发现竟然能成功。。——觉得特诡异。

?

网上寻找解决办法,首选是在无登录状态下修改:Tools->preference,如图:



bubuko.com,布布扣
?
?

之前红色区域的两个确实都是空白未指定的,故而指定。。

?

【注:】我之前指定OCI Library的时候是指定另外一个oacle相应的oci.dll——我发现自己装了2个oracle。。重启监听服务之后,再重启developer出现:

?err?while?trying?to?retrieve?text?for?error?ora-12514
之后我查看环境变量,发现Path里面根本指定的是我现在如图所示Oracle对应的oci.dll(一般而言,会有一个下拉的供你选择,选那个就ok了。。)——即:在你装了多个oracle的情形下,该pl/sql developer指向的是哪个oracle示例要搞清楚!
一定要和环境变量里面对应的Oracle对应上,否则就会报错?err?while?trying?to?retrieve?text?for?error?ora-12514
之后,又看tnsnames.ora有没有少这一行:LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521));发现没有。
重点来了,还需检查与tnsnames.ora同目录下的listener.ora文件,发现是这样的:
SID_LIST_LISTENER =
? (SID_LIST =
? ? (SID_DESC =
? ? ? (SID_NAME = CLRExtProc)
? ? ? (ORACLE_HOME = e:\app\Connor\product\11.2.0\dbhome_1)
? ? ? (PROGRAM = extproc)
? ? ? (ENVS = "EXTPROC_DLLS=ONLY:e:\app\Connor\product\11.2.0\dbhome_1\bin\oraclr11.dll")
? ? )
? )
?
LISTENER =
? (DESCRIPTION_LIST =
? ? (DESCRIPTION =
? ? ? (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
? ? ? (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
? ? )
? )
?
ADR_BASE_LISTENER = e:\xxx\yyyy

少了东西,要在SID_LIST_LISTENER =里面加上:(SID_DESC = ? ? ?(GLOBAL_DBNAME = ORCL) ? ? ?(ORACLE_HOME = b:\orcl\product\11.2.0\dbhome_1) ? ? (SID_NAME = ORCL) ? ? ),于是就变成:

SID_LIST_LISTENER =

? (SID_LIST =

? ? (SID_DESC =

? ? ? (SID_NAME = CLRExtProc)

? ? ? (ORACLE_HOME = e:\app\Connor\product\11.2.0\dbhome_1)

? ? ? (PROGRAM = extproc)

? ? ? (ENVS = "EXTPROC_DLLS=ONLY:e:\app\Connor\product\11.2.0\dbhome_1\bin\oraclr11.dll")

? ? )

(SID_DESC = ? ? ?(GLOBAL_DBNAME = ORCL) ? ? ?(ORACLE_HOME = b:\orcl\product\11.2.0\dbhome_1) ? ? (SID_NAME = ORCL) ? ? )

?

? )

?

(首先获取这些文件的修改权限:右键->属性->安全->更改权限->编辑,否则无法保存!)

?

修改完毕,保存,重启相关监听服务。重启PL/SQL Developer,输入用户名密码,登陆成功,,OK,,大功告成!

?

--------------------------------------------

PS:出现这种情况并不一定就是我这样做,因为造成这个错可能由其他原因引起,只不过我记录下我的解决过程,说不定碰到同样问题的兄弟同样可以通过这种方式解决!

解决sql plus能连接上本地库但用pl/sql developer却连接不上的问题

原文:http://raising.iteye.com/blog/2222316

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!