from asktom:
I'll try to put it into a single, simple paragraph:
A connection is a physical circuit between you and the database. A connection might be one of many types-- most popular begin DEDICATED server and SHARED server. Zero, one or more sessions may be established over a given connection to the database as show above with sqlplus. A process will be used by a session to execute statements. Sometimes there is a one to one relationship between CONNECTION->SESSION->PROCESS (eg: a normal dedicated server connection). Sometimes there is a one to many from connection to sessions (eg: like autotrace, one connection, two sessions, one process). A process does not have to be dedicated to a specific connection or session however, for example when using shared server (MTS), your SESSION will grab a process from a pool of processes in order to execute a statement. When the call is over, that process is released back to the pool of processes.
个人理解:
每个sql login称为一个连接(connection),而每个连接,可以产生一个或者多个会话,如果数据库运行在专用服务器模式。一个会话对应一个服务器进程(process),如果数据库运行在共享服务器模式,一个服务器进程可以对应多个会话服务。
一个process可以有0个,1个或者多个session
一个session也可以存在于这个或那个process中
本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/