欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-08-16 13:29:01
session:在计算机中,尤其是在网络应用中,称为“会话”。 session:在计算机专业术语中,session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册...
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