监听程序当前无法识别连接描述符中请求的服务(oracle监听程序无
oracle 11g ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
oracle 11g ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务是设置错误造成的,解决方法为:
1、找到ORACLE数据库安装目录,product\11.2.0\dbhome_1\NETWORK\ADMIN 下的listener.ora文件。
2、右键点击该文件,选择【属性】选项,点击打开。
3、进入属性界面,点击上方【安全】。
4、进入安全界面,选择当前登录用户,点击【编辑】。
5、在下方的权限处,勾选【完全控制】,点击进行保存。
6、此时用记事本打开listener.ora文件,将SID名称设置为ORCL点击保存。
7、然后进入服务列表,重启oracleserviceorcl服务即可,问题解决。
oracle出现“监听程序当前无法识别连接描述符中的请求的服务”,如图所示,该怎么解决?求指点迷津
1、查看一下,你配的tnsnames.ora中的连接串是否正确
2、因为tnsnames.ora同一目录下文件是自动生产的,所以删除后重新连接一下
3、通过lsnrctl status命令查看一下,监听程序是否启动,如果没有启动执行lsnrctl start,启动下
4、
SID别名 =
(DESCRIPTION = (ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = SERVER_IP)(PORT = 1521)) )
(CONNECT_DATA = (SID = SID_NAME) ) )
按照以上在重新配置一下
oracle数据库 ORA-12514:TNS:监听程序当前无法识别连接描述符中请求服务
如下是解决思路:
根据出错信息判断出客户端未监听到实例服务名
1、通过重启服务的方式启动数据库,再次连接仍无法连接服务器。
2、既然第一种方法不能解决问题,那就第二种方法,考虑监听listener.ora
监听配置文件listener.ora中可以不必指定监听的服务名(安装Oracle10g后也是没有指定的)。正常情况下一般只要数据库启动,客户端连接数据库也没有什么问题,但是有时重复启动关闭也会出现ORA-12514错误。
既然listener.ora中没有指定监听,我们可以在listener.ora文件中指定监听的实例名,这样该问题应该可以连接。
步骤如下:
在oracle服务器Oracle安装目录(我的在C:\oracle下,每个人的不一样,根据自己的情况查找)Network/admin目录下找到listener.ora 我的如下图所示
# listener.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(SID_NAME = ORCL)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.59.129)(PORT = 1521))
)
)
标红的为我添加的部分,ORCL为监听的实例名。
然后,oracle服务器重新启动一下,再次连接即成功,这也是我们配置完listener.ora 监听后,经常忘记的,
再次尝试,可以看到客户端可以连接上oracle服务器了,而且PL/SQL再次连接也没有问题了。
Oracle Pl sql 登录时提示 “监听程序当前无法识别连接描述符中请求的服务” 。
[oracle@prod ~]$ oerr ora 28547
28547, 0000, "connection to server failed, probable Oracle Net admin error"
// *Cause: ? A failure occurred during initialization of a network connection
// ? ? ? ? ? from a client process to the Oracle server. ?The connection
// ? ? ? ? ? was completed but a disconnect occurred while trying to
// ? ? ? ? ? perform protocol-specific initialization, usually due to
// ? ? ? ? ? use of different network protocols by opposite sides
// ? ? ? ? ? of the connection. ?This usually is caused by incorrect
// ? ? ? ? ? Oracle Net administrative setup for database links or external
// ? ? ? ? ? procedure calls. ? The most frequent specific causes are:
// ? ? ? ? ? -- ?The connection uses a connect string which refers
// ? ? ? ? ? ? ? to a Heterogeneous Services agent instead of
// ? ? ? ? ? ? ? an Oracle server.
// ? ? ? ? ? -- ?The connection uses a connect string which includes
// ? ? ? ? ? ? ? an (HS=) specification.
// ? ? ? ? ? -- ?Hitting Ctrl+C before connection initialization is
// ? ? ? ? ? ? ? complete.
// ? ? ? ? ? -- ?Using DRCP on Windows with SQLNET.AUTHENTICATION_SERVICES
// ? ? ? ? ? ? ? set to NTS.
// ? ? ? ? ? -- ?Connection timeout due to SQLNET.INBOUND_CONNECT_TIMEOUT
// ? ? ? ? ? ? ? parameter when all shared servers are busy in
// ? ? ? ? ? ? ? shared server configuration.
// *Action: ?Check Oracle Net administration in the following ways:
// ? ? ? ? ? -- ?When using TNSNAMES.ORA or an Oracle Names server, make sure
// ? ? ? ? ? ? ? that the client connection to the Oracle server uses
// ? ? ? ? ? ? ? the correct service name or SID.
// ? ? ? ? ? -- ?Check LISTENER.ORA on the connection end point's host machine
// ? ? ? ? ? ? ? to assure that this service name or SID refers
// ? ? ? ? ? ? ? to the correct server.
// ? ? ? ? ? -- ?Confirm in TNSNAMES.ORA or the equivalent service definition
// ? ? ? ? ? ? ? that the connect string does not contain (HS=).
// ? ? ? ? ? -- ?Set SQLNET.AUTHENTICATION_SERVICES to NONE when using DRCP
// ? ? ? ? ? ? ? on Windows.
//
首先保证你的数据库已经启动了。
然后启动plsql developer
如图,你按照这种直接连接的方式填写database那一栏试一下,格式如下:
ip:端口号/sid
例如上图,
192.168.100.167是oracle服务器的ip地址
1521是监听器的端口号
orcl是oracle数据库的sid
如果这样可以连接,拿就是你的tnsnames.ora文件配置的问题了。

登录Oracle数据库时提示“ORA-12514:TNS 监听程序当前无法识别连接描述符中请求的服务”,请问怎么解决?
此问题解决的方法和详细的操作步骤如下:
1、首先,按键盘的组合键“ Win+R”,在运行窗口中输入“ services.msc”,按Enter键确认,如下图所示。
2、其次,完成上述步骤后,转到Orcale并启动与Oracle相关的所有服务,如下图所示。
3、接着,完成上述步骤后,转到oracle11g安装目录并找到侦听文件“ listener.ora”,如下图所示。
4、然后,完成上述步骤后,打开“ listener.ora”文件,添加或修改SID_NAME名称为数据库实例名称,如下图所示。
5、最后,完成上述步骤后,启动数据库并检查状态。 此时,重新连接到PL/SQL将恢复正常,重新运行生产环境并恢复正常,如下图所示。