`

Oracle连接模式可提高数据库性能

 
阅读更多
一、共享服务器模式。
  共享服务器模式,也叫做多线程服务器模式。在这种模式下,Oracle数据库允许多个用户进程共享非常少的服务器进程。所以,可以同时实现用户并发访问的人数也就大大的增加。如果使用专用服务器模式,则每个用户连接数据库时,每个用户进程需要他自己的专用服务器进程。也就是说,客户端进程与服务器端进程是一一对应的。
  而如果采用共享服务器模式的话,则多个用户可以共用一个服务器进程,也就是说,此时客户端进程与服务器进程是多对一的情况。这主要是通过调度程序来实现的。调度程序将多个加入数据库访问会话请求指引到一个共用队列。服务器进程共享池中某个闲置的共享服务器进程依次从队列中获得一个请求。也就是说,一个很小的服务器进程共享池可以为大量的客户机提供服务。
  共享服务器的优缺点可以利用两句话概括。优点是客户端进程多对一,增加了数据库可以支持的用户数。缺点就是各个用户共享一个进程,对用户访问数据库的性能有所影响。
  具体的来说,在以下应用情景下,可以选择采用共享服务器模式。
  1、 前台客户端数量比较多。
  当大量用户需要连接到数据库并且需要有效的使用可用的系统资源的时候,则需要考虑采用共享服务器模式。具体的来说,像现在采用的一些客户端/服务器端模式的网络应用软件,如ERP系统等等。一方面因为用户人数比较多;另一方面企业由于资金有限,所以购置的是一般的服务器。这些服务器由于硬件方面的一些限制,如数据库系统与前台应用服务器采用统一台服务器。所以往往要求数据库能够充分使用硬件资源,以减少两者之间的冲突。
  在这种情况下,往往采用共享式的服务器模式,比较合适。
  2、 服务器内存限制比较大。
  共享服务器模式下,当连接用户增加时,其内存使用率增加不会很多。因为他们共享一个服务器进程。所以,从这一个角度讲,共享服务器模式可以减少内存的使用。但在专用服务器模式下,内存的使用几乎与用户的数量成比例增加。
  所以,用户若在一些老的服务器上部署Oracle数据库的话,因为其主板对内存的升级有所限制,所以,为了得到一个不错的数据库性能,往往采用共享服务器模式。如此,即时同时访问数据库的用户有所增加,其内存也不会有多大的影响。可以大大的降低内存的压力。
  3、 某些特定功能要求采用共享服务器模式。
  虽然说,共享服务器模式与专用服务器模式在大部分情况下,都是通用的,支持Oracle数据库系统的大部分功能。但是,某一些特定的功能,仍然需要数据库管理员在共享服务器模式下,才能够启用。比较典型的,如Oracle数据库服务器的连接共享、连接集中与负载均衡技术等等。他们必须在共享模式下才能够运行。
  负载均衡用来在群集环境下实现多机共享数据库,以保证应用的高可用性。同时可以自动实现并行处理以及均分负载,还能够实现数据库在故障时的容错和无断点恢复。所以,在一些对于性能与稳定性要求比较高的应用场景中,如银行中,往往都会采用负载均衡技术。此时,数据库管理员在配置数据库的时候,就需要考虑采用共享服务器模式。
  二、专用服务器模式。
  在专用服务器模式下,数据库服务器要求每个用户拥有一个专用服务器进程。也就是说,每个服务器拥有一个服务器进程。数据库服务器把现有的服务器进程地质发回客户机,然后客户机将连接请求重新发送到提供的服务器地质,与专用服务器比较。专用服务器模式由于客户端与服务器端进程是一一对应的,所以,其性能上可能会比较有优势。但是,当用户比较多的时候,则其对服务器的硬件资源,特别是内存,会产生比较大的压力。
  若企业应用场景符合如下特征的话,则采用专用年服务器模式能够取得比较好的效果。
  1、 只有少数客户端。
  若连接到数据库的用户比较少,则专用服务器模式是首选。如企业前台是一个财务管理系统,则其使用的人数就会比较少。因为其往往只涉及到一个部门。但是,其数据量会比较多。因为我们知道,对于每一笔交易都需要在财务系统中进行详细的纪录。所以,虽然只是财务一个部门用,但是其纪录量往往是其他各个部门纪录量的总合。在纪录量多、连接用户又比较少的情况下,采用专用服务器模式,可以说是比较明智的选择。
  2、 为数据仓库搭建的数据库系统。
  数据仓库是数据库技术的一个非常典型的应用。他是一个面向主体、集成、时变、非易失的数据集和,是支持管理部门的决策过程。他跟Oracle数据库一样,都是关系型数据库,其中的纪录以表格的方式存储,并且能够用统一的结构化语言进行数据查询。采用数据仓库的主要目的,是为了及时完成业务处理,及时给与客户响应。
  虽然说,关系数据库能够适应大型数据库应用的需要,但是,不能够将其简单的堆砌就直接成为数据仓库来使用。因为数据仓库主要用来处理多维数据。他存储纪录的方式跟普通的有所不同。数据仓库主要通过数组方式来存储纪录,即没有统一的规律可循,也没有统一的多维模型可循,他只恩能够购按其所属类别进行归类。虽然说传统的二维数据库不能够简单的堆砌来成为数据仓库。但是,在设计数据仓库的时候,并不是说要完全另起炉灶,而是可以利用现有的Oracle数据库系统来处理数据,从中进行信息的综合,从而构造出满足不同需要的数据仓库。
  所以,如果这个数据库是为了实现数据仓库而搭建的,则必须要采用专属服务器模式。这是Oracle数据库的强制要求。
  3、 联机事务处理系统。
  联机事务处理系统,英文简称为OLTP。在这种应用下,采用什么模式为好呢?这在业界,没有统一的标准。有的说因为联机事务处理系统使用人数比较多,应该采用共享连接服务器模式;而有的又说联机处理系统对于及时性要求比较高,而共享服务器模式可能会有比较长的等待时间,所以应该采用专用连接服务器模式。笔者是比较倾向于后面这种意见。
  联机事务处理系统,通常来说,有比较多的长事务与大事务。如用户的某几个操,必须作为一个事务处理等的观念。此时,若用户请求数大于共享服务器进程数的话,此时,就会发生排队现象。假设现在有一个共享服务器进程正在执行一个长事务,那么请求队列就需要一直等。直道这个事务完成为止。若从客户端的角度来讲,则客户请求的响应时间就加长了。所以,当用户的连接请求数比共享进程要多时,那么长事务的共享连接必将会造成共享进程的排队。事务越长,其排队的时间也就越长,用户响应的时间也就越长。如此恶性循环下去的话,很多联机事务作业都会受到不同程度的影响。所以,若联机事务处理系统统是符合两个条件(用户连接请求数大于共享进程并且其事务大部分是长事务或者大事务),则采用专用服务器连接模式比采用共享服务器连接模式效率要高。为了保障联机事务处理系统正常运行,笔者建议数据库管理员为其配置专用服务器连接模式。
  若不符合这两个条件的一个,则采用共享连接模式更加合理。

原谅地址:http://www.qnr.cn/pc/ora/study/200901/110338.html
分享到:
评论

相关推荐

    用智能优化限制提高Oracle数据库性能

    本文将深入探讨“用智能优化限制提高Oracle数据库性能”的核心知识点,通过解析智能优化、Oracle数据库性能提升策略,以及具体的SQL执行计划调整技巧,为读者提供一份全面的指南。 ### 智能优化:提升Oracle数据库...

    oracle数据库连接工具

    8. **实时监控**:监控Oracle数据库的性能,例如查看会话、等待事件和数据库状态,以便优化数据库性能。 9. **提醒和计划任务**:可以设置提醒和定时任务,例如定期运行SQL脚本、数据备份等。 10. **版本控制**:...

    oracle10G数据库性能监控与优化详解

    Oracle 10G数据库性能监控与优化是数据库管理员在日常工作中必须掌握的关键技能。Oracle数据库的性能直接影响到应用程序的响应速度和整体系统效率。以下是一些核心知识点的详细解释: 1. **表空间使用率监控**: ...

    oracle数据库crt连接工具

    使用SecureCRT,用户可以进行文本模式下的数据库管理任务,例如执行SQL命令、监控数据库性能、进行备份和恢复操作等。 在使用SecureCRT连接Oracle数据库时,首先需要配置连接参数,包括目标服务器的IP地址、端口号...

    Oracle JDBC连接缓存对JSP数据库处理性能的优化.pdf

    Oracle JDBC连接缓存是提高JSP应用数据库性能的关键技术,通过有效的连接管理和资源复用,它能够显著提升电子商业系统的响应速度和整体性能。正确配置和使用连接缓存,结合其他数据库优化策略,可以为大型、高并发...

    建立与Oracle服务器连接的两种模式

    在Oracle数据库系统中,连接模式的选择对于系统的性能和资源管理有着显著的影响。Oracle9i和10g提供了两种主要的连接模式:专用服务器连接(Dedicated Server)和共享服务器连接(Shared Server)。理解这两种模式的...

    delphi 通过oci连接oracle数据库

    总的来说,通过OCI在Delphi中连接Oracle数据库是一种高效且灵活的方法,适合处理大量数据或需要高性能的应用场景。不过,这也需要开发者具备深厚的Oracle和C语言基础,以及良好的错误处理和资源管理技巧。在实际应用...

    数据库连接池在Oracle数据库中的实现.docx

    综上所述,数据库连接池在Oracle数据库中的实现涉及到JDBC接口的使用、设计模式的应用以及连接池的参数配置,它对于提升应用程序性能、优化数据库资源利用具有重要意义。同时,理解并掌握相关的技术和实践,对于任何...

    Oracle Database 11g:数据库管理-课堂练习I .rar

    此外,可能还会涉及PL/SQL编程,数据库性能监控,以及Oracle的高级特性,如物化视图、分区表和 flashback技术。这些练习将帮助你巩固理论知识,提升实际操作能力,为后续更深入的Oracle数据库管理工作奠定基础。 ...

    Oracle数据库-TNS连接

    RAC(Real Application Clusters)是Oracle提供的高可用性解决方案,允许多台服务器共享同一数据库实例,进一步提高系统的可靠性和性能。 Oracle数据库还涉及到ACL(Access Control List)的管理,用于控制网络访问...

    JAVAweb连接oracle数据库工程

    为了提高性能和资源利用率,通常会使用连接池(如C3P0、DBCP或HikariCP),在应用启动时预创建一定数量的数据库连接,供多个线程复用,而不是每次请求时新建连接。 此外,为防止SQL注入攻击,推荐使用...

    SSH 框架集成连接Oracle数据库的配置

    SSH框架集成连接Oracle数据库的配置是一项常见的开发任务,主要涉及Spring、Struts2和Hibernate这三个流行Java开源框架的协同工作。下面将详细讲解这个过程。 首先,SSH框架是Java Web开发中的三大神器,它们分别是...

    oracle共享连接和专用连接模式

    在Oracle数据库环境中,连接模式的选择直接影响着系统的性能和资源利用效率。本文将详细探讨Oracle数据库中的两种主要连接模式:共享连接(Shared Server)与专用连接(Dedicated Server)。这两种模式各有优势和...

    oracle数据库性能优化宝典

    《Oracle数据库性能优化宝典》是一本专注于提升Oracle数据库运行效率的专业指南,旨在帮助数据库管理员和开发者更好地理解和应用性能优化技巧。以下将详细介绍其中的一些关键知识点: 1. **选用适合的ORACLE优化器*...

    ORACLE数据库设计与优化

    六、数据库性能监控与调优 1. 使用Oracle Enterprise Manager (OEM):进行实时性能监控,识别性能瓶颈。 2. 分析与调整执行计划:通过EXPLAIN PLAN分析SQL执行路径,使用ALTER SYSTEM或ALTER SESSION改变执行计划。 ...

    PowerDesigner 连接oracle直接生成数据库中的表

    ### PowerDesigner 连接Oracle直接生成数据库中的表 在软件开发和数据库管理领域,PowerDesigner作为一款强大的数据建模工具,被广泛应用于概念设计、逻辑数据模型(LDM)和物理数据模型(PDM)的设计过程中。通过...

    JDBC连接Oracle数据库代码经验

    在实际开发中,数据库连接是非常宝贵的资源,通过连接池可以有效地管理和复用这些连接,提高系统的性能和响应速度。 首先,类`DBConnectionManager`是一个单例模式的实现,保证了在整个应用中只有一个`...

    基于ArcSDE Oracle模式的海量空间数据库建设.pdf

    本文将详细探讨这种模式的空间数据库存储、数据库性能优化以及安全措施。 1. 数据库存储 矢量数据的存储在ArcSDE中主要依赖于业务表、要素表和空间索引表。业务表是用户直接交互的部分,而其他表格由SDE自动维护。...

    提高Oracle数据库性能的四个误区

    在提高Oracle数据库性能的过程中,我们常常陷入一些误区,这些误区可能导致优化效果适得其反。以下四个误区将详细解析: 1. **共享服务器模式(MTS)** Oracle的默认设置是专用服务器模式,每用户连接对应一个...

Global site tag (gtag.js) - Google Analytics