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

ora-12514:TNS:listener does not currently know of service requested in connect descriptor 
这个错误让我们很烦恼

  今天上班的时候也发现了这个错误!细细想起来昨天下班前还正常,这之后记得机器上没有装什么其他的新的软件了,我也没有装什么优化软件和杀毒,唯一的可能就是我的是笔记本在公司分配得到的ip和家里的ip不一样,估计问题就在这里了.


在Google了一下然后发现了答案但是不全都是能解决 

方案:

问题所在---监听目前不知道要求服务连接描述符 

分析---这个错误是因为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,注意顺序。 

         

http://blog.csdn.net/icqsky/archive/2009/07/01/4313791.aspx上的描述是:(

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

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

到这里了重新开计算机也还是不得一样的错误还存在!这个时候不要担心 
还有个地方要修改 
找到 listener.ora 下的

LISTENER = 
  (DESCRIPTION_LIST = 
    (DESCRIPTION = 
      (ADDRESS_LIST = 
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) 
      ) 
      (ADDRESS_LIST = 
        (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.112)(PORT = 1521)) 
      ) 
    ) 
  )

 

 注意以上红色字体是要修改的!

 

把红色ip地址换成你本机的ip 然后关了service服务和listener服务,就可以了,这个时候可能回报not listener 错误,这个时候你再关闭service服务和listener 多关开几次就可以了(注意配置要正确,如果配置的不对问题依然的!)

你可能感兴趣的:(oracle,优化,list,service,Google,Descriptor)