Usage and Configuration of the Oracle shared Server

image

image

一个客户端连接到服务器时,服务器必须要有进程来对应连接,

image

1 对 1, 只要不断开 session

image

image

image

这个 进程不是 instance 的一部分,是随着client连接而创建,session结束而释放。

当client发个请求时,做工作最多的就是这个 dedicated server process, 它可以与硬盘打交道, 因为它本身就是process。

image

image

image

在 shared server 中,进程是之前先创建好的,有两类 dispatcher, 和 shared process

dispatcher 会将你的请求放在 SGA 中,然后 shared process 将该请求取出处理,处理完后,将该请求再放回 SGA, dispatcher 将处理的结果取出,那然跟client通信,类似银行,拿号,等待,dispatcher 就类似银行的保安, shared server 相当于柜台的柜员,拿号,就是等着,你的请求会在SGA中等待

image

应该先和 listener 连接吧,然后 listener 将该请求给 dispatcher, dispatcher 就是一个传话筒的作用。

image

request queue 就一个 ( 不需要知道任务从哪个 session来,工作就是将 request 放入内存的 Request Queue中)

reponse queue 是一个 dispatcher 对应一个( 这个是必须的,因为它要知道这个处理完得任务,对应哪个 session )

image

image

各有优缺点

image

image

How a Request is Processed :

1. A user sends a request to its dispatcher.

2. The dispatcher places the request into the request queue in the SGA

3. A shared server picks up the request from the request queue and processes the request.

4. The shared server places the reponse on the calling dispatcher’s response queue.

5. The response is handled off to the dispatcher.

6. The dispatcher returns the reponse to the user.

Request Queue

  • One request queue is shared by all dispatchers.
  • Shared servers monitor the request queue for new requests.
  • Requests are processed on a first-in, first-out( FIFO ) basis.
  • Shared servers place all completed requests on the calling dispatcher’s reponse queue.
  • Each dispatcher has its own reponse queue in the SGA.
  • Each dispatcher is reponsible for sending completed requests back to the appropriate user process.
  • Users are connected to teh same dispathcer for the duration of a session.

image

专有服务器 : PGA 是一块大内存,里边存了所有的 server process, 如上图

image

image

dispatchers 是静态的,不会动态增长

shared server 动态的

image

image

image

只要设置了 large_pool_size, UGA 的信息就会放在large pool 里( 用户信息 )

image

image

如果配置了 shared server, 那么就会自动使用 shared server. 优先使用

在客户端来讲,这个对 client 是透明的,也就是 client 不知道服务器时shared server 还是专用服务器

也可以 client 端显示指定,例如上图 在 tnsname.ora 中设置

image

image

shared 用的越来越少了,以前 client 非常流行,那个时候没有 3层结构,以前PB的 sysbase 非常强,所以 oracle 推出了 shared 方式

3 层架构,企业做宝贵的是数据, 数据库直接管理数据,所以数据库最好不要直接暴漏给用户,而三层架构有个中间件,所以,3层架构已经占垄断地位了。

image

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值