oracle 服务器

来源:互联网 发布:mac键盘坏了怎么办 编辑:程序博客网 时间:2024/05/24 06:46

简单概念:
1. 数据库(database):物理操作系统文件或磁盘的集合(可能不是操作系统中独立文件),数据库是磁盘上存储的数据集合。数据库可以由一个或多个实例装载和打开。
2. 实例(instance):一组oracle后台进程/线程以及一个共享内存区,这些内存由同一个计算机上运行的线程/进程共享。实例“一生”只能装载并打开一个数据库。
3. Oracle有一个很大的内存块,称为系统全局区(SGA),它的工作有:
(1)维护所有进程需要访问的多种数据结构
(2)缓存磁盘上的数据,另外重做数据写至磁盘之前先在这里缓存
(3)保存已解析的SQL计划

Oracle服务器处理请求的两种最常见的工作方式:

  • 专用服务器(dedicated server)
  • 共享服务器(shared server)

专用服务器

  • 登录时,oracle会创建一个新的进程,通常称为专用服务器配置,这个服务器进程会在会话生存期中提供专门服务。
  • 专用服务器不是实例的一部分
  • 应用程序会通过某种网络通信与专用服务器直接通信,并由这个服务器进程接受和执行应用程序的SQL。

专用服务器的特点
客户连接与服务器进程之间存在一对一映射
使用场景

  • 非OLTP环境中,也就是可能有长时间运行事务的情况
  • 专用服务器是oracle的推荐配置,能很好地扩缩。配置合理的话,可用于数千条并发连接。
  • 某些操作必须在专用服务器模式下执行,如数据库启动和关闭。每个数据库可能同时有专用服务器和共享服务器。

通信方式:
这里写图片描述
共享服务器
正式的说法是多线程服务器(Multi-Threaded Server)或简称为MTS。

  1. 专用服务器为每个会话建立专门进程
  2. MTS使用“共享进程”池为大量用户提供服务
  3. MTS实际上就是一种连接池机制,从而能够让更多的用户与数据库连接
  4. 采用共享服务器模式,共享进程通常与数据库一同启动,使用ps命令/pslist工具可以看到该进程。
    通信方式:
    这里写图片描述
    共享服务器与专用服务器的重大区别:

    • 专用服务器与客户能够直接通信
    • 共享服务器不会与客户进程直接通信
      -调度器(dispatcher, 也称为分派器)
      -客户进程与调度器进程通信
      -调度器进程通过SGA来完成与共享服务器的通信

共享服务器的特点

  • 客户连接与服务器进程之间存在多对一映射
  • 共享服务器是一种共享资源,使用时必须当心,不要太长时间独占这种资源。如果独占了共享服务资源,会导致系统好像挂起了一样
  • 共享服务器的首要原则:要确保事务的持续时间尽量短。事务可以频繁地执行,但必须在短时间内执行完(这正是OLTP系统的特点)。

    可能存在问题:

  • 人工死锁(artificial deadlock):锁的拥有者永久也拿不到共享服务器来完成提交,除非某个等待的会话放弃其共享服务器;

  • 但是,除非等待的会话所等待的是一个有超时时间的锁,否则它们绝对不会放弃其共享服务器。
  • 例如:5个共享服务器,100个用户会话。同一个时间点上最多可以有5个会话并行运行。

共享服务器优点:

  • 减少操作系统进程/线程数
  • 刻意地限制并发度
  • 减少系统所需的内存

限制并发的原因:

  • 在对系统进行基准测试时,人们经常要求支持尽可能多的用户,直至系统崩溃。
  • 并发数和事务数之间的关系:
    • 最初增加并发用户,事务数会增加;
    • 到某一点时,再增加并发用户,事务数不但没有增加,反而开始下降。吞吐量有一个峰值,是系统上允许的最大并发度。从这一点开始,系统开始出现拥塞。
  • 伴随拥塞,系统将开始:
    • 为了完成工作,用户将开始排队
    • 响应时间可能大幅增加,系统的吞吐量也可能开始下跌
    • 上下文切换要占用资源,众多用户之间共享资源需要开销。

这样一来虽然并发数量多,但是并不能起到原有的加快处理速度去的效果,响应时间大幅度上升,反而使性能下降,这就是要限制并发的原因。

使用共享服务器减少内存的原因:

  • 共享服务器用户和进程之间是多对一得关系,这样一来比专用服务器减少很多进程开销。
  • 共享服务器减少的主要是PGA(进程全局区)(不包括UGA(用户全局区))所占用的内存。例如,从5000个专用服务器转变到100个共享服务器,则会节省4900个PGA的内存;
  • 共享服务器会增加SGA的内存,因为将5000个UGA放到了SGA中;
  • 从总量上来讲,减少了4900个PGA的内存
1 0
原创粉丝点击