学习
实践
活动
专区
工具
TVP
写文章
专栏首页TidbFatal NI connect error 12170的解决方案
原创

Fatal NI connect error 12170的解决方案

**导读**

> 作者:杨漆

> 16年关系型数据库管理,从oracle 9i 、10g、11g、12c到Mysql5.5、5.6、5.7、8.0 到TiDB获得3个OCP、2个OCM;运维路上不平坦,跌过不少坑、熬过许多夜。把工作笔记整理出来分享给大伙儿,希望帮到大家少走弯路、少熬夜。

***********************************************************************

Fatal NI connect error 12170.

VERSION INFORMATION:

TNS for Linux: Version 12.2.0.1.0 - Production

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

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

Time: 19-JUL-2021 07:44:37

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

Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=10.10.10.8)(PORT=57816))

2021-07-19T07:44:37.913683+08:00

RFS[2453]: Possible network disconnect with primary database

2021-07-19T07:44:50.197565+08:00

***********************************************************************

Fatal NI connect error 12170.

VERSION INFORMATION:

TNS for Linux: Version 12.2.0.1.0 - Production

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

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

Time: 19-JUL-2021 07:44:50

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

Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=10.10.10.2)(PORT=57810))

2021-07-19T07:44:50.201483+08:00

RFS[2450]: Possible network disconnect with primary database

2021-07-19T08:00:17.721570+08:00

RFS[2489]: Selected log 26 for T-3.S-196711 dbid 1513741333 branch 985960599

2021-07-19T08:00:17.855381+08:00

Media Recovery Waiting for thread 3 sequence 196711 (in transit)

2021-07-19T08:00:17.856272+08:00

登陆10.10.10.8检查归档应用状态(第二备库)

SQL> select count(*),to_char(min(first_time),'yyyymmdd hh24:mi:ss') from v$archived_log where applied='NO';

