配置好plsql后能够正常使用,过了一个月再次登录Oracle数据库的时候报错:ORA-12541: TNS: 无监听程序。
百度发现是由于系统的OracleOraDb11g_home1TNSListener服务没有启动,于是手动启动程序,发现又报错:OracleOraDb11g_home1TNSListener服务启动后停止。
再次百度解决方案,是由于Oracle配置文件的HOST地址出错。这就很奇怪了,明明配置Oracle的时候已经把localhost修改为了本地ip地址参见这篇文章中“监听程序未启动或数据库服务未注册错误处理”),为什么还会出错呢?重新ipconfig了一下才发现,自己的ip地址是动态变化的!这是由于主机采用动态分配的ip避免病毒攻击等问题。
于是顺藤摸瓜,逆着把这一系列问题一一攻破……

修改HOST地址为主机名

知道了自己的ip地址是动态变化的,那么就不要傻傻使用ip地址配置文件了,要不然过几天就要重新配置一次。

找到自己的主机名

打开控制面板,搜索“系统”,点击“查看该计算机的名称”
在这里插入图片描述
找到自己的计算机名(注意,不要随意更改计算机名了,否则还要重新配置)
在这里插入图片描述

修改Oracle配置文件

在自己的Oracle安装目录中找到listener.ora和tnsnames.ora(一般在图中的目录下)
在这里插入图片描述
分别修改HOST后面为自己的主机地址:
在这里插入图片描述
在这里插入图片描述
保存

启动OracleOraDb11g_home1TNSListener服务

windows+R,搜索services.msc,打开服务界面。
右键OracleOraDb11g_home1TNSListener服务,启动。如果其他两个红框中服务没有启动也手动启动。
在这里插入图片描述

重启Plsql

这时候问题应该解决了,但需要重启plsql,否则可能报错“监听服务无法识别描述中请求”。不用理,关掉重启就好了。

成功。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