1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > oracle 监听报错 Oracle EBS系统数据库监听报错TNS-12547 TNS-12560和TNS-00517解决方法...

oracle 监听报错 Oracle EBS系统数据库监听报错TNS-12547 TNS-12560和TNS-00517解决方法...

时间:2022-11-15 02:39:17

相关推荐

oracle 监听报错 Oracle EBS系统数据库监听报错TNS-12547 TNS-12560和TNS-00517解决方法...

记得有一次Oracle EBS系统中止运行3小时,实在比较一次惨痛的教训,让我至今记忆犹新。

问题症状:用户反映提交的请求全部是红色错误

开始意为是并发管理“标准管理器”的问题,在Oracle EBS系统中重启该管理器和服务器上用命令重启都没有启作用。只能重启Oracle EBS相关服务。但是,在启动Oracle DB的监听时提示错误:

[oraprod@prod log]$ lsnrctl start PROD

LSNRCTL for Linux: Version 9.2.0.6.0 - Production on 16-JAN- 10:49:02

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

Starting /ora/proddb/9.2.0/bin/tnslsnr: please wait...

TNS-12547: TNS:lost contact

TNS-12560: TNS:protocol adapter error

TNS-00517: Lost contact

Linux Error: 32: Broken pipe

此时,输入命令:lsnrctl start 启动监听服务是正常。但是,以前启动Oracle监听必须要指定例实名(SID)。因此,不敢接下启用Oracle DB其它服务和Oracle EBS应用服务。

通过Oracle官方了解: 数据库服务器操作系统为Red Hat AS4,属于32位操作系统,最大文本文件不能超过2G。当$ORACLE_HOME/network/log中listener.log大小等于2G的时候,无法继续写入日志,监听服务会自动停掉,启动或停止listener时都会报错。适好我们的服务器操作系统是32位的。但是,查找到$ORACLE_HOME/network/log目录下文件,基本上没有一个文件超1M。看来监听日志文件手工修改过配置。

[oraprod@prod log]$ cd $ORACLE_HOME/network/log

[oraprod@prod log]$ ll -h

total 108K

-rw-r--r-- 1 oraprd dba 955 May 12 clone.log

-rw-r--r-- 1 oraprd dba 480 Jun 5 prod.log

-rw-r--r-- 1 oraprd dba 4.0K Jan 16 09:58 listener11.log

-rw-r--r-- 1 oraprd dba 4.3K Jan 16 09:16 listener.log

-rw-r--r-- 1 oraprd dba 475 Apr 5 prod.log

-rw-r--r-- 1 oraprd dba 55K Apr 7 sqlnet.log

[oraprod@prod log]$

接着,输入命令:$TNS_ADMIN

[oraprd@prod ~]$ cd $TNS_ADMIN

[oraprd@prod PROD_prod]$ pwd

/ora/proddb/9.2.0/network/admin/PROD_prod

[oraprd@prod PROD_prod]$ ll -h

total 40K

-rw-r--r-- 1 oraprd dba 2 Jan 20 listener_ifile.ora

-rw-r--r-- 1 oraprd dba 1.3K Jun 5 listener.ora

-rw-r--r-- 1 oraprd dba 2 Jan 20 sqlnet_ifile.ora

-rw-r--r-- 1 oraprd dba 609 Jun 5 sqlnet.ora

-rw-r--r-- 1 oraprd dba 1.9K Jun 5 tnsnames.ora

与最近备份的数据,比较文件:listener.ora、tnsnames.ora和sqlnet.ora等等文件均是一致没有修改过,说明监听配置没有问题。

输入命令:lsnrctl

[oraprd@prod ~]$ lsnrctl

-bash: lsrnctl: command not found

想通过lsnrctl命看查找配置监听日志文件的路径无法操作。可能是监听日志文件超过2G导致的。

幸好,在我一次不经意的输入:cd ..发现有一个日志文件超过2G.

[oraprd@prod PROD_prod]$ cd ..

[oraprd@prod admin]$ ll

total 5194376

drwxr-xr-x 2 oraprd dba 4096 Jun 5 PROD_prod

-rw-r--r-- 1 oraprd dba 2147483647 Jan 16 08:27 prod.log

-rw-r--r-- 1 oraprd dba 825 Apr 26 2002 libnk59.def

-rw-r--r-- 1 oraprd dba 1170 Jan 20 listener.ora

drwxrwxr-x 2 oraprd dba 4096 Jun 24 samples

-rw-r--r-- 1 oraprd dba 130 Mar 19 2002 shrept.lst

-rw-r--r-- 1 oraprd dba 24 Aug 8 2000 snmp_ro.ora

-rw-r--r-- 1 oraprd dba 1025 Jan 20 tnsnames.ora

只能抱着试一试的态度,重命名prod.log文件。然后,就能正常能启用Oracle DB监听了。输入:lsnrctl也可以正常了

查看一下系经配置监听日志文件的名称和目录

[oraprd@prod admin]$ lsnrctl status PROD

LSNRCTL for Linux: Version 9.2.0.6.0 - Production on 26-JAN- 19:28:11

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

Connecting to (ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROCPROD))

STATUS of the LISTENER

------------------------

Alias PROD

Version TNSLSNR for Linux: Version 9.2.0.6.0 - Production

Start Date 26-JAN- 06:35:49

Uptime 0 days 12 hr. 52 min. 22 sec

Trace Level off

Security OFF

SNMP OFF

Listener Parameter File /ora/proddb/9.2.0/network/admin/PROD_prod/listener.ora

Listener Log File /ora/proddb/9.2.0/network/admin/prod.log

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROCPROD)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=xxxx)))

Services Summary...

Service "PROD" has 2 instance(s).

Instance "PROD", status UNKNOWN, has 1 handler(s) for this service...

Instance "PROD", status READY, has 1 handler(s) for this service...

Service "PLSExtProc" has 1 instance(s).

Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...

The command completed successfully

原来,Oracle EBS的数据库监听日志文件和目录与我们平时安装Oracle DB的默认不一致。

标准Oracle DB默认为$ORACLE_HOME/network/log目录下

Oracle EBS默认目录:$ORACLE_HOME/network/admin 和 监听日志文件名为SID.log

总结,由于监听日志文件增长的速度比较慢,往往在做Oracle EBS健康检查时会被忽略。以往只会注意检查表空间大小、Oracle EBS应用服务日志、Oracle EBS请求输出目录和Oracle DB告警日志等等。因此,以后把监听日志文件大小也要纳入日常检查范围。

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