ora-12514错误

转自
http://plasterdoll.iteye.com/blog/853489

有时候我们在XP下安装Oracle(10g)安装正常,安装完了以后使用也正常;
但在计算机重启后,重新登陆时就出现ORA-12514: TNS:listener does not currently know of service

requested in connect descriptor。

网上查下,用以下办法解决:
在安装目录下:D:\oracle\product\10.1.0\Db_1\NETWORK\ADMIN\listener.ora
将:SID_LIST_LISTENER   =
(SID_LIST   =
(SID_DESC   =
(SID_NAME   =   PLSExtProc)
(ORACLE_HOME   =   E:\oracle\product\10.1.0\Db_1)
(PROGRAM   =   extproc)
)
)

改为:
SID_LIST_LISTENER   =
(SID_LIST   =
(SID_DESC   =
(SID_NAME   =   PLSExtProc)
(ORACLE_HOME   =   E:\oracle\product\10.1.0\Db_1)
(PROGRAM   =   extproc)
)
(SID_DESC   =
(GOLBAL_DBNAME=   orcl)
(ORACLE_HOME   =   E:\oracle\product\10.1.0\Db_1)
(SID_NAME=orcl)
)
)

这样以后,关掉Service和LISTENER。再启动Service和LISTENER,这样应该就可以了,注意顺序。

查了一下,网上是说,加上了面一段东西,意思是把LISTENER服务主动注册到进程监视器(pmon)中去。所以,但你启动了Serivce后,启动 LISTENER的时候,会主动去注册到进程监视器(pmon)中去。所以不会有什么问题。但是反过却不行。

如果说没有添加那一段,情况正好相反,是由实例的pmon进程在LISTENER中注册服务,LISTENER为被动注册。所以需要先起LISTENER 才可以。

总结一下,如果说你不加那段东西,那么就应该先起LISTENER,如果说你加了那段东西,就应该先起Serivce。

我试了一下,的确是这样。不过在windows上,有时候会报错,重启一下再试就可以了。

你可能感兴趣的:(ORA-12514)