暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

ORA-12537连接关闭

原创 DBA_JohnHuang 2023-05-21
6296

ORA-12537: TNS:connection closed

1.环境

Oracle linux 5.8 + Oracle 11g rac

2. 问题描述

客户端PLSQL与服务器端SQLplus都无法连接数据库,报错ORA-12537:TNS:Connection closed

3.原因分析

3.1 检查监听状态

lsnrctl status正常,查看listener.log(当PLSQL连接错误时,listener.log会有TNS:12518的错误)

20170210204901992.png

3.2 TNS问题

造成TNS:12518错误的原因可能是processes和session值设置太小或者dispatcher使用率过高

1)使用PLSQL本地连接到Oracle,分别查看process进程数和session会话数

select count(*) from v$process; --取得数据库目前的进程数。 select value from v$parameter where name = 'processes'; --取得进程数的上限。 select count(*) from v$session; --取得数据库目前的会话数。 select value from v$parameter where name = 'sessions'; --取得会话数的上限。

20170210205528350.png

从上图中可以看出process进程数和session会话数都比预设最高值低很多,排除此原因

若需要修改process进程数和session会话数

a) 修改process值 alter system set processes=1000 scope=spfile; --将process值改为1000 b) 修改session值 alter system set sessions=1105 scope=spfile; --将sessions值改为1105

之后重启数据库生效

2)当前dispatcher个数不够,dispatcher使用率过高

20170210205841117.png

--查看当前dispatchers个数和部分信息。一般默认安装的库只有一个 select name,busy,status,accept,idle from v$dispatcher; --查看dispatchers使用率 select name,(busy/(busy+idle))*100 "busy rate%" from v$dispatcher;

20170210205906866.png

从上图中可以看出dispatcher使用率为0,排除此原因

若需要修改dipacther个数

--修改dispatchers个数为3.之后重启数据库
alter system set dispatchers='(protocol=tcp)(dispatchers=3)(service=youroracleservicenameXDB)';	

3.3 重启系统

不符合上述几种情形后,决定重启系统,但是重启系统之后再次尝试,问题依旧存在

shutdown -g0 -y -i6

3.4 重新安装数据库

未解决问题

4.本次故障的真正原因

oracle文件的执行权限意外变更

20170210210520948.png

找到服务器上$ORACLE_HOME/bin下的oracle文件的权限

再次使用客户端PLSQL和服务器端sqlplus连接数据库,可以成功连接,问题解决!

进一步分析:由于oracle派生进程需要用到可执行文件oracle,所以该文件权限被意外修改之后派生进程会出现异常,因为监听派生进程本质上会调用到$ORACLE_HOME/bin/oracle可执行文件派生。

5.总结

一般监听发生问题不外乎检查如下几项:

1)/etc/hosts及域名解析配置文件

2)监听日志大小

3)监听状态

4)$ORACLE_HOME/bin下oracle可执行文件权限

本文参考链接:

ORA-12537: TNS:connection closed问题解决

ORA-12518: TNS: 监听程序无法分发客户机连接

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论