天天看点

Oracle中的Connect/session和process的区别及关系介绍

本文将详细探讨下Oracle中的Connect/session和process的区别及关系,感兴趣的你可以参考下,希望可以帮助到你

Session:在计算机中,尤其是在网络应用中,称为“会话”。 

Session:在计算机专业术语中,Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间。 

Connect、session、process的区别: 

一个数据库的Connect可以有一个或多个session,同时connect也可以有一个或多个process. 

在专业服务器连接方式中,一个session对应一个process,在共享服务器方式中,一个process可以为多个session。 

一个session也可以存在若干个process中,并行同样是一个session对应一个process,主session是coordinator session,每个parallel process同样会对应数据库里一个单独的session。 

可以从v$px_session和v$session查看。 

比如某客户端连接数据库的session和process的值: 

复制代码 代码如下:

select * from v$session where terminal='RUIFEI' 

和 

复制代码 代码如下:

select * from v$process 

where addr in 

(select paddr from v$session where terminal='RUIFEI') 

如果是专用服务器方式连接,session和process是一样的。 

连接connects,会话sessions和进程pocesses的关系 

每个sqllogin称为一个连接(connection),而每个连接,可以产生一个或多个会话,如果数据库运行在专用服务器方式,一个会话对应一个服务器进程(process),如果数据库运行在共享服务器方式,一个服务器进程可以为多个会话服务。 

oracle中系统process和session的关系 

在SharedServer中的Process 和Oracle 中的Session不是一一对应的,Shared Server中的Process 一个对应着Oracle 中的一个或者一个以上的Session。我在dedicated server机器上试验了 

数据库的session和操作系统process是对应的 

即表示一个session对应一个process,但是一个process未必对应一个session 

详细出处参考:http://www.jb51.net/article/34684.htm