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

1、TNS连接错误

同事跟我说连接oracle数据库报错ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务,如下所示:

2、查看本地TNSPING

查看本地的tns配置:


WXX =

(DESCRIPTION =

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

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl)

)

)

查看本地的tnsping是ok的


C:\Users\Administrator>tnsping WXX

TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 26-10月-2016 11:31:04

Copyright (c) 1997, 2010, Oracle.  All rights reserved.

已使用的参数文件:

D:\app\Administrator\product\11.2.0\client_2\network\admin\sqlnet.ora

已使用 TNSNAMES 适配器来解析别名

尝试连接 (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.121.58)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))

OK (30 毫秒)

C:\Users\Administrator>

本地的tnsping暂时看来是正常的,是ok的。

3、查看网络连接

telnet  192.168.121.58 1521,也是能进去的,证明网络ok

oracle服务器的iptables也是关闭的

文章来源地址:http://blog.csdn.net/mchdba/article/details/52949382,博主mchdba(黄杉)谢绝转载。

4、查看服务器的lsnrctl服务

去服务器看lsnrctl状态:


[[email protected] admin]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 26-OCT-2016 11:33:32

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

STATUS of the LISTENER

------------------------

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production

Start Date                26-OCT-2016 11:09:33

Uptime                    0 days 0 hr. 23 min. 59 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File   /usr/oracle/app/product/11.2.0/dbhome_1/network/admin/listener.ora

Listener Log File         /usr/oracle/app/diag/tnslsnr/iZ23vluqpmmZ/listener/alert/log.xml

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.121.58)(PORT=1521)))

The listener supports no services

The command completed successfully

[[email protected] admin]$

看到no services,也就是说lsnrctl监听服务启动起来,没有任何oracle实例的,所以问题就来了,没有oracle实例,客户端通过lsnrctl监听的话,就连接不到实例信息。所以这里我们需要添加实例信息,添加实例信息,就在listener.ora配置文件里面。

5、在listener.ora里面添加实例信息

完善listener.ora配置:


[[email protected] admin]$ cp listener.ora z_listener.ora.bak

[[email protected] admin]$ vim listener.ora

[[email protected] admin]$

[[email protected] admin]$ more listener.ora

# listener.ora Network Configuration File: /usr/oracle/app/product/11.2.0/dbhome_1/network/admin/listener.ora

# Generated by Oracle configuration tools.

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

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

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

)

) # 下面就是添加的新实例信息

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = orcl)

(SID_NAME = orcl)

)

)

ADR_BASE_LISTENER = /usr/oracle/app

[[email protected] admin]$

设置完后,重启监听lsnrctl服务,可以看到会有一个instance服务启动起来了:


[[email protected] admin]$ lsnrctl stop

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 26-OCT-2016 11:38:29

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

The command completed successfully

[[email protected] admin]$ lsnrctl start

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 26-OCT-2016 11:38:33

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Starting /usr/oracle/app/product/11.2.0/dbhome_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 11.2.0.1.0 - Production

System parameter file is /usr/oracle/app/product/11.2.0/dbhome_1/network/admin/listener.ora

Log messages written to /usr/oracle/app/diag/tnslsnr/iZ23vluqpmmZ/listener/alert/log.xml

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.75.58)(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

STATUS of the LISTENER

------------------------

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production

Start Date                26-OCT-2016 11:38:33

Uptime                    0 days 0 hr. 1 min. 3 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File   /usr/oracle/app/product/11.2.0/dbhome_1/network/admin/listener.ora

Listener Log File         /usr/oracle/app/diag/tnslsnr/iZ23vluqpmmZ/listener/alert/log.xml

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.75.58)(PORT=1521)))

Services Summary...

Service "orcl" has 1 instance(s).

Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...

The command completed successfully

[[email protected] admin]$

OK,在问下同事,同事说能连接上了,问题解决。

时间: 2024-10-15 00:50:39

ORACLE11g ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务的相关文章

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

