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

如理思路: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. Python Matplotlib.plot Update image Questions

    1. 最近在测试一款设备,采集了一些设备后需要一帧一帧显示图像,经常使用Python,所以选用了Matplotlib进行图像操作 数据结构: timesatamp polar_distance hor ...

  2. WOJ 7 智商

    感觉Dasin去年的毒瘤题质量都挺好的,果然还是我太菜了. 以下假设划横线部分都相等,字符$c$代表一个小写字母. 分类讨论: $#1$ 先考虑$n == m$的情况 : $#1.1 :$ A:   ...

  3. then方法

    sendSMS(phoneNo).then(function(data) { var msg = (data && data['msg']) ? data['msg'] : '验证码已 ...

  4. java 获取前几天时间

    java   获取前几天时间 一.toLocaleString()函数过时: //当前时间   Date endDate=new Date();   String endTime=endDate.to ...

  5. mongoDB(1) -- 安装及开始

    安装完成后在/bin文件夹下打开命令窗口 输入.\mongo启动数据库,若正常启动说明安装成功: 为了启动mongodb方便,将mongod.exe路径加入环境变量,电脑->属性->高级系 ...

  6. C++期中考试

    第一题1. 补足日期类实现,使得能够根据日期获取这是一年中第多少天.(12分) date.h #ifndef DATE_H #define DATE_H class Date { public: Da ...

  7. Pyinstaller打包matplotlib.pyplot画图时提示无法找到Qt插件的解决办法

    This application failed to start because it could not find or load the Qt platform plugin "wind ...

  8. JBOSS AS 性能调整优化

    1 减少日志的输出量 *\jboss-4.2.3.GA\server\default\conf\jboss-log4j.xml 根据不同的日志级别:一共有5个等级,越往下输出的东西越详细.一般没什么特 ...

  9. angular知识点总结

    angularjs angular支持的运算 逻辑运算 比较运算 三目运算 调用字符串对象的成员方法 使用直接变量表示法创建对象 使用数组 (不可以)new var (不可以)调用全局es javas ...

  10. Codeforces Round #521 (Div. 3) C. Good Array

    C. Good Array time limit per test 1 second memory limit per test 256 megabytes input standard input ...