oracle 监听无法启动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 监听无法启动相关的知识,希望对你有一定的参考价值。

oracle 安装后 提示 监听无法启动 求解

oracle 监听器无法启动的问题

一、连接主机字符串,说没有监听器
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>

参考资料:http://wenku.baidu.com/view/e3e5f5717fd5360cba1adb40.html

参考技术A 产生这个问题的原因是listener服务不正常
重建这个服务。

进入dos窗口,手工启动listener,无法启动;进入控制面板,手工启动listener服务,也无法启动。

删除listener服务:
打开注册表,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
OracleTNSListener,删除它,重启机器后,控制面板的服务中listener服务已经没有了。
重启listener,并自动重建listener服务:
进入dos窗口执行:c:\lsnrctl start

listener正常启动。进入控制面板的服务中,listener服务已经被自动重建,并且状态为“已启动”。

呵呵 试一试
参考技术B 你可以查看监听器的配置文件,我的配置是这样的
# listener.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = JoinCheer-PC)(PORT = 1521))
)
)
我的很正常,你按照我的配置一下;再重启服务项,应该就没有问题了!
参考技术C 监听不能启动
主要是listener配置不正确,一般来说你更改IP或者机器名成了
用netmanager重新配置下就OK
参考技术D 监听不能启动
主要是listener配置不正确,一般来说你更改IP或者机器名成了
用netmanager重新配置

Oracle监听启动无法连接

现象

远程客户端toad连接,卡死没有反应.oracle服务器端使用 tsping {ip地址} 提示无法连接.

  1. 按照提示查询相应问题,提示可能配置问题,检查listener.ora(路径F:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora)路径按照实际安装路径查看;
  2. 检查配置文件配置
    (ADDRESS = (PROTOCOL = TCP)(HOST = HOSTNAME)(PORT = 1521))

    配置的HOST也是计算机名,并不是动态的ip

  3. 尝试重启OracleOraDb11g_home1TNSListener服务,重新连接,不起作用
  4. 检查对应的监听日志文件是否过大,实际只有几K.
  5. 怀疑是同一个工作组(workgroup)下有了同计算机名字的电脑,修改本机计算机名称,修改配置文件中的计算机名称,包括listener.ora和tnsnames.ora两个配置文件.
  6. 重启电脑,使用 tsping {ip地址} 检测,有返回结果.
  7. 客户端尝试连接,成功连接上.

好用的工具

  1. 在cmd中可以使用lsnrctl status来查看监听服务状态
  2. 使用sqlplus进入数据库进行操作
  3. show parameter listen 查看数据库中关于监听的配置
  4. alter system set local_listener=‘(ADDRESS = (PROTOCOL = TCP)(HOST = 计算机名)(PORT = 1521))‘(修改监听配置列表中的参数,引号中的参数仅作为样例)

以上是关于oracle 监听无法启动的主要内容,如果未能解决你的问题,请参考以下文章

oracle监听服务无法启动可以备份吗

oracle数据库无法启动监听服务怎么办?

请教Oracle11监听无法自动启动怎么办?总提示TNS-12541: TNS: 无监听程序 错误。

oracle listener服务无法启动

如何启动oracle监听

Oracle监听服务无法启动