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

服务-》启动ORACLE TNSListener 不成功
发现一个好贴,顺便粘这:数据库常见问题解决方法  http://blog.csdn.net/hdhai9451/archive/2009/03/04/3957094.aspx

现象描述:服务-》启动OracleOraDb10g_home1TNSListener,如下图操作:







启动后,立即自动停止。

注意:不要右键直接点“启动”,否则,看不到效果,原因:你启动后,虽然程序又自行停止了,但其状态栏里还是显示“已启动”,容易生成混淆。


到“D:\oracle\product\10.2.0\db_1\NETWORK\log”的listener.log里看日志,有如下内容:

系统参数文件为D:\oracle\product\10.2.0\db_1\network\admin\listener.ora
写入D:\oracle\product\10.2.0\db_1\network\log\listener.log的日志信息
写入D:\oracle\product\10.2.0\db_1\network\trace\listener.trc的跟踪信息
跟踪级别当前为0

以 pid=5832 开始
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
监听该对象时出错: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ibm-dabcd6d6269)(PORT=1521)))
TNS-12545: 因目标主机或对象不存在, 连接失败
TNS-12560: TNS: 协议适配器错误
  TNS-00515: 因目标主机或对象不存在, 连接失败
   32-bit Windows Error: 1001: Unknown error
不再监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))



HOST=ibm-dabcd6d6269,再查看“D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN”下的tnsname.ora,内容如下:
ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ibm-dabcd6d6269)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )


再看“C:\WINDOWS\system32\drivers\etc”下的hosts文件,内容如下:
127.0.0.1          localhost

改成  127.0.0.1          ibm-dabcd6d6269
服务可以启动,但TOAD连接仍然报错:TNS-12545: 因目标主机或对象不存在, 连接失败



还有个疑问就是,在哪个地方能随意的改这个HOST名称,因为我在调错过程中,发现,我把tnsnames.ora里的HOST名称与HOSTS里的名称改一致,但不是ibm-dabcd6d6269,就怎么样也不成功,就是说还是会启动不了。我就想,应该有个地方可以把这个名字彻底改了吧?

还有个情况,就是我的电脑为了加域改过名称,在网上搜说,这个会影响到TOAD连接,我后来想起来,刚安装库的时候(也就是没加域之前)是没有这个错误的,所以,这个论断应该是正确的。

服务启动不了的问题解决成功了,但是TOAD连接还是不成功,正在解决中。。。。


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
激动ing,对于昨天自己的“在哪个地方能随意的改这个HOST名称”今天终于找到了,






这里可以随意改,不过,当你添加一个新地址的时候,会默认带出你当前主机名称,我想,这个名称可能还是要和主机的名称保持一致吧???还没得到证实,待确认。

不过,现在TOAD仍然无法连接,错误一如昨天。晕菜ING。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

又搞了一会,按着“数据库常见问题”中的一,当服务器损坏处理解决,搞完后发现登录TOAD的错误改变了,ORA-01017:invalid username/password; logon denied

所以,证明了我的的确是因为Listener坏掉了。