【吐个槽先】:oracle的维护真是老大难的问题!于我而言
今天用PL/SQL Developer启动本地库时,报错ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务。。想着自己之前也遇过类似问题,并且在本分类里面有过解决方案。但是尝试用sql plus连接本地库时,发现竟然能成功。。——觉得特诡异。
网上寻找解决办法,首选是在无登录状态下修改:Tools->preference,如图:
之前红色区域的两个确实都是空白未指定的,故而指定。。
【注:】我之前指定OCI Library的时候是指定另外一个oacle相应的oci.dll——我发现自己装了2个oracle。。重启监听服务之后,再重启developer出现:
少了东西,要在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:出现这种情况并不一定就是我这样做,因为造成这个错可能由其他原因引起,只不过我记录下我的解决过程,说不定碰到同样问题的兄弟同样可以通过这种方式解决!