COUNT(*) TO_CHAR(MIN(FIRST

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

0

SQL> select count(*),to_char(max(first_time),'yyyymmdd hh24:mi:ss') from v$archived_log where applied='YES';

COUNT(*) TO_CHAR(MAX(FIRST

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

6413 20210719 08:18:02

登陆10.10.10.8检查归档应用状态(网络状态良好的第一备库)进行对比

SQL> select count(*),to_char(min(first_time),'yyyymmdd hh24:mi:ss') from v$archived_log where applied='NO';

COUNT(*) TO_CHAR(MIN(FIRST

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

0

SQL> select count(*),to_char(max(first_time),'yyyymmdd hh24:mi:ss') from v$archived_log where applied='YES';

COUNT(*) TO_CHAR(MAX(FIRST

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

14711 20210719 08:18:02

应用一切正常! 没有影响Master--Standby的运行,但日志量膨胀地太大,看到error总感觉有问题。

fatal NI connect error 12170产生的原因为:

1.备库试图连接主机,没有得到Master端的正确响应

2.被连接的主机没有响应导致一个已建立的连接失败

12C的自动诊断仓库默认将连接失败信息写入告警日志里,如果这类信息比较多会导致告警日志快速膨胀,降低磁盘空间可用量。

解决方案:

1.在sqlnet.ora中添加一行

DIAG_ADR_ENABLED=OFF

2.在listener.ora中添加一行

DIAG_ADR_ENABLED_LISTENER=OFF ## DIAG_ADR_ENABLED_<listenername>=OFF

3.重启监听

lsnrclt restart(业务会中断)

or

lsnrctl reload (业务不中断,如果业务不是很紧张,最好使用lsnrctl restart确保参数生效)

检查监听状态

LSNRCTL> status

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

STATUS of the LISTENER

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

Alias LISTENER

Version TNSLSNR for Linux: Version 12.2.0.1.0 - Production

Start Date 19-JUL-2021 09:03:38

Uptime 0 days 0 hr. 0 min. 3 sec

Trace Level off

Security ON: Local OS Authentication

SNMP OFF

Listener Parameter File /u01/app/oracle/product/network/admin/listener.ora

Listener Log File /u01/app/oracle/product/network/log/listener.log

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.10.10.8)(PORT=1521)))

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

Services Summary...

Service "orcl" has 1 instance(s).

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

Service "orcldg3" has 1 instance(s).

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

The command completed successfully

经过2小时的观察,日志中再没出现过类似Error信息。

问题解决!

原创声明,本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

登录 后参与评论
0 条评论

相关文章

  • 监听故障TNS-12537: TNS:connection closed 解决对策

    一组的同事找我说,有很多应用不能连接数据库,让我去帮忙看看,一开始以为是process 和session 数不构,去了查了一下,发现远没到设置的数,且主机未发现...

    星哥玩云
  • Netweaver 服务器和客户端TLS版本号不匹配的解决方案

    我今天用ABAP http API cl_http_client访问下面这个链接时:

    Jerry Wang
  • dg broker校验失败的一个奇怪问题(二) (r8笔记第51天)

    对昨天提出的问题做了一个简单的分析和排查,也算是有了一个交代,上一篇文章在 dg broker校验失败的一个奇怪问题 我查看了最近的日志,发现在半个月以前有一...

    jeanron100
  • Windows平台的Oracle使用USE_SHARED_SOCKET的作用

    12170, 00000, "TNS:Connect timeout occurred"

    bisal
  • 停止数据库没有响应的问题分析(r9笔记第51天)

    昨天写了一篇停库没有响应的问题分析,其实对于我来说,还是有些不太踏实,里面有几点需要改进。 因为是测试环境,所以操作的时候就随意了一些,如果是生产环境,直接ki...

    jeanron100
  • 使用sysbench压力测试MySQL(三)(r12笔记第6天)

    昨天使用gdb调试MySQL中事务临界状态的时候,发现其实有些场景可能比我想得还要复杂一些,所以我在昨天的测试中结尾也是快快扫过,但是表明了意思即可。这一点...

    jeanron100
  • 局域网中连接windows环境下的oracle数据库

    将该TNS信息配置到同事本地的tnsnames.ora文件,使用pl/sql developer无法连接,报错TNS-12535: TNS操作超时1。

    栋先生
  • alert日志中的两种ORA错误分析(r6笔记第21天)

    今天在巡检系统的时候,发现alert日志中有两种类型的ora错误。 Errors in file /U01/app/oracle/diag/rdbms/XX/...

    jeanron100
  • SAP Java Connector 错误 - JCO_ERROR_COMMUNICATION

    我运行 SAP Java Connector 自带的 SimpleCall 例子程序时,遇到如下错误消息:

    Jerry Wang
  • Go实现ssh执行远端命令及远程终端

    常见_iginkgo
  • git 遇到的问题

    问题: git pull failed(git pull失败) unable to access 'https://github.com/jinxing163/...

    用户1518699
  • tke集群搭建Linkerd2

    Linkerd 是 Kubernetes 的服务网格。它通过为您提供运行时调试、可观察性、可靠性和安全性,使运行服务更轻松、更安全——所有这些都不需要对您的代码...

    聂伟星
  • 两个数据访问受限的问题

    最近几天实在忙得厉害,处理了各种数据需求,有种顾及不来,而其中有一部分问题是和数据访问相关的,问题的原因很简单,但是分析问题的过程就需要很多的经验,推导...

    jeanron100
  • [ 物联网篇 ] 01 - NXP i.MX 8M Mini 环境的搭建

    不管任何时候,接触任何新的平台或学习新的知识,首先就是看官网提供的文档,或搜索下是否有相关的资料。

    程序手艺人
  • github|fatal:unable to access|OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com 443

    努力在北京混出人样
  • github|fatal:unable to access|OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com 443

    fatal: unable to access ‘https://github.com/xingbuxing/TA-Lib-in-chinese.git/‘: ...

    努力在北京混出人样
  • 在腾讯云上使用kubeadm搭建Kubernetes集群

    容器技术在国内已经非常火爆,作为IT从业者的一员,必须跟上时代的浪潮,掌握容器相关技术。提到容器技术必然会提到容器的编排系统,在众多编排系统中Google的Ku...

    Hunter
  • 别再乱打日志了,这份 Java 日志规范,应有尽有,建议收藏!

    在程序中写日志是一件非常重要,但是很容易被开发人员忽视的地方。写好程序的日志可以帮助我们大大减轻后期维护压力。在实际的工作中,开发人员往往迫于巨大时间压力,而写...

    公众号 IT老哥
  • 别再乱打日志了,这份 Java 日志规范,应有尽有,建议收藏!!

    点击关注公众号,Java干货及时送达 1 简介 在程序中写日志是一件非常重要,但是很容易被开发人员忽视的地方。写好程序的日志可以帮助我们大大减轻后期维护压力。...

    Java技术栈

扫码关注腾讯云开发者

领取腾讯云代金券