一般情况,先看一下服务管理中OracleOraDb10g_home1TNSListener,这个服务启用了没有,
如果没有启用先手机启动,再登录看是否能行,不行,再参考下面步骤检查排除。
我的启动服务就OK了,鉴于这种问题遇到很多次了,贴出来记录一下!
首先运行cmd
C:\Users\HP>sqlplus SQL*Plus: Release 10.2.0.3.0 - Production on 星期五 4月 10 13:45:10 2015 Copyright (c) 1982, 2006, Oracle. All Rights Reserved. 请输入用户名:
一、连接主机字符串,说没有监听器 SVRMGR> connect internal/oracle@orcl; ORA-12541: TNS:no listener SVRMGR> 二、运行监听器,说地址的协议专用组件指定不正确 C:\>lsnrctl LSNRCTL for 32-bit Windows: Version 8.1.6.0.0 - Production on 14-3月 -2003 14:17 :51 (c) Copyright 1998, 1999, Oracle Corporation. All rights reserved. 欢迎来到LSNRCTL,请键入"help"以获得信息。 LSNRCTL> status 连接至(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=robust)(PORT=1521))) TNS-01103: 地址的协议专用组件指定不正确 TNS-12541: TNS:无监听器 TNS-12560: TNS:协议适配器出现错误 TNS-00511: 无监听器 32-bit Windows Error: 61: Unknown error LSNRCTL> start 启动tnslsnr:请稍候... Failed to start service, error 3. TNS-12536: TNS:可能会阻碍*作 TNS-12560: TNS:协议适配器出现错误 TNS-00506: *作可能阻塞 32-bit Windows Error: 997: Unknown error LSNRCTL> 三、在控制面板中启动服务,出现以下错误 服务:在本地计算机 无法启动 OracleOraHome81TNSListener 服务。 错误3:系统找不到指定的路径 而且OracleOraHome81TNSListener服务的可执行文件的路径是空的。 四、进入注册表中修改ImagePath 在运行处执行REGEDIT进入注册表到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleOraHome81TNSListener 发现ImagePath关键值没有了,增加他,选择可扩充字符串值,编辑字符串的数值数据为:f:\Oracle\Ora81\BIN\TNSLSNR 退出注册表。 五、再去启动服务,服务启动正常 六、启动监听器 C:\>lsnrctl LSNRCTL for 32-bit Windows: Version 8.1.6.0.0 - Production on 14-3月 -2003 14:42 :10 (c) Copyright 1998, 1999, Oracle Corporation. All rights reserved. 欢迎来到LSNRCTL,请键入"help"以获得信息。 LSNRCTL> start TNS-01106: 使用名称LISTENER的监听器已经启动 LSNRCTL> status 连接至(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=robust)(PORT=1521))) LISTENER 的 STATUS ------------------------ 别名 LISTENER 版本 TNSLSNR for 32-bit Windows: Version 8.1.6.0.0 - Produc tion 启动日期 14-3月 -2003 14:40:15 正常运行时间 0 天 0 小时 2 分 6 秒 跟踪级别 off 安全性 OFF SNMP OFF 监听器参数文件 f:\Oracle\Ora81\network\admin\listener.ora 监听器日志文件 f:\Oracle\Ora81\network\log\listener.log 服务摘要.. PLSExtProc 具有1个服务处理程序 orc2 具有1个服务处理程序 orcl 具有1个服务处理程序 orcl 具有2个服务处理程序 命令执行成功 LSNRCTL> 七、再去连接,成功 SVRMGR> connect internal/sys@orcl; 连接成功。 SVRMGR>