日期:2014-05-17  浏览次数:21014 次

急!!!改ip后,出现协议适配器不可加载的错误,但是配置文件使用的是host名,不解为什么会出现这个错误,请高人解答
我在客户现场将一台部署好Oracle机器的ip修改了,第二天开机时发现oracle监听没有自动启动,我手动启动oracle监听服务后再刷新服务列表,监听服务又变成未启动状态。。。


我检查log日志中,发现记录的错误如下:

TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production on 03-8月 -2010 11:38:49

Copyright (c) 1991, 2005, Oracle. All rights reserved.

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

以 pid=3044 开始
监听该对象时出错: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
TNS-12557: TNS: 协议适配器不可加载
 TNS-12560: TNS: 协议适配器错误
  TNS-00527: 协议适配器不可加载




但是我查看了listener.ora和tnsnames.ora文件,里面使用的都是主机名,没有使用ip地址


listener.ora文件内容如下:

# listener.ora Network Configuration File: F:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
  (SID_DESC =
  (SID_NAME = PLSExtProc)
  (ORACLE_HOME = F:\oracle\product\10.2.0\db_1)
  (PROGRAM = extproc)
  )
  )

LISTENER =
  (DESCRIPTION_LIST =
  (DESCRIPTION =
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
  (ADDRESS = (PROTOCOL = TCP)(HOST = FNP8DB)(PORT = 1521))
  )
  )



tnsnames.ora文件内容如下:

# tnsnames.ora Network Configuration File: F:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

ORCL =
  (DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = FNP8DB)(PORT = 1521))
  (CONNECT_DATA =
  (SERVER = DEDICATED)
  (SERVICE_NAME = orcl)
  )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
  (ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
  )
  (CONNECT_DATA =
  (SID = PLSExtProc)
  (PRESENTATION = RO)
  )
  )



请教大家如何解决这个问题,让oracle监听可以正常启动?

------解决方案--------------------
重新建立一个监听服务,不是说你删除了就行了,
要先删除再建一个

你可以
关闭oracleservice[SID] 服务
用net configuration assistant 重新建立一个监听
用net manager 重新配置一下链接
然后,重新启动oracleservice[SID] 服务

试试!!
------解决方案--------------------
建议,重新安装一下网络连接中的“tcp/ip 协议”;
如果不行,可以重新设置一下系统的网络界面 netsh interface ip reset。