暂无图片
Oracle监听报错问题处理求助
我来答
分享
鸡蛋
2022-05-07
Oracle监听报错问题处理求助
暂无图片 5M

巡检时候发现如下报错,知道没什么影响,但是看着不顺眼,想处理下,请问大家对这类报错是怎么处理的

Fatal NI connect error 12170.

  VERSION INFORMATION:

    TNS for Linux: Version 12.1.0.2.0 - Production

    Oracle Bequeath NT Protocol Adapter for Linux: Version 12.1.0.2.0 - Production

    TCP/IP NT Protocol Adapter for Linux: Version 12.1.0.2.0 - Production

  Time: 30-MAR-2022 23:26:11

  Tracing not turned on.

  Tns error struct:

    ns main err code: 12535

TNS-12535: TNS:operation timed out

    ns secondary err code: 12560

    nt main err code: 505

TNS-00505: Operation timed out

    nt secondary err code: 110

    nt OS err code: 0


网上看到很多不同的处理方法,不确定哪个适用

某度方案一(11.2.0.4.0):https://zhuanlan.zhihu.com/p/420652369

在sqlnet.ora设置
DIAG_ADR_ENABLED = OFF
在listener.ora设置
DIAG_ADR_ENABLED_ = OFF


某度方案二:

添加sqlnet.ora文件,增加一行SQLNET.EXPIRE_TIME=10


方案三:

jiekexu文章:https://www.modb.pro/db/70905

SQLNET.ALLOWED_LOGON_VERSION_SERVER=8

SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8

SQLNET.EXPIRE_TIME=1


网上还有各种其他不同的解决方法,实在不知道选哪个,请各位大神帮忙分析下应该选哪个,我的数据库版本是12.1.0.2.0

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
肖雪松

搞清楚EXPIRE_TIME的含义,答案就有了吧

暂无图片 评论
暂无图片 有用 0
打赏 0
JiekeXu
暂无图片

实在不知道选哪个了,就挨个尝试一遍,然后看看效果,实践是检验真理的唯一标准。
或者挨个某度下这几个参数的意义,着重看 SQLNET.EXPIRE_TIME 的含义就知道了吧。

暂无图片 评论
暂无图片 有用 0
打赏 0
鸡蛋
题主
2022-05-07
SQLNET.EXPIRE_TIME的含义不是断开超时连接吗
Uncopyrightable

目的

使用参数SQLNET.EXPIRE_TIME指定发送探针以验证客户端/服务器连接是否处于活动状态的时间间隔(以分钟为单位)。设置大于0的值可确保由于客户端终止异常,连接无法无限期保持打开状态。如果探测发现终止连接或不再使用的连接,则会返回错误,导致服务器进程退出。此参数主要用于数据库服务器,该服务器通常一次处理多个连接。

使用此终止连接检测功能的限制是:

遗留连接不允许这样做。

虽然非常小,但探测数据包会产生额外的流量,可能会降低网络性能。

根据正在使用的操作系统,服务器可能需要执行额外的处理以将连接探测事件与发生的其他事件区分开。这也可能导致网络性能下降。

默认

0

最低值

0

推荐值

10



SQLNET.EXPIRE_TIME = 10

DCD: Dead Connection Detection ,可以用于检测、标记僵死而没有断开会session,再由PMON进行清理,释放资源。开启DCD,只需要在服务端的sqlnet.ora文件中SQLNET.EXPIRE_TIME参数,单位为分钟。
如果时间达到这个值,server端就是发出一个”probe” packet 给客户端,如要客户断是正常的,这个packet就被忽略,timer重新计时;如果客户端异常中断,则server端就会收到一个消息,用以释放连接。

SQLNET.EXPIRE_TIME设置客户端连接会话超时时间(单位分钟)

定期检测客户端是否还是活动的,设置为0不检测

SQLNET.EXPIRE_TIME = 10

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
在Oracle的服务器上面安装一个jdk并且设置环境变量, 有影响吗?
回答 1
没有
Oracle 数据迁移到 postgreSQL,有没有开源工具推荐?
回答 4
已采纳
阿里datax
Oracle dataguard license怎么收费有人知道吗?
回答 1
如果是ADG列表价在这里:https://www.modb.pro/doc/5494如果是普通DG,不激活可以不额外付费。
M1机器不能装oracle, 有解决方案吗?
回答 5
已采纳
这个问题在oracle的github上有讨论过,其中有个官方人员回复是不支持https://github.com/oracle/dockerimages/discussions/1951然后有个网友,
用数据泵导出没问题导入出错
回答 3
可能是触发bug了。impdp排除统计信息试试:EXCLUDESTATISTICS
有sqlite 转oracle的工具吗?
回答 1
已采纳
试试NavicatPremium
oracle10g 迁移 oracle11g 用什么方法比较好?
回答 1
用数据泵expdp/impdp这个比较多些
Oracle的list分区表,过一段时间查不出数据,重建索引以后就能查出来,如果直接查指定分区,就很快能查出来?
回答 1
已采纳
检查是否是由于本地分区索引失效导致的,本地非分区索引失效的原因有:对分区执行split操作,会导致局部索引失效。对分区执行exchange操作,可能会导致局部索引失效
Oracle数据库中内连接的写法性能与半连接的写法性能哪个高?
回答 1
已采纳
如果半连接中主表属于1的关系,子表(子查询中的表)属于n的关系,在改写为内连接的时候,需要加上GROUPBY去重。这个时候半连接性能高于内连接。如果半连接中主表属于n的关系,子表(子查询中的表)属于1
一个麻烦的UNPIVOT实现
回答 4
不是很麻烦witht1as(selectregexpsubstr(ENTITYCODE,'[^]',1,2)ENTITYCODE,REPLACE(regexpsubstr(ENTITYCODE,'[^