当时客户求助,数据库状态不正常,连接到数据库无法正常操作,而且有时报错ORA-12537错误。ORA-12537: TNS:connection closedCau

在一个客户环境的数据库上发现这个问题。

当时客户求助,数据库状态不正常,连接到数据库无法正常操作,而且有时报错ORA-12537错误。

ORA-12537: TNS:connection closed

Cause: "End of file" condition has been reached; partner has disconnected.

Action: None needed; this is an information message.

导致这个错误的原因有很多,不好确定问题的原因,于是通过远程登陆数据库检查系统状态:

SQL> select count(*) from v$session;

COUNT(*)

----------

996

SQL> select event, count(*) from v$session group by event having count(*) > 10 order by 2 desc ;

EVENT COUNT(*)

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

resmgr:become active 968

rdbms ipc message 12

数据库中会话数接近1000,而根据客户描述,正常情况下,连接数不到100。更奇怪的是,几乎所有的会话都在等待resmgr:become active这个事件。

根据事件名称就可以知道,这是一个资源管理区相关的等待事件,查询了一下metalink,发现如果系统资源管理区设置为INTERNAL_QUIESCE的状态,则所有SYS和SYSTEM以外的用户将处于这个等待事件,而无法进行任何的操作。Metalink文档ID 396970.1描述了这个现象。

但是,当前有几点和问题描述有所区别。首先,一般在进入WEEKNIGHT_WINDOW或WEEKEND_WINDOW窗口可能导致这个现象,而用户出现问题时是下午,因此排除了切换窗口导致资源管理器设置为INTERNAL_QUIESCE的可能性。第二,当发现等待事件为resmgr:become active后,,当时就查询了v$rsrc_plan视图,结果为空,说明当前系统并没有设置资源管理策略。

虽然问题的原因并不一定是切换窗口导致的资源管理器设置了资源策略,但是问题显然和资源管理器有直接的关系。Eygle以前也碰到过类似的现象,根据他的推测,可能是由于连接用户数过多,从而超过了Oracle内部的某个阈值,导致Oracle自动启用了资源管理策略。

虽然问题的真正原因还不是很清楚,不过解决这个问题并不复杂,虽然用户默认resource_manager_plan参数为空,但是Oracle内部仍然可能自动使用资源管理器,因此可以通过隐含参数来禁止资源管理器的启动:

设置初始化参数"_resource_manager_always_on"=false后,重启数据库,这个问题没有再出现。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

oracle中出现大量active,Oracle技术之大量会话出现resmgr:become active等待相关推荐

  1. 在Oracle中,如何定时清理INACTIVE状态的会话?

    在Oracle中,如何定时清理INACTIVE状态的会话? 一般情况下,少量的INACTVIE会话对数据库并没有什么影响,但是,如果由于程序设计等某些原因导致数据库出现大量的会话长时间处于INACTI ...

  2. 【DB笔试面试702】在Oracle中,如何定时清理INACTIVE状态的会话?

    ♣ 题目部分 在Oracle中,如何定时清理INACTIVE状态的会话? ♣ 答案部分 一般情况下,少量的INACTVIE会话对数据库并没有什么影响,但是,如果由于程序设计等某些原因导致数据库出现大量 ...

  3. oracle中的guid,在Oracle中使用Guid

    在Oracle中使用Guid 在Oracle中使用Guid 在Oracle中可以用SYS_GUID()来生成一个guid,相当于msSql中的newid(). 在Oracle9i和Oracle 10g ...

  4. oracle数据库insert into,oracle中insert into用法 oracle中insert如何带条件添加数据?

    oracle insert into 脚本怎么写 INSE INTO BOOK(bookid,name,price) VALUES('100123','oracle ',54); 或者 INSE IN ...

  5. 数据库----Oracle中的闪回(flashback)技术

    目录 前言 正文 Flashback介绍 闪回表数据(Flashback Table) 1.闪回到具体时间点 2. 闪回到10分钟之前 闪回删表(Flashback Drop) 1. 闪回被删掉的sc ...

  6. 查询oracle中用户的角色,oracle中用户角色的查询和授权

    用户拥有的系统权限 select  privilege  from dba_sys_privs  where grantee='&USERNAME' union select  privile ...

  7. oracle中pga指什么,oracle中pga内存分配原则

    pga_aggregate_target 通常缩写为P_A_T,该参数同时限制全局pga分配和私有工作区内存分配 在oracle9i以及10gr1中,单个sql操作内存使用存在如下限制: 对于串行操作 ...

  8. Oracle中raise触发异常,Oracle中RAISE异常的解决方法

    今天小编给大家分享一篇中RAISE异常的解决方法,感兴趣的朋友跟小编一起来了解一下吧! 有三种方式抛出异常 1.通过PL/SQL运行时引擎 2.使用RAISE语句 3.调用RAISE_APPLICAT ...

  9. oracle中asm磁盘不足,Oracle用户无法访问ASM磁盘组问题

    1. 权限问题引起找不到ASM磁盘组 1.1 确认操作系统用户属主 # 确认属主 Grid Infrastructure Home Owner : grid Primary Group : oinst ...

最新文章

  1. Chem. Sci. | 3D深度生成模型进行基于结构的从头药物设计
  2. text-shadow
  3. win10安装pytorch
  4. ceph学习笔记之七 数据平衡
  5. (转贴) C#编码标准--编码习惯
  6. mysql字段说明_mysql 字段类型说明
  7. 06.德国博士练习_08_query_dsl
  8. Xilinx实习一年总结
  9. 《Springboot极简教程》Springboot使用Kotlin和Java混合编程
  10. JavaScript 与 PHP 的语法区别
  11. Struts+HIbernate+Spring
  12. Python开发【第十八篇】Web框架之Django【基础篇】
  13. 淘宝收货地址自动补全实现
  14. 中国大学慕课python测验八答案_中国大学慕课Python编程基础章节测验答案
  15. android iccid获取不完整,Android调用getSimSerialNumber获取iccid不完整
  16. 2、孟子·公孙丑上 孟子·公孙丑下
  17. [OpenGL] 非真实感渲染(NPR)的几种效果demo(水墨画/漫画/铅笔画)
  18. 学python推荐的10本豆瓣高分书单,小白到大佬,不看后悔一辈子
  19. GMSK通信系统中频偏估计改进算法
  20. 在网络中 计算机输出的信号是,2019陕西国家电网校园招聘计算机类笔试:计算机网络自测四...

热门文章

  1. 少年宫计算机室活动小结,微机室管理工作总结
  2. zabbix 进阶(二)
  3. mysql联合查询数量不一致_Mybatis关联查询,查询出的记录数量与数据库直接查询不一致,如何解决?...
  4. 设置Eclipse可以Debug模式调试JDK源码,并显示局部变量的值
  5. call_once/once_flag
  6. java框架知识_java框架知识点总结
  7. Android怎么设置主活动,如何从另一个活动启动Android AppWidget的配置活动?
  8. 液晶字体数字一到九_睡前必听3分钟系列十一:光传输设备和同步数字体系的特点...
  9. 八年级上册计算机知识点总结,八年级数学上册知识要点归纳
  10. 用python解算法谜题_编程的乐趣 用Python解算法谜题