日期:2014-05-16  浏览次数:20416 次

oracle监听无法启动
C:\Documents and Settings\All Users\「开始」菜单\程序\Oracle - OraHome81\Network Administration\Net8 Assistant
重建监听

ORACLE监听重建
在注册表里清理启动项就OK了

产生这个问题的原因是listener服务不正常,因此需要重建这个服务。
解决方法如下:
1、进入dos窗口,手工启动listener,无法启动;进入控制面板,手工启动listener服务,也无法启动。
2、删除listener服务:
打开注册表,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
OracleTNSListener,删除它,重启机器后,控制面板的服务中listener服务已经没有了。
3、重启listener,并自动重建listener服务:
进入dos窗口执行:c:\lsnrctl start
listener正常启动。进入控制面板的服务中,listener服务已经被自动重建,并且状态为“已启动”。

------------------------------
C:\oracle\ora81\network\ADMIN下的监听文件listener.ora

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.0)(PORT = 1521))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
)
---------------------------
把监听文件的host改为
HOST = 127.0.0.0




二、百度文库里面:
Oracle监听器服务无法启动解决办法 收藏
办法一:修改注册表

解决办法就是修改注册表,ImagePath

开始-->运行REGEDIT -->进入注册表找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleXXXTNSListener

发现ImagePath关键值没有了,新建一个名为ImagePath的可扩充字符串值,编辑字符串的数值数据为:Oracle安装路径\BIN\TNSLSNR



办法二:重新配置个监听器

1.停掉所有ORACLE服务,设为手动。进入oracle网络管理工具“Net8 Configration Assistant”或“Net8 Assistant”,重新配置一个监听服务,名为“Listener1”。


2.进入“命令提示符”,运行“监听控制程序——LSNRCTL”,再运行“start listener1”,首次启动Listener1监听程序,为Listener1在操作系统服务里生成相关服务项。为了后面的修改操作能够生效,再运行“stop listener1”停止Listener1。


3.将服务中原Listener服务的“启动类型”改为“已禁用”,将已生成的Listener1服务的“启动类型”改为“自动”。


4.用“记事本”打开监听服务配置文件“ORACLE_HOME \ network \ admin \ listener.ora”,将“LISTENER =”、“SID_LIST_LISTENER =”分别改为“LISTENER1 =”、“SID_LIST_LISTENER1 =”,并删除当前的“LISTENER1 =”、“SID_LIST_LISTENER1 =”项。该操作的作用为:不用费力为Listener1监听服务再配置常规参数、数据库监听等,直接采用原Listener服务的配置。


5.再启动Listener1监听服务,可以连接到数据库。



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hittata/archive/2009/04/10/4061562.aspx 
[color=blue][/color]