【问题标题】:How do we identify a session in Oracle GV$SESSION view?我们如何在 Oracle GV$SESSION 视图中识别会话?
【发布时间】:2020-09-24 16:59:18
【问题描述】:

我试图了解在GV$SESSION 中唯一标识会话的最小参数集是什么。我在网上看到了一些使用AUDSIDSIDINST_ID的例子,我想了解为什么?

【问题讨论】:

    标签: sql oracle oracle-rac


    【解决方案1】:

    对于给定实例,会话由其SIDSERIAL# 唯一标识,如explained in the documentation

    SID:会话标识符

    SERIAL#:会话序列号。用于唯一标识会话的对象。如果会话结束并且另一个会话以相同的会话 ID 开始,则保证会话级命令应用于正确的会话对象。

    如果您运行的是 RAC 环境,您可以添加 INST_ID

    【讨论】:

      【解决方案2】:

      这是一对值 SIDSERIAL#

      docs 中对它们的描述解释了原因:

      SID

      • 会话标识符

      序列号

      • 会话序列号。用于唯一标识会话的对象。如果会话结束并且另一个会话以相同的会话 ID 开始,则保证会话级命令应用于正确的会话对象。

      【讨论】:

        【解决方案3】:

        V$SESSION 中的 SID 和 SERIAL# 对于单实例数据库来说已经足够了。

        SID、SERIAL#、INST_ID 对于 GV$SESSION 中的 RAC 集群数据库已经足够了。

        注意:如果不是 RAC,则无需使用 GV$SESSION。

        【讨论】:

          【解决方案4】:

          GV$session vs V$session 用于独立数据库,gv$session (g=global) 主要用于 RAC 环境。

          AUDSID 是会话的唯一标识符,在 sys.aud$ 中用作 SESSIONID 列。它是 sys.aud$ 上唯一索引的前导列

          INST_ID列显示获取关联V$视图信息的实例号

          了解它们的最佳方式是参考Oracle文档并了解每一列的作用,

          https://docs.oracle.com/cd/B19306_01/server.102/b14237/dynviews_2088.htm#REFRN30223

          【讨论】:

            猜你喜欢
            • 2015-05-03
            • 2023-01-20
            • 1970-01-01
            • 1970-01-01
            • 2021-05-12
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多