我试图了解唯一标识会话的最小参数集是什么GV$SESSION
。我在那里看到了一些在线示例AUDSID
,,SID
并被INST_ID
使用,我想了解为什么?
4 回答
对于给定的实例,会话由其SID
和其唯一标识SERIAL#
,如文档中所述:
SID
: 会话标识符
SERIAL#
:会话序列号。用于唯一标识会话的对象。如果会话结束并且另一个会话以相同的会话 ID 开始,则保证会话级命令应用于正确的会话对象。
INST_ID
如果您正在运行 RAC 环境,您可以添加它。
这是一对价值观SID
和SERIAL#
文档中对它们的描述解释了原因:
SID
- 会话标识符
序列号#
- 会话序列号。用于唯一标识会话的对象。如果会话结束并且另一个会话以相同的会话 ID 开始,则保证会话级命令应用于正确的会话对象。
V$SESSION 中的 SID 和 SERIAL# 对于单实例数据库来说已经足够了。
SID、SERIAL#、INST_ID 对于 GV$SESSION 中的 RAC 集群数据库已经足够了。
注意:如果不是 RAC,则无需使用 GV$SESSION。
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