1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > oracle 启动监听报错TNS-12547: TNS:lost contact

oracle 启动监听报错TNS-12547: TNS:lost contact

时间:2020-01-02 01:31:36

相关推荐

oracle 启动监听报错TNS-12547: TNS:lost contact

监听启动出错,报以下错误:

lsnrctl start

LSNRCTL for Linux: Version 9.2.0.4.0 - Production on 06-JUL- 14:37:59

Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.

Starting /opt/oracle/product/9ir2/bin/tnslsnr: please wait...

TNS-12547: TNS:lost contact

TNS-12560: TNS:protocol adapter error

TNS-00517: Lost contact

Linux Error: 32: Broken pipe

数据库服务器操作系统为Red Hat AS4,属于32位操作系统,最大文本文件不能超过2G。

当$ORACLE_HOME/network/log中listener.log大小等于2G的时候,无法继续写入日志,监听服务会自动停掉,启动或停止listener时都会报错

数据库服务器操作系统为Red Hat AS4,属于32位操作系统,最大文本文件不能超过2G。

当$ORACLE_HOME/network/log中listener.log大小等于2G的时候,无法继续写入日志,监听服务会自动停掉,启动或停止listener时都会报错

解决办法:

1.经常手工去清除listener.log文件的内容,在数据库服务器执行以下命令

cd $ORACLE_HOME/network/log

cat </dev/null> listener.log

2、让命令lsnrctl不记录log,在数据库服务器执行以下命令

lsnrctl

set log_status off

quit

也可以在listener.ora文件中加入logging_listener=off,即可关闭监听日志

可能跟这个问题相关的第二种情况,错误信息如下:

TNS-12547: TNS:lost contact

TNS-12560: TNS:protocol adapter error

TNS-00517: Lost contact

Linux Error: 104: Connection reset by peer

这个问题应该跟主机名有关了,查看/etc/hosts文件

[root@olivenan root]# more /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1 localhost

然后查看listener.ora文件,发现HOST=ixdba

应该是这里的问题了,那么只需在/etc/hosts增加如下即可

[root@olivenan root]# more /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1 localhost

127.0.0.1 ixdba

以下是另外一种情况

今天上午,遇到一个问题,客户容灾库其中一个节点启动监听报错 TNS-12547: TNS:lost contact (另外一个节点启动正常)

根据抱错,怀疑是lintener.log日志文件太大了,超过2G了,所以无法启动,还有一个可能是/etc/hosts 目录下没有 127.0.0.1 loopback localhost 记录,这是通常导致此错误的常见原因

查看lintener.log日志文件,大小远不足2G,第一种可能排除;

r2:/oracle/app/oracle/product/9.2.0/network/log>ls -lrt

total 24

drwxr-xr-x 2 oracle dba 256 Nov 15 bak

-rw-r--r-- 1 oracle dba 6414 Feb 24 15:32 sqlnet.log

-rw-r--r-- 1 oracle dba 3025 Jul 09 11:38 listener.log

查看/etc/hosts的内容:127.0.0.1 loopback localhost # loopback (lo0) name/address也正常,第二种可能排除

/etc/hosts

#

# This file contains the hostnames and their address for hosts in the

# network. This file is used to resolve a hostname into an Internet

# address.

#

# At minimum, this file must contain the name and address for each

# device defined for TCP in your /etc/net file. It may also contain

# entries for well-known (reserved) names such as timeserver

# and printserver as well as any other host name and address.

#

# The format of this file is:

# Internet Address Hostname # Comments

# Items are separated by any number of blanks and/or tabs. A '#'

# indicates the beginning of a comment; characters up to the end of the

# line are not interpreted by routines which search this file. Blank

# lines are allowed.

# Internet Address Hostname # Comments

# 192.9.200.1 net0sample # ethernet name/address

# 128.100.0.1 token0sample # token ring name/address

# 10.2.0.2 x25sample # x.25 name/address

127.0.0.1 loopback localhost # loopback (lo0) name/address

这里依旧尝试了一下,rm lintener.log,在touch一个listener.log,在启动监听

Lsnrctl stop -----先停掉listener

rm listener.log ----cd $ORACLE_HOME/network/log

touch listener.log

lsnrctl start

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=135.10.34.38)(PORT=1521)))

TNS-12547: TNS:lost contact

TNS-12560: TNS rotocol adapter error

TNS-00517: Lost contact

IBM/AIX RISC System/6000 Error: 73: Connection reset by peer

报错依旧,查看lintener.log里的记录

09-JUL- 12:17:05 * 12546

TNS-12546: TNS ermission denied

TNS-12560: TNS rotocol adapter error

TNS-00516: Permission denied

查看其进程:

r2:/oracle/app/oracle/product/9.2.0/network/admin>ps -ef |grep lsnr

oracle 192870 168578 0 12:16:13 pts/9 0:00 grep lsnr

oracle 254244 274714 0 11:06:44 pts/0 0:00 lsnrctl

oracle 242390 1 0 11:06:57 pts/0 0:00 /oracle/app/oracle/product/9.2.0/bin/tnslsnr LISTENER -inherit

rzyzdb2:/oracle/app/oracle/product/9.2.0/network/admin>

kill -9 242390

r2:/oracle/app/oracle/product/9.2.0/network/log>lsnrctl start

LSNRCTL for IBM/AIX RISC System/6000: Version 9.2.0.8.0 - Production on 09-JUL- 12:24:21

Copyright 1991, , Oracle Corporation. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=135.10.34.38)(PORT=1521)))

TNS-12537: TNS:connection closed

TNS-12560: TNS rotocol adapter error

TNS-00507: Connection closed

查看节点2的sqlnet.ora发现:

问题就在此(sqlnet.ora里面有ip限制的,38这个ip,也就是出故障的这个ip不再sqlnet.ora内容里,将38添加到sqlnet.ora后,启动正常)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。