今天好好的,突然有用户报系统登录不了了,经过排查问题出在Oracle,报ORA-12541: TNS: 无监听程序,先是重新服务不行,然后重新配置监听还不行,最后上网查了一下,结果是是它的问题哈,就是下面我所说的解决方法1。下面根据我在网上的参考分别列出无监听程序问题平日最可能涉及到的三种情况及解决方法:
1、 首先查看监听文件是否超过4G,删除它,然后重启监听服务。
位置在.....listener\trace下的listener.log
2、找到 Oracle 监听配置文件(listener.ora)和TNS配置文件(tnsnames.ora),
我的安装路径为 " D:\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN " ,如下图:
将两个文件中的 HOST=192.168.78.138(当然这个是我的地址),全改为 " HOST=localhost " 。
listener.ora 文件修改后,如下图:
tnsnames.ora 文件修改后,如下图:
以上两个配置文件修改完成后,Ctrl + R 在弹出框中输入 " SERVICES.MSC " ,找到Oracle的服务(OracleService)和 Oralce 监听服务 (OracleOraDb10g_homeTNLListener)
注意:先停止,然后再启动,如下图:
3、重新配置监听,从开始菜单中打开“Oracle Net Configuration Assistance”,选择“监听程序配置”,如下图所示,点击下一步。
选择“重新配置”。
选择监听程序,如下图所示,选择协议,一般默认就好,点击下一步。
选择端口号,如下图所示,点击下一步。
选择“否”,如下图所示,点击下一步。
监听程序配置完成,如下图所示,点击下一步。
选择“本地网络服务名配置”,如下图所示,点击下一步。
选择“重新配置”,如下图所示,点击下一步。
“网络服务名”选择你自己数据库的名字,如下图所示,点击下一步。
填写“服务名”,其实就是你创建数据库时的全数据库名,如下图所示,点击下一步。
选择协议,默认选择“TCP”,如下图所示,点击下一步。
填写“主机名”,可以是你的IP地址,也可以是你的主机名;选择端口号,如下图所示,点击下一步。
选择“是,进行测试”,如下图所示,点击下一步。
选择“更改登陆”,填写“用户名”和“口令”,点击“确定”会显示“正在连接…测试成功。”,点击下一步。
填写“网络服务名”,就是你自己的数据库名,小编的是“zboracle”,点击下一步。“是否配置另一个服务名?”选择“否”,点击下一步,完成。
启动PL/SQL Developer,输入用户名、口令,即可登录成功,如下图所示。