当前位置: 首页 > article >正文

Oracle(2-5)Usage and Configuration of the Oracle Shared Server

文章目录

  • 一、基础知识
    • 1、 Server Configurations服务器配置
    • 2、Dedicated server process专用服务器进程
    • 3、Oracle Shared ServerOracle共享服务器
    • 4、Benefits of Shared Server 共享服务器的优点
    • 5、Processing a Request 处理请求
    • 6、Configuring Shared Server 配置共享服务器
      • 基础介绍
      • 参数介绍
    • 7、Dedicated vs Shared 专用与共享
  • 二、基础操作
    • 1、设置共享服务器模式
    • 2、Verifying Setup 验证注册状态

在这里插入图片描述

Usage and Configuration of the Oracle Shared Server Oracle共享服务器的使用和配置
目标:

  • 确定Oracle共享服务器的组件
  • 描述Oracle共享服务器架构
  • 配置Oracle共享服务器
  • 识别并解释相关数据字典视图的有用性

一、基础知识

1、 Server Configurations服务器配置

  • Dedicated server process专用服务器进程
  • Shared server process 共享服务器进程
  • 专用服务器进程和共享服务器进程都有相同的工作:它们处理您交给它们的所有SQl。当您向数据库提交SELECT*FROM EMP查询时,Oracle专用/共享服务器进程会解析该查询并将其放入共享池(或者希望已经在共享池中找到它)。如果需要,这个过程会产生查询计划,并执行查询计划,可能在缓冲区缓存中找到必要的数据,或者将数据从磁盘读取到缓冲区缓存。
  • 这些服务器进程是主力进程。很多时候,你会发现这些进程是你系统中CPU时间的最高消耗者,因为它们几乎完成了你的排序、求和和和连接。

2、Dedicated server process专用服务器进程

在这里插入图片描述
在这里插入图片描述

如前所述,Oracle通常会在我登录时为我创建一个新进程。这通常被称为专用服务器配置,因为在我的会话的生命周期中,一个服务器进程将专用于我。对于每个会话,将在一一映射中出现一个新的专用服务器。这个专用服务器进程 (根据定义) 不是实例的一部分。我的客户端进程 (任何试图连接到数据库的程序)将通过一些网络管道 (如TCP/IP套接字) 与这个专用服务器直接通信。 这个服务器进程将接收我的SQL并为我执行它。必要时,它会读取数据文件,并在数据库的缓存中查找我的数据。它将执行我的更新语句。它将运行我的PL/SQL代码。它的唯一目标是响应我提交给它的SOL调用。
在这里插入图片描述

3、Oracle Shared ServerOracle共享服务器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 这里要注意一个SGA中只有一个Request Queue请求队列,但是可能会有多个Response Queue响应队列

在这里插入图片描述

  • 如果是在一台机器上,Listener只需要返回端口号即可,如果不是在一台机器上,Listener还需要返回ip地址

4、Benefits of Shared Server 共享服务器的优点

  • 减少针对实例的进程数
  • 增加可能的用户数
  • 实现负载平衡
  • 减少了空闲服务器进程的数量
  • 减少内存使用和系统开销

5、Processing a Request 处理请求

在这里插入图片描述

6、Configuring Shared Server 配置共享服务器

基础介绍

  • 所需的初始化参数
    • DISPATCHERSL
    • SHARED_SERVERS
  • 可选初始化参数
    • MAX_DISPATCHERS
    • MAX_SHARED_SERVERS
    • CIRCUITS 电路
    • SHARED_SERVER_SESSIONS

参数介绍

  • DISPATCHERS
    指定为给定协议初始启动的调度程序数
DISPATCHERS = "(PROTOCOL=TCP)(DTSPATCHERS=2)\(PROTOCOL=IPC)(DISPATCHERS=1)"

在这里插入图片描述

  • SHARED_SERVERS
    指定启动实例时创建的服务器进程数
SHARED_SERVERS = 6

在这里插入图片描述

  • MAX_SHARED_SERVERS
    • 指定可启动的最大共享服务器数
    • 允许根据请求队列的长度动态分配共享服务器
MAX_SHARED_SERVERS = 10

在这里插入图片描述

  • CIRCUITS 电路
    • 指定可用于入站和出站网络会话的虚电路总数
    • 影响SGA总规模
