Oracle:使用PL-SQL登录时报ORA-12541:无监听程序的解决办法

背景:

在自己公司安装的Oracle,当时Oracle的监听地址都是写的公司的地址

后来由于项目需要,办公地点转移到了客户处,

大概有半年没有以sys用户登录数据库了。

最近在上下班途中学习Django,中间涉及到数据库的连接,今天想新建个用户,专门负责Django的练习。

结果使用PL/SQL登录管理员用户时,报ORA-12541:无监听程序。

我是顺着下面的步骤解决问题的:

Step1.尝试登录SQL Plus

结果:可以登录成功。说明密码没有问题,继续查找问题原因。

Step2.查看监听程序是否正在启动

方法:在w10系统左下角的输入框中输入service,进入服务程序,查看Oracle的监听是否已启动

结果:监听处于停止状态,如下图所示:

右键,点击【重新启动】。

结果:系统报:启动后又自动停止(具体说的啥我也不记得了,就是无法启动,抱歉之前没留截图)

Step3. 尝试修改监听文件

方法:去以下路径中..Oracleproduct11.2.0dbhome_1NETWORKADMIN 查找listener.ora文件

将127.0.0.1加入监听文件中。

结果:保存后,重新登录,仍会报错。

Step4.尝试重新配置监听

打开Oracle的Net Manager重新配置监听

结果:登录时仍会报错

Step5.运维同事建议我在登录时数据库一栏输入小写的orcl,因为我的tnsname.ora中SERVICE_NAME = orcl

结果:尝试之后,意外登录成功,欣喜若狂。

后续:

本来打算就此下结论:orcl区分大小写

结果在我使用大写的ORCL重新登录,想着截一张报错截图时,发现大写的ORCL也可以登录成功。

我也不知道是啥原因引起的了,个人感觉Step4影响最大。

原文地址:https://www.cnblogs.com/QianyuQian/p/11818728.html