暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

在Oracle中, 什么是专用服务器和共享服务器?

DB宝 2019-03-21
1105


题目部分

在Oracle中, 什么是专用服务器和共享服务器?


     

答案部分


在连接到Oracle数据库的时候,可以有两种连接模式,一种叫做专用服务器连接(Dedicated Server),另外一种叫做共享服务器连接(Shared Server)。下面将分别讲解这两种连接方式的不同点。

专用服务器:每次在对Oracle进行访问的时候,Oracle服务器的Listener会得到这个访问请求,然后会为这个访问创建一个新的进程来进行服务。所以说,对于每一个客户端的访问,都会生成一个新的进程进行服务,是一种类似一对一的映射关系。这种连接模式的一个很重要的特点就是UGAUser Global Area,用户全局区)是存储在PGAProgram Global Area,程序全局区)中的,这个特性也很好说明了当前用户的内存空间是按照进程来进行分配的。专用服务器连接模式是Oracle默认的连接模式。

共享服务器:也叫多线程服务器(Multi-Threaded ServerMTS)。若采用共享服务器模式的话,则在数据库初始化的时候就会创建一批服务器连接的进程,然后把这些连接进程放入一个连接池来进行管理。初始化的池中的进程数量在数据库初始化建立的时候是可以手动设置的。在连接建立的时候,Listener首先接收到客户端的建立连接的请求,然后Listener去生成一个叫做调度器(Dipatcher)的进程与客户端进行连接。调度器把客户端的请求放在SGASystem Global Area,系统全局区)的一个请求队列中,然后在共享服务器连接池中查找有无空闲的连接,然后让这个空闲的服务器进行处理。处理完毕以后再把处理结果放在SGA的相应队列中。调度器通过查询相应队列,得到返回结果,再返回给客户端。这种连接模式的优点在于服务器进程的数量可以得到控制,不大可能出现因为连接数过多而造成服务器内存崩溃。但是由于增加了复杂度以及请求相应队列,可能在性能上有所下降。

如果在前端使用了Weblogic的连接池,那么在数据库级别就没有必要再使用共享服务器了,因为这时的用户连接已经在Weblogic层面上得到了控制。其实专用服务器和共享服务器是可以并存的,即使使用了共享服务器,某些管理操作也是必须在专用服务器模式下来做的,比如STARTUPSHUTDOWN

(一)启用共享服务器

要切换到共享模式,可以使用以下步骤:

A.设置初始化参数SHARED_SERVERS大于0,然后重启数据库即可启动共享模式,SQL如下所示:

  
 
最后修改时间:2020-01-10 20:16:21
文章转载自DB宝,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论