Oracle 专用/共享服务器连接模式(Dedicated/Shared Server)
创始人
2024-09-25 18:51:05
0

当会话通过客户端连接到Oracle数据库时,根据服务器处理请求方式的不同,可以有两种连接模式,一种称为专用服务器连接(Dedicated Server),另外一种称为共享服务器连接(Shared Server)。

文章目录

  • 一、专用/共享服务器连接
    • 1.1 专用服务器连接
    • 1.2 共享服务器连接
  • 二、配置共享服务器连接
    • 2.1 共享服务器连接参数
    • 2.2 数据库开启共享服务器
    • 2.3 客户端配置共享服务连接
  • 三、相关视图

一、专用/共享服务器连接

当用户通过会话连接到数据库时,Oracle必须创建相应的进程来对接并服务会话的请求,创建的进程类型可以分为下面两类:

  • 专用服务器进程(Dedicated Server Process),每个进程服务单一用户进程。
  • 共享服务器进程(Shared Server Process),每个进程服务多个用户进程。

1.1 专用服务器连接

Oracle的默认连接模式是专用服务器连接。

专用服务器连接模式下,每个连接到数据库的用户进程都会创建一个专用服务器进程来对接并处理请求。但是每个专用服务器进程都意味着资源开销。如果连接数较多,且用户进程大部分时间都会处于空闲状态,那么维护大量的专用服务器进程就会出现资源浪费,甚至挤爆内存。
在这里插入图片描述

1.2 共享服务器连接

如果有大量的用户连接,共享服务器连接通常是更好的选择,这个模式下的优点是一个服务器进程可以处理多个用户的请求,它可以将服务器进程数量控制在一个较低的数量,更高效的利用资源,并且降低需要维护的进程数。

共享服务器连接需要额外配置,即使配置后,专用服务器进程也是生效的(某些程序只能通过专用服务器模式连接,比如RMAN)。

共享服务器连接模式下,用户进程对接的是调度程序,调度程序将用户请求放入请求队列(每个用户通过virtual circuit标识)。共享服务器会依次处理请求队列的内容,并将处理结果放入响应队列,最后由调度程序取出结果并返回给用户进程(下图所示):
在这里插入图片描述

二、配置共享服务器连接

2.1 共享服务器连接参数

共享服务器默认是关闭状态,需要通过相关参数配置打开,主要参数如下:

  • shared_servers 共享服务器进程数量,即Oracle实例启动时及平时维护的最低共享服务器进程数据量,也是唯一的必须参数。
  • max_shared_servers 共享服务器进程的最大数量。
  • shared_server_sessions 使用共享服务器进程的最大用户会话数量。
  • dispatchers 调度程序配置,会默认启动。

2.2 数据库开启共享服务器

开启共享服务器连接的方式非常简单,只需要将参数shared_servers设置为大于0的值(最小共享服务器进程数量)。根据服务器的负载,Oracle会动态的调整共享服务器进程数量,但不会超过max_shared_servers设定的上限。

通常情况下,共享服务器进行和用户会话数量可以按照1:10的比例配置,根据会话的活跃程度可以适当的调整。例如,用户会话非常繁忙,那么就可以按照1:5配置,或用户会话非常闲,可以按照1:15配置,没有固定要求。

开启共享服务器进程:

alter system set shared_servsers=5 scope=both; alter system set max_shared_servsers=20 scope=both; 

在这里插入图片描述
只有shared_servers是必需参数,max_shared_servers是选配参数,如果未指定,则不设上限,直到达到processes参数的限制。

由于共享服务器进程需要通过dispatchers进程来进行任务调度,即使不配置,Oracle也会启动一个dispatchers进程,可以通过dispatchers参数查看:

select value from v$parameter where name='dispatchers'; 

在这里插入图片描述

  • (PROTOCOL=TCP)代表TCP协议连接
  • (SERVICE=prodXDB)表示采用共享服务器连接的服务名(后面配置客户端连接时会指定服务名)

2.3 客户端配置共享服务连接

目前只是完成了数据库服务器端的连接配置,客户端在连接时也需要指定共享服务器模式。即使数据库配置了共享服务器连接模式,专用服务器连接模式也是生效的,客户端可以任意选择2种连接模式,只需要在连接名中指定(server=dedicated)或(server=shared)。

编辑客户端的tnsnames.ora文件,这里复制上面连接,重命名为shared_con连接(名称任意),最主要的是将(SERVER=DEDICATED)修改为(SERVER=SHARED),指定改连接名采用共享服务器连接:
在这里插入图片描述

