ORA-12514:TNS:监听程序当前无法识别链接描述符中请求的服务_百度知 ...

发布网友 发布时间:2022-04-23 01:45

我来回答

6个回答

懂视网 时间:2022-04-13 03:17

用PL/SQL连接虚拟机中的Oracle数据库,发现又报了“ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务”错误,帮其解决后,发现很多人遇到过这样的问题,因此写着这里。

把Oracle安装在虚拟机中,而且Oracle安装完毕后,没在进行任何监听的配置,则虚拟机再启动,则就会出现ORA-12514的问题。

如下是解决思路:(推荐学习:MySQL视频教程)

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

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

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

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

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

找到查看listener.ora文件:位于oracle 安装目录的app文件夹目录下面

完整代码

# listener.ora Network Configuration File: G:appadminproduct12.1.0dbhome_1NETWORKADMINlistener.ora
# Generated by Oracle configuration tools.
 
SID_LIST_LISTENER =
 (SID_LIST =
 (SID_DESC =
 (SID_NAME = CLRExtProc)
 (ORACLE_HOME = G:appadminproduct12.1.0dbhome_1)
 (PROGRAM = extproc)
 )
#添加内容为:
 (SID_DESC =
 (GLOBAL_DBNAME = ORCL)
 (ORACLE_HOME = G:appadminproduct12.1.0dbhome_1) 
 (SID_NAME = ORCL)
 )
 )
#=================== 
LISTENER =
 (DESCRIPTION_LIST =
 (DESCRIPTION =
 (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.217)(PORT = 1521))
 )
 (DESCRIPTION =
 (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
 )
 )
 
ADR_BASE_LISTENER = G:appadminproduct12.1.0dbhome_1log

SID_NAME 对应网络服务命名;GLOBAL_DBNAME 对应服务名,修改完成后重启服务就好了!

更多MySQL相关技术文章,请访问MySQL教程栏目进行学习!

热心网友 时间:2022-04-13 00:25

此问题解决的方法和详细的操作步骤如下:

1、首先,按键盘的组合键“ Win+R”,在运行窗口中输入“ services.msc”,按Enter键确认,如下图所示。

2、其次,完成上述步骤后,转到Orcale并启动与Oracle相关的所有服务,如下图所示。

3、接着,完成上述步骤后,转到oracle11g安装目录并找到侦听文件“ listener.ora”,如下图所示。

4、然后,完成上述步骤后,打开“ listener.ora”文件,添加或修改SID_NAME名称为数据库实例名称,如下图所示。

5、最后,完成上述步骤后,启动数据库并检查状态。 此时,重新连接到PL/SQL将恢复正常,重新运行生产环境并恢复正常,如下图所示。

热心网友 时间:2022-04-13 01:43

1,首先你要确认是否配置了监听服务,如果没有那么先去配置;
2,如果你配置了监听服务,只是每次关机再开机后,或者重启服务后有这个问题,那么解决方法是:A,每次开启监听服务和主服务后需要等待一会,然后在去连接数据库,就不会有这个问题,建议关机前先关闭Oracle的服务;B,用批处理程序进行服务的开启关闭管理,批处理文件我这有,如果需要请留下联系方式;

热心网友 时间:2022-04-13 03:18

RA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
解决办法是手动修改监听配置文件:

# listener.ora Network Configuration File: d:\oracle\proct\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 = d:\oracle\proct\10.2.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = d:\oracle\proct\10.2.0\db_1)
(SID_NAME = ORCL)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
在监听配置文件里加入上面中间的那部分,然后重启监听服务:
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = d:\oracle\proct\10.2.0\db_1)
(SID_NAME = ORCL)
)

热心网友 时间:2022-04-13 05:09

你在什么情况下遇到这个问题的?你连接的命令好似什么?用的什么连接符? tnsnames.ora里面的配置是怎么样的?用tnsing能通么?数据库名是什么?看起来像tnsnames.ora配置有错误,你发点详细信息上来看看

热心网友 时间:2022-04-13 07:17

用的什么操作系统?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com