Oracle 无法监听 因目标主机或对象不存在 连接失败--解决方案

来源:互联网 发布:程序员求职网站 编辑:程序博客网 时间:2024/06/06 01:02

在配置Oracle过程中,监听服务无法启动的原因有很多,原因的分析主要通过Oracle配置过程中给出的错误信息进行判断。

 

我在配置过程中,安装过程都很顺利,基本没有出现错误。但在最后进入Oracle Enterprise Manager 10g Database Control后,发现控制台提示 无法监听。

 

 

在服务管理器中启动OracleOraDb10g_home1TNSListener服务,提示“因目标主机或对象不存在”或“依赖的服务未启动”。

1.我首先重启了服务“OracleServiceORCL”,后继续启动监听服务,没有效果。

2.后检查了防火墙设置(因为监听服务是NETWORK服务,如果机器上安装有放火墙,可能是服务器端口号被屏蔽),重启防火墙后,仍然不行。

3.因为每个服务都是一个exe应用程序,而对于数据库这样的服务,应该都是在注册表中设置其路径,后直接读取的。所以我百度了下,监听程序的注册表相关,如下:

在运行处执行regedit进入注册表到
开始 →运行→ regedit
按下面路径
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/OracleOraHome90TNSListener
找到OracleOraHomexxxTNSListener,检查其ImagePath是否存在,如果存在,检查其值(应为字符串值)是否为“你的Oracle安装目录/ora10(其他版本对应的是oraxxx目录)/bin/tnslsnr”

 

检查过后,发现ImagePath并没有出错

4.在绝望之际,无意发现了“lsnrctl”这个Oracle的命令,用于在Dos中启动监听服务,并给出提示信息;

开始 → 运行→ 输入CMD→ 

C:>lsnrctl
LSNRCTL> start

 

如上图所示,不知道你是否注意到一个很重要的地方;

 

HOST=192.168.1.100

 

此时,我才恍然大悟,马上在cmd中继续输入命令>ipconfig,查看我的电脑的IP,发现我的ip是:192.168.1.5。。。。。。。

我想这时候大家都应该明白错误的原因了吧,因为我的电脑IP设置为自动获取,所以每次重新连接猫,IP都会改变,此时,监听服务当然会找不到目标主机,因为主机作为其监听对象已经改变了其地址。

 

接下来的事,就不用我说了吧。。当然你可以改变自己电脑的Ip,也可以改变Oracle NETWORK 上的配置;

 

改变电脑IP 我就不说了,改变Oracle Network上的配置:

 

在你的Oracle安装目录中,如C:/oracle/product/10.2.0/db_1/network/ADMIN,下面有两个文件tnsnames.ora 和 listener.ora,用文本文件打开,修改HOST后面的IP地址即可;

 

5.修改IP后,重新输入

C:>lsnrctl
LSNRCTL> start

此时,提示监听启动成功:(显示启动监听的一些提示信息)

检查服务管理器,此时 监听服务已启动,Database Control中重新登入后,监听也启动了。。大功告成~~

原创粉丝点击