度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 2175|回复: 6
打印 上一主题 下一主题

[分享] oracle监听启动不了的问题

[复制链接]

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
跳转到指定楼层
楼主
发表于 2020-3-19 16:51:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

1 问题描述

oracle数据库在服务器上运行正常,但是不能通过网络连接(即使用客户端不能连接数据库,在服务器端正常,诊断的初步原因为监听器问题)。在服务器端使用以下命令:

bash-3.1$ cd $ORACLE_HOME/bin

bash-3.1$ ./lsnrctl

LSNRCTL> status

结果出现:

CONNECT (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))

然后就停止不动了,使用

LSNRCTL> start

后没有任何反应,其结果是监听器启动不了。


2 分析问题

首先,使用以下命令

bash-3.1$ cd $ORACLE_HOME/network/admin

bash-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$ ./lsnrctl

LSNRCTL> stop

LSNRCTL> start

监听器成功启动,至此,问题圆满解决。


4 结束语

监听器无法启动的问题,一般情况下是监听的配置问题或者是主机IP的问题。该问题也可能出现在“主机IP被修改”的情况。如果你经常需要更改主机IP,但是你的主机只有一个网卡的话,那么监听配置最好用主机名,如果你的主机有多个网卡,那么监听配置最好用你的数据库服务器IP。当然,修改配置的话,还可以用图形界面的来改,在windows下直接使用net manager来改,如果是linux系统的话,可以使用$ORACLE_HOME/bin目录下的netmgr命令来调出图形界面。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

348

主题

3572

帖子

9759

积分

论坛元老

Rank: 8Rank: 8

积分
9759
沙发
发表于 2020-3-19 17:33:03 | 只看该作者
生命在于运动,知识在于积累。。。。
感谢国家,感谢党,感谢人民

点评

不感谢不?  详情 回复 发表于 2020-3-21 14:00
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
板凳
发表于 2020-3-20 15:12:14 | 只看该作者
oracle连接报错确实是个大问题;已收藏

点评

嗯,就是!  详情 回复 发表于 2020-3-21 14:01
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9759

积分

论坛元老

Rank: 8Rank: 8

积分
9759
地板
发表于 2020-3-20 21:59:45 | 只看该作者
感谢党,感谢人民,感谢重庆市政府
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
5#
 楼主| 发表于 2020-3-21 14:00:42 | 只看该作者
万望 发表于 2016-4-19 17:33
生命在于运动,知识在于积累。。。。
感谢国家,感谢党,感谢人民

不感谢不?
回复 支持 反对

使用道具 举报

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
6#
 楼主| 发表于 2020-3-21 14:01:32 | 只看该作者
张兴康 发表于 2016-4-20 15:12
oracle连接报错确实是个大问题;已收藏

嗯,就是!
回复 支持 反对

使用道具 举报

542

主题

5916

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13589
7#
发表于 2020-3-21 14:19:15 | 只看该作者
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|玉祥公司客服-玉祥集团客服  本站关键词:快速开发平台

GMT+8, 2024-6-2 21:00 , Processed in 0.138748 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表