转载:https://blog.csdn.net/u013169075/article/details/52782385
SID和Serial#共同确定一唯一的session。
它们的定义如下:
SID: Session identifier
SERIAL#:Session serial number. Used to identify uniquely a session’s objects. Guarantees that session-level commands are applied to the correct session objects if the session ends and another session begins with the same session ID.
Sid就是用来标识一个session的,它一般和process是对应的。一个process一般对应一个session,只要process不结束,则这个process建立的session具有同样的SID。在session结束后,新的session建立时,SID被重用。
Serial#使用来表示session的序列号的。如上所述,process不结束,建立的session都是同一个sid,但是serial#不相同。oracle通过它来识别具有相同sid的不同session。通过conn user/passwd命令可以发起新的session,此时session的sid不变,但是serial#会改变。
SID的值不会大于sessions参数定义的值。
sessions值的定义应该大于或者定于1.1processes+5,如果小于1.1processes+5,则oracle在启动时自动将该参数设置为1.1*processes+5。这主要是考虑到后台进程发起的session和大约10%的递归session。
SYS@PROD1> select username, sid, serial#, server, paddr, status
2 from v$session
3 where username = USER;
USERNAME <strong> SID SERIAL#</strong> SERVER PADDR STATUS
------------------------------ ---------- ---------- --------- -------- --------
SYS 1 5 DEDICATED 4BBE6494 ACTIVE
SYS 48 1 DEDICATED 4BBF16D4 ACTIVE