再述oracle数据库体系结构 之五:Oracle连接配置结构

来源:互联网 发布:数据恢复精灵好用么 编辑:程序博客网 时间:2024/05/16 14:47

第九篇 再述oracle数据库体系结构 之五:Oracle连接配置结构

  Oracle数据库的连接结构有三种:
1) 组合用户与服务器结构:在这种连接方式中,客户端与服务器同处一台机器中,对于每一个用户,其库应用程序与服务器程序组合成单个服务器进程。
2) 专用服务器(Dedicated Server)结构:在这种方式中,对于每一个用户,其数据库应用是由用户进程所运行,并有一个专用服务器进程为之服务,执行Oracle服务器代码。
3) 多线程服务器(Multithreaded Server)体系结构:在这种方式中,一个或多个客户应用程序共享一组服务器进程,与专用服务器不同的是,客户和服务器进程不是一对一的关系,而是由调度进程对多个服务器进程进行调度,以服务来自客户应用的连接请求。

专用服务器
 
专用服务器的工作过程:
1) 客户端通过oracle net向监听器发连接请求
2) 监听器收到请求并将此请求导向服务器,服务器向用户返回一个连接成功信息,并为此用户创建一个专用服务器进程
3) 客户直接与该专用服务器进程进行交互,处理SQL,并且服务器在该会话的PGA中建立一个专用SQL区。
如果客户端要求建立专用服务器连接方式,可以修改客户羰的网络配置文件tnsnames.ora或修改连接描述串。增加关键字“Server=DEDICATED”,如:
prod=
    (DESCRIPTION=
      (ADDRESSLIST=
        (ADDRESS=
          (PROTOCOL=TCP)(HOST=192.168.0.3)(PORT=1521)
          (SERVER=DEDICATED)
        )
      )
      (CONNECT_DATA=(SID=PROD)
     )
    )
还必须修改SQLNET.ORA文件,增加“USE_DEDICATED_SERVER=TRUE”

多线程服务器体系结构

  专用服务器结构中,一个服务器进程只为一个客户服务。这样的话,如果有一千个客户,就需要有一千个对应的服务器进程,就会耗费大量的系统资源。为了支持对于可伸缩性的需求,在oracle7中引入了多线程服务器(MTS,也称为共享服务器)。下面说明共享服务器建立连接的过程,以级与建立专用服务器连接过程的不同:
1) 客户通过网络与监听器联系
2) 监听器检测到请求,基于Oracle net结构来确定是否与多线程服务器连接。监听器将客户请求导向相应的调度程序。
3) 监听器通过使客户与调度程序了解对方的网络地址,从面完成了双方的介绍。
4) 一旦客户与调度程序知道如何找到对方,它们就直接通信,不要需要监听器。客户直接将操作请求发送给高度程序。
5) 调度程序将客户请求放在SGA的请求队列中。
6) 下一个可用的共享服务器进程从请求队列中读取请求,进行相应的工作。
7) 共享服务器进程将结果存放在提交相应请求的调度程序的响应队列中。
8) 调度程序从响应队列中读取数据并将结果送组客户。


  有几个概念在这里作个补充说明:
1) 监听器(Listener):为一个或多个实例“监听”连接请求,它是oracle客户与服务器的中介。监听器不是Oracle实例的一部分,它的作用是将连接的请求导向相应的实例。
2) 调度程序(dispatcher):在MTS体系结构中,监听器与调度程序联系,调度程序负责调度MTS中的各个共享服务器进程。


  多线程服务器的设置参数有:
MTS_SERVICE:多线程服务器名称,一般为数据库名
MTS_DISPATCHERS:初始调度器个数
MTS_MAX_DISPATCHERS:调度器最大个数
MTS_SERVERS:共享服务器个数
MTS_MAX_SERVERS:最大共享服务器个数
多线程服务器的设置是通过对以上各个参数的设置完成的。格式如下:
MTS_SERVICE=RS
MTS_SERVERS=10
MTS_MAX_SERVERS=100
MTS_DISPATCHERS="(PROTOCOL=TCP)(POOL=YES)(MULT=YES)"
MTS_DISPATCHERS="(PROTOCOL=IPX)(POOL=YES)(MULT=YES)"
MTS_DISPATCHERS="(PROTOCOL=IPC)(POOL=YES)(MULT=YES)"
MTS_MAX_DISPATCHERS=100


有关多线程服务器的数据字典如下:
V$MTS
V$DISPATCHER
V$SHARED_SERVER
V$CIRCULT
各字典的详细说明请参考Oracle文档。

 
原创粉丝点击