【问题标题】:Oracle 12c Database V$session valuesOracle 12c 数据库 V$session 值
【发布时间】:2019-05-17 17:14:38
【问题描述】:

为什么我看到的不仅仅是活跃的号码。 V$SESSION 视图中的连接数? 我仅通过 SQL Developer 和 EM Express 进行连接,但在 V$SESSION 中它显示了具有不同 SID 的四个连接。 但又过了一段时间,它出现了两个连接。 V$SESSION 是动态视图,那为什么更新这么久?

谢谢

【问题讨论】:

  • 您可以查询V$SESSION 表的USERNAMESTATUS 列,以了解该信息是否仅适用于ACTIVEsession。

标签: sql oracle oracle12c oracle-rac


【解决方案1】:

我认为你使用这样的查询

select *
 from v$session v
where ( v.USERNAME not like 'SYS%' and v.USERNAME != 'DBSNMP' )
  and  v.STATUS = 'ACTIVE' 
order by v.LOGON_TIME desc;

显示活动会话,也许你的数据库是RACReal Application Clusters)类型,并且需要将v$session 替换为gv$session,这会在选择列表的开头显示多个带有inst_id 列的实例。

【讨论】:

  • 嘿,它只提供一个现有连接的 SID,即使我在使用相同用户帐户打开新会话后运行它,但是当我从 V$SESSION 中选择全部时,它会列出两个 SID。为什么?
  • @HamidAli 你没有尝试从gv$session 查询,而不是v$session 吗?
  • @HamidAli 注释掉这行-- and v.STATUS = 'ACTIVE' 怎么样,即你确定操作是否是active..?
  • @HamidAli status 列显示应用当前是否与数据库交互,并不代表应用。只要是inactive,就会与数据库断开连接。
  • 非常感谢您的帮助。
猜你喜欢
  • 2020-02-18
  • 1970-01-01
  • 1970-01-01
  • 2018-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-12
  • 2014-06-12
相关资源
最近更新 更多