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

转载请注明作者(独孤尚良dugushangliang)出处:https://blog.csdn.net/dugushangliang/article/details/81835747

 

附注:

如此文未能解决问题,请移步另一篇:https://blog.csdn.net/dugushangliang/article/details/89513494

 

下为原答案:

 

本人及其win10系统,安装了虚拟机win7系统。近两日备受ora的折磨。安装后没有别人说的那么顺畅,总是告诉我:

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

好吧,我也很无奈,千方百计求医问药。甚至在另一个终于不报错的机器上一点点对比,一点点设置,然而还是不行。后来就干脆按照找到的帖子一个个测验。

致谢:https://blog.csdn.net/mchdba/article/details/52949382

我原来看到这个好多次,自认为和我的问题没什么关联,所以之前一直就忽略过去了。而今万分无奈,只好一个个尝试。幸运的是,终于设置好了。

win虚拟机 ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务_第1张图片

我的经验是,安装数据库的时候,什么设置都一点点记录下来,免得遗忘。我的oracle安装了多次了,有时候过一阵子没接触,管理员密码就不太确定了,也不知道是哪里的设置不对了还是密码不对了,这点oracle就不太友好了,只告诉你过不去,没告诉你原因。比如你去海关,就是不让你过,什么也不告诉你,也不知道是你和照片出入太大,还是被限制出境了,还是缺什么证件,还是他心情不好不想让你过去。所以不知道问题的原因,很难去解决这个问题。我是又重装了,把密码记录下来,如果要是系统哪天发神经不认了这个密码,那就另外想辙吧(一般是不会的,好记性不如烂笔头,白纸黑字的记录是有保障的)。

是的,安装的时候,设置的内容不只是密码,还有服务名、主机名什么的。记录下来最好,水平高的,后面也可以自己查看。作为小白,那就全记下来以免万一吧。

我虚拟机默认的服务名是orcl.168.238.128,主机名是192.168.238.128。安装完后,打开Net Manager,就是上图所示的。没有出现上图的连接测试成功,而是报的ora-12514。后来我去设置监听,打开Net Configuration Assistant,配置监听程序和本地网络服务名,一遍又一遍,怎么都不行。

win虚拟机 ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务_第2张图片

主机名,localhost和ip(192.168.238.128)都试过。服务名,orcl,orcl.168.238.128也都试过。我能想到的都试了试。

我发现,sqlplus可以用normal连接数据库,但是as sysdba就又报这个错误了。

就是根据上文的网址,那个blog,我测验得到这个结论:

win虚拟机 ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务_第3张图片

是的,我又在LISTENER块下面加了个SID_LIST_LISTENER块,对,GLOBAL_DBNAME。

所以我现在知道了,这样解决了我遇到的问题,但还不怎么知道其原因和原理。后续吧。

附注:服务器配置监听,客户端不配置监听。客户端的添加orcl,写好全局服务名。即orcl.168.238.128。

cmd中LSNRCTL命令,status查询监听状态:

win虚拟机 ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务_第4张图片

 

独孤尚良dugushangliang——著

你可能感兴趣的:(ORACLE)