【问题标题】:Inactive sessions in OracleOracle 中的非活动会话
【发布时间】:2014-12-07 01:19:26
【问题描述】:

我想问一个问题:

这是我的环境:

  • Solaris 版本 10; Sun OS 5.10 版
  • Oracle 版本:11g 企业 x64 版。

当我运行这个查询时:

select c.owner, c.object_name, c.object_type,b.sid, b.serial#, b.status, b.osuser, b.machine 
  from v$locked_object a , v$session b, dba_objects c 
 where b.sid = a.session_id 
  and a.object_id = c.object_id;

有时我得到很多状态是'INACTIVE'

这个不活跃是什么意思? 这会使我的数据库和应用程序变慢吗? 活动状态和非活动状态有什么影响?

【问题讨论】:

    标签: oracle oracle11g oracle-sqldeveloper database-administration


    【解决方案1】:

    这个不活跃是什么意思?

    就在 oracle 可执行文件执行read 以获取它应该为其会话执行的下一个“命令”之前,它将其会话状态设置为INACTIVE。在read 完成后,它将设置为ACTIVE。它将保持该状态,直到完成执行请求的工作。然后它会重新做整个事情。

    这会使我的数据库和应用程序变慢吗?

    不一定。查看最后一个问题的答案。

    活跃和不活跃状态有什么影响?

    大量会话(ACTIVE 或 INACTIVE)的后果在两个方面很重要。

    第一个是数字是否单调增加,这将导致人们调查应用程序泄漏连接的可能性。我相信不会发生这样的灾难,否则你会特别提到它。

    第二个,数字在声明的上限内波动,更有可能。根据Andrew HoldsworthRWP 的其他重要成员的说法,一些架构师允许应用程序的连接池中的连接过多,并且他们演示了当连接池过高时会发生什么(响应时间和可用性后果)。他们还制定了如何更好地定义连接池的属性和行为的处方。

    他们论点的本质是,通过允许池中的大量连接,您允许它们同时处于忙碌状态。数据库服务器可能不得不在磁盘、CPU、网络等低级资源的排队中扮演主要角色,而不是让应用层对事务进行排队,甚至还有其他诸如入队之类的东西。

    即使所有会话都只忙了很短的时间并且它们在争夺各种资源,但这种争用是浪费的,并且可以一遍又一遍地重复。花更多时间设计一个良好的用户体验排队模型更有意义,这样您就不会在架构中无疑最昂贵的(硬件和软件许可)层上浪费资源。

    【讨论】:

      【解决方案2】:

      ACTIVE 表示会话当前正在执行一些 SQL 操作,而 INACTIVE 表示相反。查看ORACLE v$session documentation

      本质上,大量的ACTIVE 会话会减慢包括您的应用程序在内的整个 DBMS。到什么程度很难说——这里得看IO、CPU等负载。

      除非您超过最大会话数,否则非活动会话的影响很小。

      【讨论】:

        【解决方案3】:

        简单来说,v$session 中的INACTIVE 状态意味着在您签入 v$session 时没有执行任何 SQL 语句。

        另一方面,如果您看到很多不活动的会话,那么首先检查每个会话的last activity time

        我怀疑它们可能是connection pool 的一部分,因此它们可能会被频繁使用。你不应该担心它,因为从application connection 的角度来看,连接池会处理它。您可能会在很长一段时间内看到此类INACTIVE 会话。

        【讨论】:

          【解决方案4】:

          这并不意味着 D/B 很慢。

          状态 INACTIVE 表示会话现在没有执行任何查询。 ACTIVE 表示它正在执行查询。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2014-11-13
            • 2015-09-20
            • 1970-01-01
            • 2015-09-10
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多