连接(Connection)物理路径
会话(Session)实例中存在的一个逻辑实体。
结论:
一个连接可以建立0个或1个或多个会话
一个会话中的提交不会影响同一条连接上的其他会话。
每个会话可能使用不同的帐户
会话可能使用多个进程,特别是在共享服务器环境中
Thomas的实验
SQL> select * from v$version where rownum<2;
BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
SQL> select username,sid,serial#,server,paddr,status
2 from v$session
3 where username = user;
USERNAME SID SERIAL# SERVER PADDR STATUS
------------------------------ ---------- ---------- --------- -------- --------
NBA 9 7 DEDICATED 681E6D0C ACTIVE
SQL> set autotrace on statistics;
SQL> select username,sid,serial#,server,paddr,status
2 from v$session
3 where username = user;
USERNAME SID SERIAL# SERVER PADDR STATUS
------------------------------ ---------- ---------- --------- -------- --------
NBA 9 7 DEDICATED 681E6D0C ACTIVE
NBA 10 18 DEDICATED 681E6D0C INACTIVE
地址相同,使用了同一个专用服务器进程
Statistics
----------------------------------------------------------
7 recursive calls
0 db block gets
2 consistent gets
0 physical reads
0 redo size
719 bytes sent via SQL*Net to client
503 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
2 rows processed
监视语句set autotrace on使用其他会话的原因:监视本身也需要耗费内存,在不同的会话中观察统计结果,可以对统计结果更加正确的测量
SQL> disconnect
从Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production中断开
SQL> connect sys/sys as sysdba
已连接。
1 select username,sid,serial#,server,paddr,status
2* from v$session
SQL> /
USERNAME SID SERIAL# SERVER PADDR STATUS
------------------------------ ---------- ---------- --------- -------- -------
1 1 DEDICATED 681E478C ACTIVE
2 1 DEDICATED 681E4B4C ACTIVE
3 1 DEDICATED 681E4F0C ACTIVE
4 1 DEDICATED 681E52CC ACTIVE
5 1 DEDICATED 681E568C ACTIVE
6 1 DEDICATED 681E5A4C ACTIVE
7 1 DEDICATED 681E5E0C ACTIVE
8 1 DEDICATED 681E61CC ACTIVE
SYS 9 57 DEDICATED 681E6D0C ACTIVE
已选择9行。
SQL> select username,program
2 from v$process
3 where addr = hextoraw('681E6D0C');
USERNAME PROGRAM
--------------- -------------------------------------------------
SYSTEM ORACLE.EXE
但查'681E6D0C'的地址,还是有个进程,就说明物理连接并没有断
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22111412/viewspace-611274/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22111412/viewspace-611274/
本文探讨了Oracle数据库中连接(Connection)与会话(Session)的概念及其相互关系。一个连接可以建立多个会话,且各会话间提交操作互不影响。通过SQL查询验证了会话与连接的具体状态。

4万+

被折叠的 条评论
为什么被折叠?



