oracle监听器启动不了

时间:2022-02-07 22:51:06
启动时提示:   

 本地计算机上的OracleOraDb10_hme1TNSListener服务启动后又停止了。一些服务自动停止,如果它们没有什么可以的,例如“性能日志和警报”服务  

           [ 确定 ]
 这个对话框。

12 个解决方案

#1


我不知道你在说什么,把问题想清楚了,在提出来,ok?或者,直接加我QQ:535064959

#2



/*
oracle 监听器无法启动的问题
问题描述:在服务中启动监视器时显示:服务启动后又停止了。
问题解决:运行lsnctrl start,显示系统文件参数为ORCLEHOME\network\admin\listener.ora
......
监听对象时出错:发现host=×××出了问题,当更改ip或者更改主机名时会出现这样的问题。在ORCLEHOME\network\admin\listener.ora中修改成对应的主机名即可 
*/

#3


查看日志报的什么错误了!

#4



/*
从客户端连接到服务器,出现了这个错误,ora12541-TNS : 没有监听器
于是,在服务器中启动OracleOraHome92TNSListener服务,显示“在本地计算机无法启动OracleOraHome92TNSListener服务,错误3,系统找不到指定路径”。

原因:Windows优化大师将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>
*/

#5


先看报什么错误吧

#6


如果是windows的话 直接用 ncfa 工具重建一下监听吧。 一般来说如果结构没变化,应该是可以重建成功

#7


你把监听重新配置试试。。。。

#8


会不会是你的端口被占用了噢,如果被占用了确实会出现你说的情况噢...

#9


用配置管理工具把现有的监听删掉,再配置上久OK了

#10


重新配置一个监听器

#11


把监听器重新配置下

#12


我和lz出现的了同样的错误 ,我的修改方式是:在db_1\NETWORK\ADMIN下找到listener.ora文件,进行编辑, 修改了HOST的值,下面是我修改后的listener.ora文件 
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (ORACLE_HOME = E:\oracle\product\10.2.0\db_1) 
      (SID_NAME = orcl【这里是实例服务器名】)
    ) 
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1【将IP地址修改为本机地址】)(PORT = 1521))
    )
  )

并且在同一目录下找到tnsnames.ora,找到你的实例服务器 ,并修改IP地址。 修改好了后就能启动监听器了。

#1


我不知道你在说什么,把问题想清楚了,在提出来,ok?或者,直接加我QQ:535064959

#2



/*
oracle 监听器无法启动的问题
问题描述:在服务中启动监视器时显示:服务启动后又停止了。
问题解决:运行lsnctrl start,显示系统文件参数为ORCLEHOME\network\admin\listener.ora
......
监听对象时出错:发现host=×××出了问题,当更改ip或者更改主机名时会出现这样的问题。在ORCLEHOME\network\admin\listener.ora中修改成对应的主机名即可 
*/

#3


查看日志报的什么错误了!

#4



/*
从客户端连接到服务器,出现了这个错误,ora12541-TNS : 没有监听器
于是,在服务器中启动OracleOraHome92TNSListener服务,显示“在本地计算机无法启动OracleOraHome92TNSListener服务,错误3,系统找不到指定路径”。

原因:Windows优化大师将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>
*/

#5


先看报什么错误吧

#6


如果是windows的话 直接用 ncfa 工具重建一下监听吧。 一般来说如果结构没变化,应该是可以重建成功

#7


你把监听重新配置试试。。。。

#8


会不会是你的端口被占用了噢,如果被占用了确实会出现你说的情况噢...

#9


用配置管理工具把现有的监听删掉,再配置上久OK了

#10


重新配置一个监听器

#11


把监听器重新配置下

#12


我和lz出现的了同样的错误 ,我的修改方式是:在db_1\NETWORK\ADMIN下找到listener.ora文件,进行编辑, 修改了HOST的值,下面是我修改后的listener.ora文件 
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (ORACLE_HOME = E:\oracle\product\10.2.0\db_1) 
      (SID_NAME = orcl【这里是实例服务器名】)
    ) 
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1【将IP地址修改为本机地址】)(PORT = 1521))
    )
  )

并且在同一目录下找到tnsnames.ora,找到你的实例服务器 ,并修改IP地址。 修改好了后就能启动监听器了。