上面的服务名可以在数据库服务器通过lsnrctl services命令查看,找到共享服务器的服务名(上面dispatchers参数中也有):

lsnrctl services 

在这里插入图片描述

至此,我们就完成了共享服务器的所有配置,连接时只需要指定对应的连接名,就会以共享服务器模式连接数据库。

sqlplus hr/hr@shared_con 

在这里插入图片描述

三、相关视图

完成共享服务器连接模式配置后,你可以通过v$shared_server, v$dispatcher, v$queue等视图来查看共享服务器连接的相关信息

v$shared_server提供了共享服务器进程的相关信息,由于我们设置shared_servers=5,所以这里有5个进程:

select * from v$shared_server; 

在这里插入图片描述

v$dispatcher显示的是调度程序信息,这里是设置shared_servers参数时,Oracle自动启动的调度程序,名称是D000:

select * from v$dispatcher; 

在这里插入图片描述

v$session中的server字段可以判断会话的连接模式,DEDICATED表示共享服务器连接模式,SHARED或NONE表示共享服务器连接模式(NONE表示当前共享服务器进程没有任务处理,处于空闲状态):

select sid,username,server from v$session where username is not null; 

在这里插入图片描述
以上即是Oracle共享服务器连接模式的基本配置,如果要关闭共享服务器模式,只需要将shared_servers参数设置为0即可。即使shared_servers被设置为0,Oracle也不会立刻关闭所有的共享服务器进程,而是会等到所有以共享模式连接的客户会话断开,再逐渐关闭共享服务器进行。

相关内容

热门资讯

正版授权!微信群链接斗牛房卡,... 微信游戏中心:炸金花房卡,添加微信【8488009】,进入游戏中心或相关小程序,搜索“微信炸金花房卡...
科技实测!牛牛房卡批发平台热玩... 热玩吧房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 3、根据...
我来教你/牛牛房卡游戏代理鸿运... 我来教你/牛牛房卡游戏代理鸿运大厅/开群怎么买房卡鸿运大厅是一款非常受欢迎的游戏,咨询房/卡添加微信...
三分钟讲述,正版金花房卡哪里有... 大厅金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:86909166许多玩家在游戏中会购买房卡来...
ia攻略/牛牛房卡批发平台皇豪... 微信游戏中心:皇豪互娱房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或相关小程...
正版授权!拼三张房卡正规平台有... 微信游戏中心:拼三张房卡,添加微信【55051770】,进入游戏中心或相关小程序,搜索“微信拼三张房...
玩家攻略,金花微信链接市场价格... 您好!微信星云大厅大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(星云大厅)大厅介绍:...
ia攻略/怎么买斗牛房卡星云大... 今 日消息,星云大厅房卡添加微信33549083 苹果今日发布了 iOS 16.1 正式版更新,简单...
实测分享,炸金花房卡链接哪里有... 众乐大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来...
正版授权!购买牛牛房卡联系方式... 微信游戏中心:炸金花房卡,添加微信【33903369】,进入游戏中心或相关小程序,搜索“微信炸金花房...
头条推荐!游戏微信牛牛房卡上游... 头条推荐!游戏微信牛牛房卡上游联盟/房卡怎么买上游联盟是一款非常受欢迎的游戏,咨询房/卡添加微信:8...
科技实测!怎么买斗牛房卡亚金方... 微信游戏中心:亚金方乐房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或相关小程...
实测分享,微信炸金花房卡怎么开... 微信炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡...
正版授权!微信里牛牛房卡购买联... 微信游戏中心:炸金花房卡,添加微信【8488009】,进入游戏中心或相关小程序,搜索“微信炸金花房卡...
头条推荐!金花房卡是正规的山竹... 您好!微信山竹众娱大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(山竹众娱)大厅介绍:...
头条推荐!牛牛房卡游戏平台加盟... 今 日消息,新大圣/新道游房卡添加微信33549083 苹果今日发布了 iOS 16.1 正式版更新...
IA解析/牛牛房卡出售热玩吧/... 热玩吧房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 3、根据...
正版授权!拼三张大厅房卡哪里购... 微信游戏中心:拼三张房卡,添加微信【55051770】,进入游戏中心或相关小程序,搜索“微信拼三张房...
玩家推荐,微信炸金花房间房卡在... 微信炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡...
重大通报,牛牛房卡批发平台新5... 重大通报,牛牛房卡批发平台新518互娱/房卡链接怎么弄的新518互娱是一款非常受欢迎的游戏,咨询房/...