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

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,.net,Google,Blog)