CIRCUITS = 100
  • SHARED_SERVER_SESSIONS
    • 指定Oracle共享服务器用户会话的总数
    • 设置此参数使您可以为专用服务器保留用户会话
SHARED_SERVER_SESSIONS = 100

7、Dedicated vs Shared 专用与共享

  • 如果配置了共享服务器,并且客户机连接请求在没有注册调度程序的情况下到达则由专用服务器进程处理该请求。如果希望特定客户端始终使用分派器,请配置在CONNECT描述符的CONNECT_DATA部分(server=Shared)。举个例子
sales=
(DESCRIPTION=
	(ADDRESS=(PROTCOL=tcp)(HOST=sales-server)(PORT=1521))
	(CONNECT DATA=
		(SERVICE NAME=orcl)
		(SERVER=shared)))
  • 如果调度程序不可用,则拒绝客户端连接请求。

  • 如果数据库配置为共享服务器,而某个特定的客户端需要专用服务器,则可以通过以下方式之一配置客户端使用专用服务器:

  • 您可以使用CONNECT_DATA部分中包含 (server=专用)的连接描述符来配置网络服务名。举个例子:

sales=
(DESCRIPTION=
	(ADDRESS=(PROTCOL=tcp)(HOST=sales-server)(PORT=1521))
	(CONNECT DATA=
		(SERVICE NAME=orcl)
		(SERVER=dedicated)))

二、基础操作

1、设置共享服务器模式

首先以dba用户登录数据库

sqlplus / as sysdba

然后启动数据库

startup

在这里插入图片描述
查看相关参数

show parameter disp;

在这里插入图片描述

show parameter share;

在这里插入图片描述
修改相关参数

  • DISPATCHERSL
  • SHARED_SERVERS
    这两个参数是我们必须要进行设置的
alter system set dispatchers='(protocol=tcp)(dispatchers=3)';

在这里插入图片描述
进行查看

show parameter disp;

在这里插入图片描述
我们没有设置最大的上限,目前设置的可以有3个dispatchers,我们在查看一下进程

 ps -ef | grep oracle

在这里插入图片描述
可以看到d001和d002,上边有个d000是之前存在的
现在我们修改SHARED_SERVERS

alter system set SHARED_SERVERS=4;

在这里插入图片描述
再次查看进程

ps -ef | grep oracle

在这里插入图片描述
可以看到s001、s002和s003,上边有个s000是之前存在的

2、Verifying Setup 验证注册状态

当实例启动时,验证调度程序是否已向侦听器注册:

lsnrctl services

通过建立一个连接来验证是否使用共享服务器进行了连接,然后查询V$CIRCUIT视图以显示每个共享服务器连接的一个条目。

完结在这里插入图片描述


http://www.kler.cn/a/148534.html

相关文章:

  • 阿里云centos7.9服务器磁盘挂载,切换服务路径
  • sol机器人pump机器人如何实现盈利的?什么是Pump 扫链机器人?
  • Qt 和 WPF(Windows Presentation Foundation)
  • 《新智慧》期刊的征稿范围主要包括哪些方面?
  • GxtWaitCursor:Qt下基于RAII的鼠标等待光标类
  • 21. Drag-Drop拖放操作(二) - 文件、表格和树的拖放实现
  • Vue 3 面试经验分享
  • CSS 属性列表
  • 手写字符识别神经网络项目总结
  • Elasticsearch底层原理分析——新建、索引文档
  • RabbitMQ工作模式2 整合springboot 和MQ高级特性
  • datasets.Dataset.map方法学习笔记
  • vscode在Windows上安装插件提示错误xhr failed
  • 编程语言发展史:Ruby语言的发展和应用
  • Docker 镜像使用
  • sqlserver写入中文乱码问题
  • Java中的mysql——面试题+答案(数据库设计)——第25期
  • 机器学习的复习笔记2-回归
  • 如何获取高质量的静态住宅IP代理?常见误区与注意事项
  • C语言--每日选择题--Day28
  • 开关电源低温启动测试条件是什么?如何测试开关电源?
  • Micropython STM32F4外部中断实验
  • 【闲读 1】量子论引出对认知的思考
  • docker compose搭建渗透测试vulstudy靶场示例
  • 11.28 知识回顾(Web框架、路由控制、视图层)
  • java基础-IO