发现Oracle 监听服务启动后刷新又停止了,导致这种问题的有几种可能情况:
1.listener服务不正常,因此需要重建这个服务
方法一 :修改注册表
1>进入dos窗口,手工启动listener,无法启动;进入控制面板,手工启动listener服务,也无法启动。
2>删除listener服务:
打开注册表,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
OracleTNSListener,删除它,重启机器后,控制面板的服务中listener服务已经没有了。
3>重启listener,并自动重建listener服务:
进入dos窗口执行:c:\lsnrctl start
listener正常启动。进入控制面板的服务中,listener服务已经被自动重建,并且状态为“已启动”。
方法二:重新配置个监听器
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监听服务,可以连接到数据库。

2.后期修改了计算机名称导致监听服务找不到host