ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 解决方案
相信很多小伙伴在刚开始使用Oracle数据库服务器时都遇到过这样的问题:自己刚刚装好的Oracle软件,明明测试的时候sqlplus还可以连接和访问,第二天连接sqlplus时就提示:ORA-12514: TNS:监听程序当前无法识别连接描述符中请求的服务;或者说在学习sqlplus的一些命令操作时,使用shutdown immediate 命令后再重新startup启动数据库实例时就提示这样的错误。
如图:
本文章为大家提供了 ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 问题的一种解决方案,感兴趣的小伙伴们可以参考一下。
配置listener.ora文件
listener.ora文件用在服务器端,用来配置oracle服务端程序的监听办法。
1. 在Oeacle服务器的安装路径中找到listener.ora文件。一般在安装目录下的\oracle\product\10.2.0\db_1\NETWORK\ADMIN路径中,如图:
2. 先给予文件修改权限,不然没法配置。右键listener.ora->属性->安全->编辑->完全控制->确定。
3. 以记事本打开listener.ora文件,修改SID_LIST_LISTENER部分内容:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(SID_NAME = ORCL)
)
(SID_DESC =
(GLOBAL_DBNAME = BOOKSALES)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(SID_NAME = BOOKSALES)
)
)
GLOBAL_DBNAME和SID_NAME 设为数据库网络服务名。以ORCL和BOOKSALES为例。ORACLE_HOME和初始ORACLE_HOME一致,不做更改。
4. 修改样例如图,完成后保存文件。
5. 重启对应的监听器服务和数据库服务。 (可能要重启多次)
一般为OracleService+数据库网络服务名和OracleOraDb10g_home1TNSListener服务,若因为自己配置过有所不一样的话以实际为准。
6. 重新以管理员身份打开cmd,连接sqlplus测试。
问题解决。