日期:2014-05-16  浏览次数:20608 次

连接与会话
一、区分概念
1)连接(connection) 连接是客户到oracle实例的一条物理路径。连接可以在网络上建立或者通过IPC机制建立。通常会在客户进程与一个服务器进程或一个调度器之间建立。

2)会话(session) 会话是实例中存在的一个逻辑实体.

在一个连接上可以建立0,1个或多个会话,各个会话是单独而且独立存在的,即使他们共享同一条数据库物理连接。一个会话中的提交不会影响其他任何会话,甚至,一条连接上的各个会话可以使用不同的用户进行连接。


一个连接对应2个会话:
[oracle@node ~]$ sqlplus u01/oracle

SQL*Plus: Release 10.2.0.1.0 - Production on Tue Apr 5 19:37:59 2011

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> select username,sid,serial#,server,paddr,status
  2  from v$session
  3  where username='U01';

USERNAME			      SID    SERIAL# SERVER    PADDR	STATUS
------------------------------ ---------- ---------- --------- -------- --------
U01				      145	 263 DEDICATED 2C21B254 ACTIVE

SQL> set autotrace on
SQL> /

USERNAME			      SID    SERIAL# SERVER    PADDR	STATUS
------------------------------ ---------- ---------- --------- -------- --------
U01				      140	  56 DEDICATED 2C21B254 INACTIVE
U01				      145	 263 DEDICATED 2C21B254 ACTIVE



2个会话使用同一个服务器进程(2C21B254)