ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务解决

环境:Oracle 11g R2 + PL SQL Developer + SQL Plus

问题:Oracle主服务和监听器服务已经启动,使用SQL Plus能够正常连接,使用PL SQL Developer连接报次错误:ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务。如图:

解决:

打开H:\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN(不同机器目录可能不同)目录下的listener.ora文件,发现此文件内容如下:

  1. #listener.ora Network Configuration File:  
  2. H:\Oracle\product\11.2.0\dbhome_1\network\admin\listener.ora  
  3. #Generated by Oracle configuration tools.  
  4.    
  5. SID_LIST_LISTENER=  
  6.   (SID_LIST =  
  7.     (SID_DESC =  
  8.       (SID_NAME = CLRExtProc)  
  9.       (ORACLE_HOME =H:\Oracle\product\11.2.0\dbhome_1)  
  10.       (PROGRAM = extproc)  
  11.       (ENVS ="EXTPROC_DLLS=ONLY:H:\Oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")  
  12.     )  
  13.   )  
  14.    
  15. LISTENER=  
  16.   (DESCRIPTION_LIST =  
  17.     (DESCRIPTION =  
  18.       (ADDRESS = (PROTOCOL = IPC)(KEY =EXTPROC1521))  
  19.       (ADDRESS = (PROTOCOL = TCP)(HOST =localhost)(PORT = 1521))  
  20.     )  
  21.   )  
  22.    
  23. ADR_BASE_LISTENER= H:\Oracle  

修改成如下内容(注意红色部分的内容):

#listener.ora Network Configuration File:

H:\Oracle\product\11.2.0\dbhome_1\network\admin\listener.ora

#Generated by Oracle configuration tools.

SID_LIST_LISTENER=

  (SID_LIST =

         (SID_DESC =

      (GLOBAL_DBNAME = ORCL)

      (ORACLE_HOME =H:\Oracle\product\11.2.0\dbhome_1)

      (SID_NAME = ORCL)

    )

    (SID_DESC =

      (SID_NAME = CLRExtProc)

      (ORACLE_HOME = H:\Oracle\product\11.2.0\dbhome_1)

      (PROGRAM = extproc)

      (ENVS ="EXTPROC_DLLS=ONLY:H:\Oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")

    )

  )

LISTENER=

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = IPC)(KEY =EXTPROC1521))

      (ADDRESS = (PROTOCOL = TCP)(HOST =localhost)(PORT = 1521))

    )

  )

ADR_BASE_LISTENER= H:\Oracle

说明:每台电脑的Oracle安装目录和实例名不尽相同,修改此文件的ORACLE_HOME(本机Oracle安装目录)和SID_NAME应该按照你自己的设置。

SID查看请参照此图:

 

linux





ORA-12514 <wbr>TNS <wbr>监听程序当前无法识别连接描述符中请求服务 <wbr>的解决方法

如下是解决思路:

根据出错信息判断出客户端未监听到实例服务名

1、通过重启服务的方式启动数据库,再次连接仍无法连接服务器。

2、既然第一种方法不能解决问题,那就第二种方法。考虑监听listener.ora

   监听配置文件listener.ora中可以不必指定监听的服务名(安装Oracle10g后也是没有指定的)。正常情况下一般只要数据库启动,客户端连接数据库也没有什么问题,但是有时重复启动关闭也会出现ORA-12514错误。

   既然listener.ora中没有指定监听,我们可以在listener.ora文件中指定监听的实例名,这样该问题应该可以连接。

步骤如下:

  • 在oracle服务器Oracle安装目录(我的在E:\Oracle10g下,每个人的不一样,根据自己的情况查找)Network/admin目录下找到listener.ora 我的如下图所示

# listener.ora Network Configuration File: E:\Oracle10g\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = E:\Oracle10g)
      (PROGRAM = extproc)
    )
   (SID_DESC =
    (GLOBAL_DBNAME = ORCL)
    (ORACLE_HOME = E:\Oracle10g)
    (SID_NAME = ORCL)
    )

 )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = onest)(PORT = 1521))
    )
  )

标红的为我添加的部分,ORCL为监听的实例名。


posted @   silentmuh  阅读(768)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
Live2D
欢迎阅读『ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务解决』
  1. 1 Walk Thru Fire Vicetone
  2. 2 爱你 王心凌
  3. 3 Inspire Capo Productions - Serenity
  4. 4 Welcome Home Radical Face
  5. 5 粉红色的回忆 李玲玉
Welcome Home - Radical Face
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

作词 : Ben P. Cooper

作曲 : Cooper

Sleep don't visit, so I choke on sun

And the days blur into one

And the backs of my eyes hum with things I've never done

Sheets are swaying from an old clothesline

Was never much but we've made the most

Welcome home

Ships are launching from my chest

Some have names but most do not

If you find one,please let me know what piece I've lost

Heal the scars from off my back

I don't need them anymore

You can throw them out or keep them in your mason jars

I've come home

All my nightmares escaped my head

Bar the door, please don't let them in

You were never supposed to leave

Now my head's splitting at the seams

And I don't know if I can

Here, beneath my lungs

I feel your thumbs press into my skin again

点击右上角即可分享
微信分享提示