问题:oracle安装成功以后,可以使用,一段时间后,登录报错 OracleORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 查阅相关文档,以及修改后,可以正常登录,记录解决方法如下 原因:该问题是由于缺少监听器的SID_LIST描述项引起的,采用netca进行配置的时候经常会遇到该问题. 解决思路: 1.通过重启服务的方式启动数据库,再次连接仍无法连接服务器. 2.考虑监听listener.ora 监听配置文件listener.ora中可以不必指定监听的服务名(安装O

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

Win7旗舰版安装Oracle11g后,数据库可以正常使用,重启系统,再次连接数据库,提示: ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务 解决方法: 1.打开listener.ora文件(\product\11.2.0\dbhome_1\NETWORK\ADMIN\). 2.增加以下红色标识的一段文字. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME =

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

问题:Oracle主服务和监听器服务已经启动,使用SQL Plus能够正常连接,使用PL SQL Developer连接报次错误:ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务.如图: 解决: 打开H:\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN(不同机器目录可能不同)目录下的listener.ora文件,发现此文件内容如下: #listener.ora Network Configuration File: H:\Ora

Oracle几个基础配置问题:ORA-12154: TNS: 无法解析指定的连接标识符、ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务、ORA-12516 TNS监听程序找不到符合协议堆栈要求的可用处理程序

转载地址:http://www.cnblogs.com/zhaoguan_wang/p/5505701.html 问题1:ORA-12154: TNS: 无法解析指定的连接标识符 在一台服务器上部署了Oracle客户端,使用IP/SID的方式访问,老是报ORA-12154错误,而使用tnsnames访问却没有问题,对比了我本机的配置并查阅了一下资料,Easy Connect Naming Method这个东西是Oracle 10g推出的,需要在sqlnet.ora文件中添加EZCONNECT,如

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

最近在装ORACLE的时候爆出了一个问题, Oracle 11g ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务 以前装ORACLE好多遍了网上搜了好多方法还是解决不了,最后通过自己的摸索找到了一个不显眼的原因, 打开Oracle - OraDb11g_home1/配置和移植工具/  下面的Net Manager,配置好服务名后,打开监听程序右上角选择数据库服务 一开始的数据库服务中配置是有问题的,一般一开始这个目录是空的需要自己手动添加更改,如下图一开始我的Net Ma

[Window Title] (没有登录) [Content] ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 [OK]

重启Oracle服务 [Window Title] (没有登录) [Content] ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 [OK]

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

速度太慢点击了一下优化,出现了 ORA-12514,搜索了解决方法记录一下,第一个基本服务就解决了. 转自:http://apps.hi.baidu.com/share/detail/19115407 PS:不晓得,大家有没有像我这样折腾,俺总喜欢关闭不是总用到的服务,等用到时再手动启动,此外经常更换ip地址 系统环境:Windows 2003 Ent R2 CHS 32bit,Oracle 11.2.0.1.0 R2 下面操作默认在安装Oralce数据库的服务器上运行. 1)确保Oracle

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

早上使用PL/SQL连接Oracle的时候,报错如下 解决办法: 找到文件listener.ora,新增以下红色区域,注意:路径需要根据自己的Oracle安装路径自行设置 # listener.ora Network Configuration File: D:\app\OLIVER\product\11.2.0\dbhome_1\network\admin\listener.ora# Generated by Oracle configuration tools. SID_LIST_LISTE

安装完oracle重新启动后报ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务(重启前正常)

刚安装完后用plSql登录正常. 在dos命令行下 输入  sqlplus 用户名 :system as sysdba 密码: 然后输入:shutdown 提示: ORA-01034:ORACLE NOT AVAILABLE ORA-27101:SHARED MEMORY REALM DOES NOT EXIST 看到提示后 输入  startup 装载一下数据库 OK 用 PLSQL 登录也成功了 再次重新启动服务器,再次使用sqlplus,还是出现上述问题 只有重新装载数据库 startup