数据库

 首页 > 数据库 > Oracle > ORA-12514(TNS:监听程序当前无法识别...)的解决方案

ORA-12514(TNS:监听程序当前无法识别...)的解决方案

分享到:
【字体:


在安装ORACLE 11G 过程中由于配置的原因,安装过程中报了如下错误:


 
按照安装提示执行后面的操作后,打开PL/SQL DEVELOPER 连接数据库时总报ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务!
ORACLE NET MANAGER里面测试,测试服务是否能够成功。结果还是报如上错误


 
在网上百度了一下这个错误ORA-12514,原来很多人都碰到过这个问题,于是按照别人的处理步骤依依配置了,这个问题解决了,不过还是觉得有必要把这个问题解决的步骤记录下来,一来让自己能跟深刻的体会一下,锻炼一下总结能力,二来可以帮助到以后碰到这个问题的人。
先找到找到listener.ora 文件,实验机器位于:E:appkerryproduct11.2.0dbhome_1NETWORKADMIN 目录下的listener.ora文件。问题都在这个文件上。
该文件初始如下所示:
# listener.ora Network Configuration File: E:appkerryproduct11.2.0dbhome_1networkadminlistener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = E:appkerryproduct11.2.0dbhome_1)
      (PROGRAM = extproc)  www.2cto.com  
      (ENVS = "EXTPROC_DLLS=ONLY:E:appkerryproduct11.2.0dbhome_1binoraclr11.dll")
    )
  )
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.20.32.106)(PORT = 1521))
    )
  )
ADR_BASE_LISTENER = E:appkerry

解决办法:
在  
 (SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = E:toolsoracleproduct11.2.0dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:E:toolsoracleproduct11.2.0dbhome_1binoraclr11.dll")
)
后面添加
(SID_DESC =
(GLOBAL_DBNAME =  orcl.20.32.106 )
(ORACLE_HOME = E:toolsoracleproduct11.2.0dbhome_1)
(SID_NAME = ORCL)
)
添加后的文件内容:
# listener.ora Network Configuration File: E:appkerryproduct11.2.0dbhome_1networkadminlistener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = E:appkerryproduct11.2.0dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:E:appkerryproduct11.2.0dbhome_1binoraclr11.dll")
    )
     (SID_DESC =
      (GLOBAL_DBNAME = orcl.20.32.106)
      (ORACLE_HOME = E:appkerryproduct11.2.0dbhome_1)
      (SID_NAME = ORCL)  www.2cto.com  
    )
  )
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.20.32.106)(PORT = 1521))
    )
  )
ADR_BASE_LISTENER = E:appkerry
注意SID_NAME对应网络服务命名, GLOBAL_DBNAME对应服务名。配置这些后,然后重新开启服务从新连接,OK,问题迎刃而解!
 
 
 
作者 潇湘隐者
分享到:
oracle安装要用到的内存相关参数详解
在这里,对oracle在/etc/sysctl 要用到的参数值做个简要的解释和说明。 (1)kernel.shmmax:该参数定义了共享内存段的最大尺寸(以字节为单位)。Linux 2.4/2.6缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为和实际内存一样大即可。 (2)kernel.shmmni:这个内核参数用于设置系统范围内共享内存段的最大数...
Sqlplus与oracle连接问题汇总
问题一: 连接时,提示无监听程序   可能没有监听程序,或者服务没有起。 1)建立监听:   2)如果已有监听,可能是监听服务没有起:   问题二: Sqlplus连接本地数据库时,没有响应,使用客户端(toad\plsql developer)时也是如此。并且与oracle连接测试也是没有响应。  www.2cto.com   最近,启动本地oracle...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……