乌托邦博客

You see? Even death has a heart

« 个人信用报告查询你还好吗? »

ORA-12514: TNS:listener does not currently know of service requested in connect

Oracle       Oracle我一直就认为是一个很神奇的东西,有很多东西让人望而生畏.从我上高中起,就知道有这东西了,一直搞到现在,N年过去了,说起来真惭愧,还是初级水平...........

       不说废话,我这里要写的就是这个经典的ORA-12514错误啦!我好像以前经常见过,也不知道怎么解决的了,今天,我想记录一下这个东西。

       这个错误是因为Listener出了问题,请检查一下你的listener.ora文件,看下是否存在如下配置:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
      (PROGRAM = extproc)
    )
)

       如果说是这样,那么请将一段改成

SID_LIST_LISTENER =
 (SID_LIST =
 (SID_DESC =
  (SID_NAME = PLSExtProc)
  (ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
  (PROGRAM = extproc)
  ) (SID_DESC =
     (GLOBAL_DBNAME = ORCL)
     (ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
     (SID_NAME = ORCL)
  )
)
         这样以后,关掉Service和LISTENER。再启动Service和LISTENER,这样应该就可以了,注意顺序。

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

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

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

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

        我也是新手,欢迎各位拍砖。希望各位大侠多多指点!!!QQ:94424751

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Spirit Build 80710 Code detection by Codefense

Copyright 2005-2007 Bootad.cn. Some Rights Reserved
.粤ICP备07062332号 QQ:94424751