黄石绿茵阁西餐厅:oracle监听启动不了的问题 - 华仔的博客 - CSDN博客

来源:百度文库 编辑:偶看新闻 时间:2024/04/30 00:10:41
oracle监听启动不了的问题 收藏
1 问题描述oracle数据库在服务器上运行正常,但是不能通过网络连接(即使用客户端不能连接数据库,在服务器端正常,诊断的初步原因为监听器问题)。在服务器端使用以下命令:bash-3.1$ cd $ORACLE_HOME/binbash-3.1$ ./lsnrctlLSNRCTL> status结果出现:CONNECT (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1))) 然后就停止不动了,使用LSNRCTL> start后没有任何反应,其结果是监听器启动不了。2 分析问题首先,使用以下命令bash-3.1$ cd $ORACLE_HOME/network/adminbash-3.1$ dir后,发现listener.ora和tnsnames.ora文件都在该目录下,然后bash-3.1$ gedit listener.ora里面有部分内容如下:LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = RHEL)(PORT = 1521))
    )
  )然后,再查看tnsnames.ora文件bash-3.1$ gedit tnsnames.ora里面的内容如下:ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = RHEL)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )使用hostname命令来查看主机名是否有错,如下bash-3.1$ hostname得到的结果是:RHEL至此,这两个文件都很正常,说明监听的配置是没有问题的,于是想到问题可能出在服务器的IP上。查看一下服务器的网络配置,果然发现原来服务器有多个IP地址处于活跃状态,而我们的ORACLE监听的是主机名(我的机器是RHEL,可以从上面的红色字体中看到)。因此,当服务器上出现多个活跃的IP时,监听器就无法确定该监听哪个IP,这样就会出现监听无法启动的问题。3 解决问题解决的办法是直接将监听器配置为监听IP,其解决的办法是,修改上述的两个文件(listener.ora和tnsnames.ora文件)中的红色字体标记的地方,将原来的主机名改为你所要监听的IP地址(指你的数据库服务器向应用程序提供的IP地址,我的数据库服务器的IP是192.168.0.110),我的更改是:修改listener.ora文件中的LISTENER,修改后为:LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.110)(PORT = 1521))
    )
  )然后再修改tnsnames.ora中的ORCL,修改后为:ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.110)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )然后,在重启监听器即可,其具体做法为:bash-3.1$ ./lsnrctlLSNRCTL> stopLSNRCTL> start监听器成功启动,至此,问题圆满解决。4 结束语监听器无法启动的问题,一般情况下是监听的配置问题或者是主机IP的问题。该问题也可能出现在“主机IP被修改”的情况。如果你经常需要更改主机IP,但是你的主机只有一个网卡的话,那么监听配置最好用主机名,如果你的主机有多个网卡,那么监听配置最好用你的数据库服务器IP。当然,修改配置的话,还可以用图形界面的来改,在windows下直接使用net manager来改,如果是linux系统的话,可以使用$ORACLE_HOME/bin目录下的netmgr命令来调出图形界面。Li Rong-Hua,2009.1.8记
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/mitedu/archive/2009/01/08/3733028.aspx