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

转载 2007年10月10日 19:54:00

第九篇 再述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文档。

 

 

Oracle--数据库体系结构(物理结构、逻辑结构、内存结构及后台进程)

Oracle数据库的体系结构包括四个方面:数据库的物理结构、逻辑结构、内存结构及进程。   1. 物理结构      物理数据库结构是由构成数据库的操作系统文件所决定,Oracle数据库文件包括:  ...
  • oChangWen
  • oChangWen
  • 2016年04月17日 10:23
  • 2659

Oracle物理结构、逻辑结构、内存结构

数据库(Database) 数据库是一个数据的集合,不仅是指物理上的数据,也指物理、存储及进程对象的一个组合。Oracle是一个基于B/S模式的关系型数据库管理系统(RDBMS)。 Ora...
  • weinabanta
  • weinabanta
  • 2013年10月06日 16:26
  • 3436

用Excel导入Oracle数据库中时候 提示在指定的DSN中,驱动程序和应用程序之间的体系结构不匹配 问题解决!!!

在指定的DSN中,驱动程序和应用程序之间的体系结构不匹配 今天在使用plsql通过odbc导入excel数据时发生了一个错误,截图如下: 错...
  • u012411231
  • u012411231
  • 2017年05月16日 13:26
  • 4617

oracle数据库体系结构之一【连接配置】

  • 2012年08月13日 22:17
  • 55KB
  • 下载

ORACLE数据库学习之体系结构

Oracle 体系结构 ORACLE数据库体系结构决定了oracle如何使用网络、磁盘和内存。包括实例(instance),文件(file)和进程(process不包括后台进程)三部分。 实例:每...
  • caixingyun
  • caixingyun
  • 2013年12月15日 16:59
  • 1490

Oracle数据库体系结构概论

Oracle数据库体系结构概论我们从一张图来讲解一个Oracle数据都有哪些结构以及这些结构之间的关系是什么。 1、逻辑结构1.1、User process(用户进程):     管理Oracle...
  • newbie_907486852
  • newbie_907486852
  • 2017年11月12日 18:45
  • 79

第一篇 Oracle数据库体系结构之实例

Oracle数据库服务器由Oracle数据库和Oracle实例组成。 Oracle数据库主要由一些数据文件组成,数据库的必须文件是控制文件、联机重做日志文件以及数据文件,外部文件则包括初始化参数文件、...
  • Alen_Liu_SZ
  • Alen_Liu_SZ
  • 2017年01月09日 20:00
  • 236

Oracle数据库体系结构

Oracle数据库的体系结构包括四个方面:数据库的物理结构、逻辑结构、内存结构及进程。      1. 物理结构      物理数据库结构是由构成数据库的操作系统文件所决定,Oracle数据库...
  • Weiguang_123
  • Weiguang_123
  • 2013年01月05日 15:10
  • 447

Oracle数据库体系结构介绍

在学习oracle中,体系结构是重中之重,掌握的越深入越好。在实际工作遇到疑难问题,其实都可以归结到体系结构中来解释,所以我们根据下面的示图了解一下oracle体系结构。 1.Summari...
  • u012848550
  • u012848550
  • 2013年12月12日 16:50
  • 293

Oracle数据库体系结构总结

数据库体系结构:结构组件汇总: 内存结构: 系统全局区 (SGA):数据库缓冲区高速缓存、重做缓冲区以及各种池 程序全局区 (PGA) 进程结构: 用户进程和服务器进程 后台进程:SMO...
  • demonson
  • demonson
  • 2014年09月21日 01:28
  • 1174
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第九篇 再述oracle数据库体系结构 之五:Oracle连接配置结构
举报原因:
原因补充:

(最多只允许输入30个字)