Oracle中session audsid的产生原理及含义

来源:互联网 发布:ubuntu如何使用cd命令 编辑:程序博客网 时间:2024/05/02 03:03
Oracle中session audsid的产生原理及含义

source link: http://www.apelearn.com/bbs/thread-1025-1-1.html


Oracle的v$session视图中有一列audsid,一直不知其含义,在metalink上看到一篇文章How Sessions get Their AUDSID Identifier [ID 122230.1],详细讲述了audsid的产生原理和含义,大致内容总结如下:

1、audsid由SYS.AUDSES$这个sequence产生,当有一个新的会话产生,其audsid的值即为这个sequence的nextval

2、10g之前,audsid在会话为‘connect internal’ 或为Oracle后台进程的时候为0,’connect internal’即指以as sysdba和as sysoper连接的会话

3、10g及之后,audsid在‘connect internal’ 时为UB4MAX(4294967295), Oracle后台进程连接为0

注:UB4=unsigned int,取值范围为0-(2^32-1=4294967295) 

由此可以看出,audsid与v$session视图中的sid不同的是,audsid主要是用于区分Oracle中的一般用户连接和internal/后台连接的。所以对于唯一的确定一个应用用户会话来说,除了使用sid和serial的组合,还可以使用
0 0