故障现象:数据库迁移到新环境刚过两天。今天生产核心数,断断继续的告警连接不上。这是问题!

如理思路:1.查看alert日志,日志无报错
                 2.查看连接数,参数设置的2000,历史最高连接1706, 当前连接1698   ,初步一看,排除了连接数不够的问题。

                 3.查看监听日志,第一次查询,由于断断续续断不上,并没有仔细看查。并未发现问题。 在第二次查看时,发现监听日志中有出现 TNS-12520 错误 ,并有 service_update * servicename * 0 信息

查询资料:
1. 网上查询是ORA-12520  ,大多数是说tnsname.ora 中(server=shared) 改成(server=dedicated)  由于程度未并改配置,又是断断续续,加上网上是ORA-12520(alert中并未有这个错误 ),可以排除这个问题。为了稳妥起见,我通过监听日志,找到连接失败的IP,登录到业务服务器确认, tnsname.ora 的配置就是dedicated

2.process不够引起的,可以排除这个问题,当前参数限制是2000,而我历史最高连接也就1706个。

3.通守MOS 查询TNS-12520 .找到文档 ID 2321889.1  其现象和现场一致。
  文档中参数是设的3000,历史最高连接3000,当前连接2723 
  其主要内容是说,pmon将定期注册到侦听器,并将DB当前进程号发送给侦听器。当前连接数已是2723 个连接,在没有释放连接数的情况下,侦听器将只允许300个新连接(3000 - 2700),直到下一次pmon注册发生。
  
 在大多数情况下,这可能就足够了,因为PMON或LREG将在短时间内注册到监听器,而现在应用程序很可能使用连接池。
 但是,如果发生登录风暴或连接数量的显着峰值,则可能发生TNS-12520错误,然后在实例更新侦听器进程所花费的时间内清除。
 这是错误转瞬即自纠的情况(即出现后马上恢复)。
例:08-OCT-2017 19:55:01 * service_update * servicename * 0

解决办法:
核实 数据库有较多短连接,跟业务说清楚,1.把短连接改为长连接  2.降低总体连接数  3.增大数据库连接数processes参数




APPLIES TO:Oracle Net Services - Version 11.2.0.4 to 12.2.0.1 [Release 11.2 to 12.2]

Information in this document applies to any platform.

        

SYMPTOMS

DB init parameter processes is set to 3000, TNS-12520 is seen in listener.log intermittently even v$resource_limit only shows a max value 2723 for process MAX_UTILIZATION:

RESOURCE_NAME CURRENT_UTILIZATION MAX_UTILIZATION INITIAL_ALLOCATION LIMIT_VALUE CON_ID
processes 1025 2723 3000 3000 0
sessions 935 2199 4536 4536 0

CAUSE

This is an expected behavior when login storm occurred with below justification:

pmon will register to listener periodically, and it sends the DB current process number to the listener. In this case, max allowed processes is 3000, and current processes is 2700, so that the listener will only allow 300 new connections (3000 - 2700) until another pmon registration happened.

It could be sufficient in most cases, since the PMON or LREG will register to the listener in a short time, and nowadays applications are most likely using connection pool.

But if a login storm or significant spike in the number of connections occurs, the TNS-12520 error can occur then clear in the time it takes for the instance to update the listener process.

This is a case where the error is fleeting then self corrects.

eg: Below is example of service registration

08-OCT-2017 19:55:01 * service_update * servicename * 0

SOLUTION

Identify the client or application server where these connections originate and tune that client so that the number of connections can be managed by your database.

