今天碰到一个listener的问题,记录一下

原帖在http://www.itpub.net/832987.html

listener起不来

DB version 10.2.0.3
OS version RHEL 4

[oracle@svr89 VIS_svr89]$ lsnrctl start VIS

LSNRCTL for Linux: Version 10.2.0.3.0 - Production on 13-AUG-2007 11:56:13

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

Starting /d01/oracle/vis10gdb/bin/tnslsnr: please wait...

TNS-12537: TNS:connection closed
TNS-12560: TNS:protocol adapter error
TNS-00507: Connection closed
Linux Error: 29: Illegal seek

[root@svr89 ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain
192.168.0.89 svr89.srs2.com

[oracle@svr89 VIS_svr89]$ cat listener.ora
#
# $Header: ad8ilsnr.ora 115.6 2005/05/20 11:31:24 pariga ship $
#
# ###############################################################
#
# This file is automatically generated by AutoConfig. It will be read and
# overwritten. If you were instructed to edit this file, or if you are not
# able to use the settings created by AutoConfig, refer to Metalink document
# 165195.1 for assistance.
#
# ###############################################################

#

#
# Net8 definition for Database listener
#

VIS =
(ADDRESS_LIST =
(ADDRESS= (PROTOCOL= IPC)(KEY= EXTPROCVIS))
(ADDRESS= (PROTOCOL= TCP)(Host= 192.168.0.89 )(Port= 1521))
)

SID_LIST_VIS =
(SID_LIST =
(SID_DESC =
(ORACLE_HOME= /d01/oracle/vis10gdb)
(SID_NAME = VIS)
)
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /d01/oracle/vis10gdb)
(PROGRAM = extproc)
)
)

STARTUP_WAIT_TIME_VIS = 0
CONNECT_TIMEOUT_VIS = 10
TRACE_LEVEL_VIS = OFF

LOG_DIRECTORY_VIS = /d01/oracle/vis10gdb/network/admin
LOG_FILE_VIS = VIS
TRACE_DIRECTORY_VIS = /d01/oracle/vis10gdb/network/admin
TRACE_FILE_VIS = VIS
ADMIN_RESTRICTIONS_VIS = OFF

IFILE=/d01/oracle/vis10gdb/network/admin/VIS_svr89/listener_ifile.ora
[oracle@svr89 VIS_svr89]$

看起来像是OS的问题,但是找不到问题在哪。

[oracle@svr89 VIS_svr89]$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:8A:48:9D
inet addr:192.168.0.89 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe8a:489d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:14379 errors:0 dropped:0 overruns:0 frame:0
TX packets:10829 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1211269 (1.1 MiB) TX bytes:7164086 (6.8 MiB)
Interrupt:177 Base address:0x1400

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:1736 errors:0 dropped:0 overruns:0 frame:0
TX packets:1736 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2437882 (2.3 MiB) TX bytes:2437882 (2.3 MiB)

在这台机器上ping别的机器都没问题,在别的机器上ping这台机器也没问题

这个是lsnrctl start VIS后的listener log

TNSLSNR for Linux: Version 10.2.0.3.0 - Production on 13-AUG-2007 12:02:17

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

System parameter file is /d01/oracle/vis10gdb/network/admin/VIS_svr89/listener.ora
Log messages written to /d01/oracle/vis10gdb/network/admin/vis.log
Trace information written to /d01/oracle/vis10gdb/network/admin/vis.trc
Trace level is currently 0

Started with pid=4961
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROCVIS)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.89)(PORT=1521)))

看不出什么问题,但listener没有起来

[oracle@svr89 admin]$ ps -ef|grep 4961
oracle 4967 4663 0 12:05 pts/2 00:00:00 grep 4961
[oracle@svr89 admin]$ netstat -an|grep 1521
[oracle@svr89 admin]$

 

解决办法: Metalink note: 294730.1
The information in this document applies to:
Oracle Net Services - Version: 10.1.0.3
This problem can occur on any platform.

Symptoms
The listener fails to start with the following errors:
TNS-12537: TNS:connection closed
TNS-12560: TNS:protocol adapter error
TNS-00507: Connection closed
Linux Error: 29: Illegal seek
Generic to Unix platforms.
Cause
Wrong syntax in hosts file and also due to the the tnslsnr process was enhanced in
10.1.0.3 to support FAN(Fast Application Notification) via
ONS (Oracle Notification Services). This new code opens a socket open on localhost. Therefore
"localhost" should be defined on the system.

This new code opens a socket open on localhost. Therefore "localhost" should be defined on the
system.
Fix
Change /etc/hosts file to include
127.0.0.1 localhost.localdomain localhost

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值