iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >数据库的共享模式与专有模式是什么
  • 145
分享到

数据库的共享模式与专有模式是什么

2024-04-02 19:04:59 145人浏览 安东尼
摘要

这篇文章主要介绍“数据库的共享模式与专有模式是什么”,在日常操作中,相信很多人在数据库的共享模式与专有模式是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”数据库的共享模式

这篇文章主要介绍“数据库的共享模式与专有模式是什么”,在日常操作中,相信很多人在数据库的共享模式与专有模式是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”数据库的共享模式与专有模式是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一、简介

概念

  • 专有连接:用一个服务器进程响应一个客户端请求

  • 共享连接:在共享服务器模式下,客户端通过监听连接到dispatcher之后,dispatcher会随机分配一个端口,此时客户端断开和监听的连接,通过分配的端口和dispatcher连接。和监听的连接是短暂的。

适用场景

  • 对于连接数不多的应用,适宜用专有连接,客户的请求响应及时;

  • 对于连接数较大的应用,适宜用共享连接,充分利用系统资源

二、相关参数

通用参数

  • remote_listener:可以实现数据库和listener的分离。

    • 单机环境的remote_listener 一般为空。

    • rac环境下,listener是跟随集群crs启动的。而且数据库 rdbms的启动要依赖asm实例的资源,所以不存在启动数据库后,listener没启动,当然出现故障除外。

      • local_listener是该节点的listener信息

      • remote_listener一般是scan的信息

  • local_listener

    pmon只会动态注册port等于1521的监听,否则pmon不能动态注册listener,要想让pmon动态注册listener,需要设置local_listener参数。

  • listener_networks:配置多个remote_listener、local_listener时需要,平时很少用

    例子:alter system set LISTENER_NETWORKS='((NAME=network1)(LOCAL_LISTENER=listener_net1)(REMOTE_LISTENER=scanone.gaopp.com:1521))','((NAME=network2)(LOCAL_LISTENER=listener_net2)(REMOTE_LISTENER=remote_net2))';

共享参数

  • SHARED_SERVERS:如果shared_server值为0,则表示数据库没有启动共享服务模式。 这个参数是配置shared server必须的,而且只有这个参数是必须的。它指定了当实例启动的时候 shared server process 启动的数量,不要将这个参数设置得太大,否者启动数据库instance的时候就会花更多时间,oracle启动过后会根据负载来动态调整shared_servers

  • MAX_SHARED_SERVERS:oracle在同一个时刻最大能够使用的shared server process.不要将这个参数设置小于shared_servers,如果动态修改shared_servers大于max_shared_servers,oracle会覆盖max_shared_servers的值,此时你需要修改max_shared_servers.同时也不能大于processes。这个参数是为了给占用很大资源操作而设的(批处理),为了预留一些process 给DBA任务(rman备份)

  • SHARED_SERVER_SESSioNS:指定了总共允许的的shared server session 的数量。如果设置了这个参数,那么就不要将这个值超过sessions,如果没有设置这个值,那么只要还有空闲的session,就可以被使用。设置这个值是为专用连接预留的User Sessions.

  • DISPATCHERS: 共享连接的分派器数量

  • MAX_DISPATCHERS: 可同时并发的共享连接的最大的分派器数量,此参数目前可忽略;

  • CIRCUITS: 可用的虚拟回路数(Specifies the total number of virtual circuits that are available for inbound and outbound network sessions)

三、资源

内存

  • large_pool_size
    相比于专用服务器模式,共享服务模式的UGA在SGA中,而专用服务器模式的UGA在PGA当中,共享服务器模式下如果设置了large_pool_size则用户的UGA会在large_pool中。MTS减少的内存实际上是专用服务器模式下每个用户连接到操作系统进程所需的内存,共享服务器模式由于限制了Server Process的数量,减少了建立Server Process所需要的内存,同时当并发量大时不需要频繁的创建和删除进程,减少了与之对应的开销,提升了并发量。所以共享服务器模式适合于高并发,处理量小的业务系统。

进程

数据库启动之后比专用服务器模式会多出两种进程,一种是调度进程(Dnnn),一种是共享服务器进程(Snnn)。来自客户端的请求会被dispatcher接受,然后dispatcher将请求置入Request队列。空闲的Server Process会按照request队列开始处理队列中的请求。处理过后的结果放入Response队列中。最后再由DIspatcher来将最后的结果返回给客户端。

  • Snnn:分派器进程使得客户端进程可以共享数量有限的服务器进程。可以为单个数据库实例创建多个分派器进程。分派器进程的最佳个数取决于操作系统的限制和每个进程的连接数。

  • Dnnn:在共享服务器配置中,每个共享服务器进程为多个客户端请求服务。除了共享服务器进程不与特定客户端进程相关联外,共享服务器进程和专用服务器进程提供相同的功能。

四、优缺点

