博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ora-12514 tns listener does not currently know of service requested in connect descriptor
阅读量:4983 次
发布时间:2019-06-12

本文共 2247 字,大约阅读时间需要 7 分钟。

具体消息为:

ora-12514 tns listener does not currently know of service requested in connect descriptor

环境

windows7 x64
oracle 11g

问题起因:

大致是之前本机安装了
一个oracle10g的client
一个oracle11g的client,
一个oracle11g的服务端
本人卸载了其中的oracle10g的client,之后重新通过sqlplus连接本机oracle,提示上面的消息,但以上消息是否是由于
卸载操作引起,尚未能证实,目前仅记录下,出现该问题时的解决方法。

处理问题步骤如下:
一、
此类问题首先检查windows服务中 OracleOraDb11g_home1TNSListener以及OracleServiceORCL是否已经正常启动
如果已经正常启动,则表示当前出现的问题可能由于监听程序的配置不正确引起,最直接的方法为重新配置oracle监听程序

步骤为:开始菜单 -> Oracle - OraDb11g_home1 -> 配置和移植工具 ->Net Configuration Assistant -> 监听程序配置

提示:配置监听程序过程中,将要求重启当前监听程序,建议在配置完成后,
通过手动再次重启OracleOraDb11g_home1TNSListener以及OracleServiceORCL这两个windows 服务

二、

完成第一步工作,首先通过sqlplus连接本地oracle,尝试用户scott/tiger(默认密码并未修改),此时系统报出如下错误:
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist

三、

根据网上查询资料,切换为sys用户登录,
请输入用户名: sys as sysdba
输入口令: change_on_install (默认密码并未修改)

提示如下:

已连接到空闲例程。

表示连接成功。

四、

此时输入startup命令启动oracle例程
提示如下错误:
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ora-00132 syntax error or unresolved network name 'listener_orcl'

由此看仍然存在监听程序配置问题,

经由google查找oracle官方论坛,找到如下提问以及回答,与本人遇到情况相同
https://community.oracle.com/message/10157153

此处提取出其中解决方案:(本人环境为oracle11g)

步骤1:
检查你的oracle安装目录%ORACLE_HOME%\network\admin下的 listener.ora和tnsnames.ora以及sqlnet.ora三个文件配置是否正确
声明:若是之前提到的Net Configuration Assistant工具配置, listener.ora和tnsnames.ora这两个文件将由工具生成,
默认情况下,此两个文件中的host地址为你的本机的网络ip,本人将其统一修改为127.0.0.1。

执行如下命令

以如下用户以及身份在sqlplus中连接oracle:
sys/change_on_install as sysdba

执行如下命令:

(1)
SQL> create pfile from spfile;

File created(文件已创建)

(2)

此时在%ORACLE_HOME%\database目录下(有一些google的解决方案中,提到该文件被创建在%ORACLE_HOME%\dbs目录中
,但本人oracle11g环境是建立在%ORACLE_HOME%\database中),创建了一个新文件,该文件名为INIT%ORACLE_SID.ORA。
其中%ORACLE_SID为listener.ora文件中对应的sid名称(默认是orcl),

(3)

此时打开INIT%ORACLE_SID.ORA文件,找到内容段local_listener='LISTENER_ORCL2',并将其删除(记得!是删除!)

(4)

安装该提问中的解决方案,是接着执行startup nomount pfile='<your pfile here>',
其中'<your pfile here>'表示刚才建立的INIT%ORACLE_SID.ORA路径,
但本人执行该命令时并未成功,并提示 参数错误的情况,因此跳过了该步骤,尝试直接执行

create spfile from pfile;

并提示文件创建成功

(5)

最后执行
SQL>startup
提示ORACLE 例程已经启动。以及数据库装载完毕。

(6)

此时再次切换回scott用户
connect scott/tiger
提示连接成功。

就此问题问题得以解决,总结问题的出现,大致与本机的oracle服务配置相关。出现类似问题需要按步骤排查。

 

转载于:https://www.cnblogs.com/changwei0708/p/4107967.html

你可能感兴趣的文章