度量快速开发平台-业界最好的全功能软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 26|回复: 5

[分享] Oracle 连接和会话的区别

[复制链接]

141

主题

1551

帖子

3573

积分

论坛元老

Rank: 8Rank: 8

积分
3573
发表于 2018-2-6 17:29:45 | 显示全部楼层 |阅读模式

连接并不是会话的同义词,发现这一点时很多人都很诧异。在大多数人眼里,它们都是一样的,但事实上并不一定如此。在一条连接上可以建立0个、一个或多个会话。各个会话是单独而且独立的,即使它们共享同一条数据库物理连接也是如此。

一个会话中的提交不会影响该连接上的任何其他会话。实际上,一条连接上的各个会话可以使用不同的用户身份!

  在Oracle中,连接只是客户进程和数据库实例之间的一条特殊线路,最常见的就是网络连接。这条连接可能连接到一个专用服务器进程,也可能连接到调度器。如前所述,连接上可以有0个或多个会话,这说明可以有连接而无相应的会话。

另外,一个会话可以有连接也可以没有连接。使用高级Oracle Net特性(如连接池)时,客户可以删除一条物理连接,而会话依然保留(但是会话会空闲)。客户在这个会话上执行某个操作时,它会重新建立物理连接。

下面更详细地定义这些术语:* 连接(connection):连接是从客户到Oracle实例的一条物理路径。连接可以在网络上建立,或者通过IPC机制建立。通常会在客户进程与一个专用服务器或一个调度器之间建立连接。

不过,如果使用Oracle的连接管理器(Connection Manager ,CMAN),还可以在客户和CMAN之间以及CMAN和数据库之间建立连接。

  * 会话(session):会话是实例中存在的一个逻辑实体。这就是你的会话状态(session state),也就是表示特定会话的一组内存中的数据结构。提到“数据库连接”时,大多数人首先想到的就是“会话”。你要在服务器中的会话上执行SQL、提交事务和运行存储过程。




回复

使用道具 举报

141

主题

1551

帖子

3573

积分

论坛元老

Rank: 8Rank: 8

积分
3573
 楼主| 发表于 2018-2-6 17:30:46 | 显示全部楼层
回复

使用道具 举报

532

主题

5809

帖子

1万

积分

作者

Rank: 7Rank: 7Rank: 7

积分
13329
发表于 2018-2-7 14:05:32 | 显示全部楼层
回复 支持 反对

使用道具 举报

190

主题

2090

帖子

4782

积分

论坛元老

Rank: 8Rank: 8

积分
4782
发表于 2018-2-7 17:35:21 | 显示全部楼层
回复 支持 反对

使用道具 举报

190

主题

2090

帖子

4782

积分

论坛元老

Rank: 8Rank: 8

积分
4782
发表于 2018-2-7 17:35:42 | 显示全部楼层
回复 支持 反对

使用道具 举报

141

主题

1551

帖子

3573

积分

论坛元老

Rank: 8Rank: 8

积分
3573
 楼主| 发表于 2018-2-7 17:38:05 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2018-2-26 09:16 , Processed in 0.237564 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表