优点

  • 减少了实例中的进程数

  • 增加了更多并发用户的数量

  • 实现动态负载均衡

  • 减少了空闲服务器进程数量

  • 减少了实例PGA内存

缺点:由于共享服务器模式存在种种问题,同时中间件也完全可以实现连接池的效果,所以一般情况下不会共享服务器模式,使用专用服务器模式即可。

  • 共享服务器的代码路径比专用服务器长,所以它天生就比专用服务器慢。

  • 存在人为死的可能,因为它是串行的,只要一个连接阻塞,则该服务器进程上的所有用户都被阻塞,并且极可能死锁。

  • 存在独占事务的可能,因为如果一个会话的事务运行时间过长,它独占共享资源,其它用户只能等待,而专用服务器,每个客户端是一个会话。

  • 共享服务器模式限制了某些数据库特性,例如:不能单独启动和关闭实例,不能进行介质恢复,不能使用Log Miner,并且sql_TRACE没有意义(因为是共享而不是当前会话的)。

五、信息收集

event

  • event 10257(后续会距离详细说明)

视图

  • V$DISPATCHER:提供DISPATCH进程信息,包括DISPATCH名称,网络,地址,状态,统计信息和索引号等;

    有记录,说明是配置了dispatchers参数

  • V$DISPATCHER_CONFIG:提供DISPATCH的配置信息

  • V$DISPATCHER_RATE:提供DISPATCH的速度(RATE)统计

  • V$CIRCUIT:提供用户通过DISPATCH连接到数据库的虚拟回路信息(virtual circuits)

    有记录说明当前有使用共享模式的连接,无记录则不能判定服务器模式

  • V$SHARED_SERVER:提供共享服务器信息

    有记录,且STATUS字段为WAIT(COMMON),则说明启动共享;

    无记录,或STATUS字段为TERMINATED,则说明没有启动共享服务器

  • V$SHARED_SERVER_MONITOR:提供共享服务器的优化信息

  • V$QUEUE:提供共享服务器队列信息.

  • V$SESSION:如果SERVER字段的值除了DEDICATED,还有NONE,则说明当前实例启动了共享服务器,并且SERVER为NONE的会话正使用共享服务器连接,同时,如果只显示有DEDICATED,则不能说明服务器就一定工作在专用服务器下面,此时也有可能启动了共享模式。只是目前连接到数据库的都是专用服务器模式。

六、关闭数据库共享模式

  1. 只需要将参数shared_servers设置为0,即可关闭数据库的共享模式。执行该脚本后,所有以共享方式连接到数据库都不能成功,但是未释放的共享连接会继续保持连接,直到断开为止。

    alter system set shared_servers=0;
  2. 如果同时将参数shared_servers和max_shared_servers都设置为0,那么共享连接方式将被终结。所有的共享方式连接都会断开(已经连接的会话也会断开)

七、开启数据库共享模式

  1. 设置shared_servers这个参数,将其值设置为大于0即可开启服务器共享模式。其他的共享服务器参数可以不用设置,但是最好也设置一下max_shared_servers参数

    alter system set shared_servers=1 scope=both;
    alter system set max_shared_servers =24 scope=both;
  2. 关于参数dispatchers的设置,可以使用下面命令

    alter system set dispatchers='(protocol=tcp)(disp=8)(serv=xxx)’

    前面表示的是协议,disp表示调度器(dipatcher)的进程数量,service分别指定要采用共享服务器模式的服务名称。使用上面的模式指定只启动某个服务的共享模式,如果要设置所有服务都使用共享模式,则设置为:

    alter system set dispatchers='(PROTOCOL=TCP)';

八、当前模式的判断

  1. 查看V$SESSION视图
    通过v$session视图的SERVER字段来进一步判断当前连接模式

    SELECT SID, USERNAME, OSUSER, MacHINE,TERMINAL, SERVER
      FROM V$SESSION
     WHERE USERNAME IS NOT NULL;
  2. 查看连接数据库的tns配置文件,如下所示

    TEST =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.16.22)(PORT = 1521))
        )
        (CONNECT_DATA =
          # SERVER = DEDICATED为专用服务模式
          (SERVER = SHARED)
          (SERVICE_NAME = epps)
        )
      )

到此,关于“数据库的共享模式与专有模式是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

您可能感兴趣的文档:

--结束END--

本文标题: 数据库的共享模式与专有模式是什么