ORACLE 12.2 RAC TNS-12520 遭遇连接风爆 (connection storm)的更多相关文章

  1. pl/sql 远程连接oracle数据库问题(TNS:丢失连接)

    前几天还可以连接的,突然就连接失效,别的电脑也连接不上 1.ping 远程数据库的IP,可以ping通. 2.检查服务端的tnsnames.ora文件和本机客户端比较,没问题. 3.查看监听是否启动  ...

  2. 记一次 oracle 12.2 RAC : Transaction recovery: lock conflict caught and ignored

    节点一 alert日志: PDB(17):Transaction recovery: lock conflict caught and ignored PDB(17):Transaction reco ...

  3. 【转】Oracle RAC 环境下的连接管理

    文章转自:http://www.oracle.com/technetwork/cn/articles/database-performance/oracle-rac-connection-mgmt-1 ...

  4. Oracle RAC 环境下的连接管理(转) --- 防止原文连接失效

    崔华老师的文章!!! 这篇文章详细介绍了Oracle RAC环境下的连接管理,分别介绍了什么是 Connect Time Load Balancing.Runtime Connection Load ...

  5. Toad DBA Suite for Oracle 12.6 64-bit Commercial 简单连接

    注意:Toad DBA Suite for Oracle 12.6 64-bit Commercial安装包推荐去官网下载,中文版的最好不要使用绿色免安装版,不然连接会报各种错误 1.安装:双击下载好 ...

  6. [转]Oracle 11g R2 RAC高可用连接特性 – SCAN详解

    原文地址:http://czmmiao.iteye.com/blog/2124373   昨天帮朋友解决11g RAC SCAN问题,当时为这朋友简单解答了一些SCAN特性相关的问题,但我知道这仅仅是 ...

  7. 安装完oracle重新启动后报ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务(重启前正常)

    安装完oracle重新启动后报ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务(重启前正常) 刚安装完后用plSql登录正常. 在dos命令行下 输入  sqlplus 用户 ...

  8. C#连接oracle数据库提示ORA-12154: TNS: 无法解析指定的连接标识符

    C#连接oracle数据库提示ORA-12154: TNS: 无法解析指定的连接标识符如果PLSQL Develope能连接上而用代码无法连接上则可以考虑sqlnet.ora文件中是否有NAMES.D ...

  9. Upgrade Oracle Database 12c Release 2(12.2) RAC on RHEL7.3 with RU

    Upgrade Oracle Database 12c Release 2(12.2) RAC on RHEL7.3 -- [ RU: 26610291 (GRID INFRASTRUCTURE RE ...

随机推荐

  1. essential C++中关于面向过程和面向对象的说明

    昨天在阅读essential C++中看到了一个关于面向过程和面向对象的区别的例子,感觉挺好的.记录下来.... 这个例子是关于照相机的.照相机有三个性质,一个是控制位置:通常使用3个浮点数据来表示其 ...

  2. libtool的工作原理

    libtool 是一个通用库支持脚本,将使用动态库的复杂性隐藏在统一.可移植的接口中:使用libtool的标准方法,可以在不同平台上创建并调用动态库.可以认为libtool是gcc的一个抽象,其包装了 ...

  3. Ubuntu学习小结(一) 基础知识,系统安装,软件安装,解压缩

    这段时间,抽空研究了一下Ubuntu,虽然也有过到目前为止使用计算机最作死的经历,但目前已经学会了一些最基本的操作.在这里简单的记录一下,算是吸取的教训,供其他人借鉴. 1.装Ubuntu系统.装Ub ...

  4. [译]Javascript中的循环

    本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...

  5. javaScript实现轮播图

    一.需求分析 在首页完成对轮播图的效果实现,完成自动切换图片的功能. 二.技术分析 获取元素 document.getElementById(“id 名称”) 事件(onload) 定时操作: set ...

  6. 【C#】 WebApi 路由机制剖析

    C#进阶系列——WebApi 路由机制剖析:你准备好了吗? 转自:https://blog.csdn.net/wulex/article/details/71601478 2017年05月11日 10 ...

  7. layui下select下拉框不显示或没有效果

    Layui会对select.checkbox.radio等原始元素隐藏,从而进行美化修饰处理.但这需要依赖于form组件,所以你必须加载 form,并且执行一个实例.值得注意的是:导航的Hover效果 ...

  8. Django之博客系统:增加标签

    一般在发表博客后会给每个帖子加上一个标签.类似帖子关键字的功能.在这一章中来看下如何给博客添加标签功能(tagging) 添加标签需要集成第三方的Django标签应用来完成这个功能.django-ta ...

  9. P3321 [SDOI2015]序列统计 FFT+快速幂+原根

    \(\color{#0066ff}{ 题目描述 }\) 小C有一个集合S,里面的元素都是小于M的非负整数.他用程序编写了一个数列生成器,可以生成一个长度为N的数列,数列中的每个数都属于集合S.小C用这 ...

  10. 拓扑排序/DP【洛谷P2883】 [USACO07MAR]牛交通Cow Traffic

    P2883 [USACO07MAR]牛交通Cow Traffic 随着牛的数量增加,农场的道路的拥挤现象十分严重,特别是在每天晚上的挤奶时间.为了解决这个问题,FJ决定研究这个问题,以能找到导致拥堵现 ...