连接与会话

学oracle几年了,今天才真正弄明白连接与会话的区别,真实惭愧,以前一直以为没啥区别,今天自己总结下。

1. 连接是物理层级的,是客户端与服务器之间一条具体的连接;会话则是逻辑层级的,可以理解是客户端与数据库实例间交流的基础

2. 会话可以理解为一个plsql窗口,开启一个窗口也就是新建了一个会话;连接可以理解为就是一个工作于服务器上的进程(或线程)

当客户端与服务器端用专用服务器模式连接时,这个连接就是一个服务器进程,当用共享模式连接时,这个连接就可能是一个调度进

程,反正都是实实在在工作在服务器上的东东;

3. 连接与会话并不是我们通常理解的一对一的关系,而是一种多对多的关系。

一对一:当服务器属于专用服务器模式工作时,会话与连接就是一种最常见的一对一的关系

零对一:当我们用专用服务器模式打开一个会话后,然后discon(sqlplus窗口命令)时,这个时候你的会话断开了,但是你的连接还

                存在,可以通过v$process查看

多对一:当服务器的工作模式为共享服务器时,一个服务器进程就对应多个会话,客户端其实真正连接的是调度进程,再由调度进程

                为我们动态的分配服务器进程;

多对多: 这也是存在于共享服务器模式下,有时候一个sql会经过几个服务器进程处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值