本文链接: https://www.lsjlt.com/news/63571.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 数据库的共享模式与专有模式是什么
    这篇文章主要介绍“数据库的共享模式与专有模式是什么”,在日常操作中,相信很多人在数据库的共享模式与专有模式是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”数据库的共享模式...
    99+
    2024-04-02
  • Oracle网络配置之共享模式和专有模式
    概念 对于连接数不多的应用,适宜用专有连接,客户的请求响应及时; 对于连接数较大的应用,适宜用共享连接,充分利用系统资源; remote_listener...
    99+
    2024-04-02
  • 数据库中三级模式指的是什么
    这篇文章给大家分享的是有关数据库中三级模式指的是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。数据库的三级模式是外模式、概念模式和内模式。用户级对应外模式,概念级对应概念模式...
    99+
    2024-04-02
  • PHP中的享元模式是什么
    本篇内容介绍了“PHP中的享元模式是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!享元模式,“享元”这两个字在中文里其实并没有什么特殊的...
    99+
    2023-06-20
  • 什么是核心代码模式与ACM模式
    本篇内容主要讲解“什么是核心代码模式与ACM模式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“什么是核心代码模式与ACM模式”吧!什么是ACM输入模式呢就是自己...
    99+
    2024-04-02
  • SAP BRF+ Interpretation模式与Generation模式的区别是什么
    这期内容当中小编将会给大家带来有关SAP BRF+ Interpretation模式与Generation模式的区别是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在Simulation mode下测...
    99+
    2023-06-04
  • 数据库系统的三级模式指的是什么
    小编给大家分享一下数据库系统的三级模式指的是什么,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!不同的DBMS在体系结构上通常都具有相同的特征,即采用三级模式结构并提供二级映像功能。数据库系统三...
    99+
    2024-04-02
  • Java中server模式与client模式有什么区别
    这篇文章给大家介绍Java中server模式与client模式有什么区别,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。JVM client模式和Server模式区别JVM Server模式与client模式启动,最主要...
    99+
    2023-05-30
    java server模式 client模式
  • Hive中的数据仓库设计模式有哪些常见模式
    在Hive中,常见的数据仓库设计模式包括以下几种: 星型模式(Star Schema):星型模式是数据仓库中最常见的模式之一,通...
    99+
    2024-04-02
  • 为什么说共享数据库已成过去式了
    这篇文章主要讲解了“为什么说共享数据库已成过去式了”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“为什么说共享数据库已成过去式了”吧!共享数据库范式是一种常见...
    99+
    2024-04-02
  • JS与设计模式中什么是策略模式Strategy
    这篇文章给大家介绍JS与设计模式中什么是策略模式Strategy,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一,总体概要1,笔者浅谈策略模式,又叫算法簇模式,就是定义了不同的算法,并且之间可以互相替换,此模式让算法的...
    99+
    2023-06-17
  • 什么是数据库的三级模式和两级映射
    本篇内容主要讲解“什么是数据库的三级模式和两级映射”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“什么是数据库的三级模式和两级映射”吧! ...
    99+
    2024-04-02
  • 智能时代财务共享服务框架是什么样的模式
    简介 在智能时代,财务共享服务框架是一种新兴的商业模式,它通过利用先进的技术和数据分析能力,为企业提供高效、灵活、安全的财务共享服务。本文将介绍智能时代财务共享服务框架的模式,并探讨其在企业财务管理中的应用。1. 财务共享服务框架的模式1....
    99+
    2024-01-30
    框架 财务 模式
  • wifi低数据模式是什么意思
    "WiFi低数据模式"是一个指示设备在使用WiFi连接时,将网络传输速率限制在较低的速度以降低数据传输量的模式,启用WiFi低数据模式时,设备会限制WiFi连接的传输速率,减少数据的传输量。本教程操作系统:Windows...
    99+
    2023-08-16
  • Java单例模式与破坏单例模式的概念是什么
    本文小编为大家详细介绍“Java单例模式与破坏单例模式的概念是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java单例模式与破坏单例模式的概念是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。什么是单例...
    99+
    2023-07-05
  • java设计模式的策略模式是什么
    这篇文章主要介绍“java设计模式的策略模式是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“java设计模式的策略模式是什么”文章能帮助大家解决问题。策略模式亦称:Strategy意图策略模式是...
    99+
    2023-07-02
  • C++设计模式中的桥模式是什么
    这篇文章主要介绍了C++设计模式中的桥模式是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。单一职责模式:在软件组件的设计中,如果责任划分的不清晰,使用继承得到的结果往往是...
    99+
    2023-06-29
  • 数据库系统的三级模式包括什么
    这篇文章主要讲解了“数据库系统的三级模式包括什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“数据库系统的三级模式包括什么”吧!数据库系统的三级模式不包括数据模式,而是包括概念模式、内模式和...
    99+
    2023-06-20
  • 数据库系统中的三级模式结构指的是什么
    本篇内容主要讲解“数据库系统中的三级模式结构指的是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“数据库系统中的三级模式结构指的是什么”吧!数据库系统的三级模式结构是指数据库系统由外模式、模式...
    99+
    2023-06-20
  • iOS 13中低数据模式有什么用
    这篇文章主要介绍了iOS 13中低数据模式有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。低数据模式是苹果最新的iOS13网络设置中新增的一个开关,开启低数据模式后,系...
    99+
    2023-06-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作