<IBM DB2>《DB2 进程技术模型》

news2024/11/16 1:19:05

《DB2 进程技术模型》

  • 1 概念说明
  • 2 引擎可分派单元EDU
  • 3 多线程体系结果优点
  • 4 协调代理程序
  • 5 防火墙
  • 6 客户机程序
  • 7 侦听器
  • 8 代理程序
  • 9 db2fmp
  • 10 db2vend
    • 10.1 数据库 EDU
    • 10.2 事件监视器线程的标识方式如下:
    • 10.3 备份和复原线程的标识方式如下:
  • 11 数据库服务器线程和进程

1 概念说明

1、帮助理解数据库管理器与其相关联的组件的交互方式。
2、帮助您在发生问题时进行故障诊断。
3、DB2 数据库服务器使用的进程技术模型都旨在简化数据库服务器与客户机之间的通信。
4、确保数据库应用程序独立于数据库控制块和关键数据库文件之类的资源。

2 引擎可分派单元EDU

1、DB2 数据库服务器必须执行各种不同的任务,每项任务都由一个独立的引擎可分派单元 (EDU) 执行。

2、您可以依靠 DB2 数据库服务器来管理 EDU 集合。但是,也可以通过一些 DB2 工具来管理 EDU。例如,可以使用带有 -edus 选项的 db2pd 命令来列示所有活动的 EDU 线程。

3 多线程体系结果优点

1、由于同一进程内的所有线程可以共享一些操作系统资源,因此,新线程需要的内存和操作系统资源比进程要少。

2、由在某些平台上,线程的上下文切换时间比进程短,这有助于提高性能。

3、在所有平台上使用线程模型使得 DB2 数据库服务器更易于配置,因为这样更容易根据需要分配更多 EDU,并且可以动态分配必须由多个 EDU 共享的内存。

4 协调代理程序

每个客户机应用程序连接都有一个对数据库执行操作的协调代理程序。协调代理程序代表应用程序工作,并根据需要使用专用内存、进程间通信(IPC)或远程通信协议与其他代理程序进行通信。

5 防火墙

DB2 体系结构提供了一个防火墙,以使应用程序与 DB2 数据库服务器在不同的地址空间中运行(图 1)。防火墙将数据库和数据库管理器与应用程序、存储过程和用户定义的函数(UDF)隔开。此防火墙有助于维护数据库中数据的完整性,这是因为,它将阻止应用程序编程错误覆盖内部缓冲区或数据库管理器文件。此防火墙还提高了可靠性,原因是应用程序错误不会导致数据库管理器崩溃。
在这里插入图片描述

6 客户机程序

客户机程序可以是远程程序,也可以是在数据库服务器所在机器上运行的本地程序。客户机程序首先通过通信侦听器与数据库联系。

7 侦听器

通信侦听器在 DB2 数据库服务器启动时启动。每种已配置的通信协议都有一个侦听器,本地客户机程序使用进程间通信(IPC)侦听器(db2ipccm)。侦听器包括:
db2ipccm,用于本地客户机连接
db2tcpcm,用于 TCP/IP 连接
db2tcpdm,用于 TCP/IP 发现工具请求

8 代理程序

将为所有来自本地或远程客户机程序(应用程序)的连接请求分配相应的协调代理程序(db2agent)。创建协调代理程序之后,它将代表该应用程序执行所有数据库请求。

在分区数据库环境或者已启用查询内并行性的系统中,协调代理程序会将数据库请求分发给子代理程序(分别为 db2agntp 和 db2agnts)。与应用程序相关联但当前处于空闲状态的子代理程序名为 db2agnta。

协调代理程序可能:
–已通过别名连接到数据库;例如,db2agent (DATA1) 将连接到数据库别名 DATA1。
–已连接到实例;例如 db2agent (user1) 将连接到实例 user1。

DB2 数据库服务器还会将其他类型的代理程序(例如独立的协调代理程序或子协调代理程序)实例化,以便执行特定的操作。例如,独立的协调代理程序 db2agnti 用于运行事件监视器,而子协调代理程序 db2agnsc 用于在异常关闭后以并行方式执行数据库重新启动操作。

网关代理程序 (db2agentg) 是一个与远程数据库相关联的代理程序。它提供用于允许客户机访问主机数据库的间接连接。

空闲代理程序驻留在代理程序池中。这些代理程序可用于处理来自代表客户机程序运行的协调代理程序或来自代表现有协调代理程序运行的子代理程序的请求。当存在大量应用程序工作负载时,配备大小适当的空闲代理程序池有助于提高性能。在这种情况下,可以根据需要立即使用空闲代理程序,而不需要为每个应用程序连接分配全新的代理程序,后一种情况涉及创建线程以及分配并初始化内存和其他资源。DB2 数据库服务器自动管理空闲代理池的大小。

可将合用代理程序关联到远程数据库或本地数据库。 在远程数据库上合用的代理程序称为合用网关代理程序 (db2agntgp)。在本地数据库上合用的代理程序称为合用数据库代理程序 (db2agentdp)。

总结:

协调代理程序功能说明
db2agent协调代理程序协调代理程序将代表该应用程序执行所有数据库请求。
db2agntp
db2agntp
子代理程序分区数据库中协调代理程序协调代理程序
db2agnti独立的协调代理程序用于运行事件监视器
db2agnsc子协调代理程序用于在异常关闭后以并行方式执行数据库重新启动操作
db2agentg网关代理程序是一个与远程数据库相关联的代理程序,它提供用于允许客户机访问主机数据库的间接连接。
db2agntgp合用网关代理程序在远程数据库上合用的代理程序
db2agentdp合用数据库代理程序在本地数据库上合用的代理程序

9 db2fmp

受保护方式进程负责在防火墙外执行受防护的存储过程和用户定义的函数。db2fmp 进程始终是独立的进程,但可能是多线程进程,这取决于它执行的例程的类型。

10 db2vend

这是代表 EDU 执行供应商代码的进程;例如,执行用户出口程序以进行日志归档(仅适用于 UNIX)。

10.1 数据库 EDU

以下列表包括每个数据库使用的一些重要 EDU:

EDU说明
db2dlock用于死锁检测。在分区数据库环境中,使用另一个线程(db2glock)来协调 db2dlock EDU 从每个分区中收集的信息;db2glock 仅对目录分区运行。
db2fw事件监视器快速写程序;用于对表、文件或管道进行事件监视器数据的大量、并行写入。

db2fwx事件监视器快速写程序线程,其中“x”标识线程号。在数据库激活期间,DB2 引擎会将 db2fwx 线程数目设为一个值,该值对于事件监视器性能最佳,而且可以避免在运行不同类型的工作负载时发生潜在的性能问题。db2fwx 线程数目等于系统上逻辑 CPU 的数目(对于多核心 CPU,每个核心看作一个逻辑 CPU)。对于分区数据库环境,衍生的 db2fwx 线程数目等于每个数据库的每个成员的逻辑 CPU 数目除以主机上的本地分区数目。
db2hadrp,高可用性灾难恢复 (HADR) 主服务器线程
db2hadrsHADR 备用服务器线程
db2lfr用于处理各个日志文件的日志文件阅读器
db2loggr用于处理日志文件以处理事务处理和恢复
db2loggw用于将日志记录写入日志文件
db2logmgr用于日志管理器。管理可恢复数据库的日志文件。
db2logts用于跟踪哪些表空间在哪些日志文件中有日志记录。此信息记录在数据库目录中的 DB2TSCHG.HIS 文件中。
db2lused用于更新对象用途
db2pfchr用于缓冲池预取程序
db2pclnr用于缓冲池页清除程序
db2redom用于重做主进程。在恢复期间,它处理重做日志记录并将日志记录指定给重做工作程序来进行处理。
db2redow用于重做工作程序。在恢复期间,它按照重做主进程的请求来处理重做日志记录。
db2shred用于处理日志页中的各个日志记录
db2stmm用于自调整内存管理功能
db2taskd\用于分发后台数据库任务。这些任务由名为 db2taskp 的线程执行。
db2wlmd用于自动收集工作负载管理统计信息

10.2 事件监视器线程的标识方式如下:

db2evm%1%2 (%3)
其中,%1 可以是:

g - 全局文件事件监视器
gp - 全局管道事件监视器
l - 本地文件事件监视器
lp - 本地管道事件监视器
t - 表事件监视器

%2 可以是:

i - 协调程序
p - 不是协调程序

而 %3 是

事件监视器名称

10.3 备份和复原线程的标识方式如下:

db2bm.%1.%2(备份和复原缓冲区操纵程序)和 db2med.%1.%2(备份和复原介质控制器),其中:

%1 是用于控制备份或复原会话的代理程序的 EDU 标识
%2 是用于区分属于特定备份或复原会话的线程(可能有许多个)的顺序值

例如:db2bm.13579.2 标识具有 EDU 标识为 13579 的 db2agent 线程控制的第二个 db2bm 线程。

11 数据库服务器线程和进程

系统控制器(在 UNIX 上为 db2sysc,在 Windows 操作系统上为 db2syscs.exe)必须存在,这样数据库服务器才能工作。下列线程和进程将执行各种任务:

进程或线程说明
db2acd用于主管运行状况监视器、自动维护实用程序和管理任务调度程序的自主计算守护程序。此进程以前称为 db2hmon。
db2aiothr用于管理数据库分区的异步 I/O 请求(仅适用于 UNIX)
db2alarm用于在 EDU 请求的计时器到期时通知 EDU(仅适用于 UNIX)
db2cart用于在 userexit 数据库配置参数处于启用状态时归档日志文件
db2disp客户机连接集中器分派器
db2fcms快速通信管理器发送方守护程序
db2fcmr快速通信管理器接收方守护程序
db2fmd故障监视器守护程序
db2fmtlg用于在 logretain 数据库配置参数处于启用状态并且 userexit 数据库配置参数处于禁用状态时格式化日志文件
db2licc管理已安装的 DB2 许可证
db2panic应急启动代理程序,用于在达到代理程序限制后处理紧急请求。
db2pdbc并行系统控制器,用来处理来自远程数据库分区的并行请求(仅用于分区数据库环境)
db2resync扫描全局再同步列表的再同步代理进程
db2sysc主系统控制器 EDU;它处理关键的 DB2 服务器事件
db2thcln在 EDU 终止时重新启动资源(仅适用于 UNIX)
db2wdog在 UNIX 和 Linux 操作系统上处理异常终止的看守程序

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/447547.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

苹果手机没有声音怎么回事?3分钟解决!

案例:苹果手机听不见声音怎么回事? 【朋友们,苹果手机没有声音,不知道我是不是按错了什么。】 如果你的苹果手机没有声音,可能是由于多种原因导致的。苹果手机没有声音怎么回事?看这里,下面是一…

(转载)简述马尔可夫链

赶紧记录一下,通俗易懂。 参考:https://zhuanlan.zhihu.com/p/448575579 马尔科夫链的思想:过去所有的信息都已经被保存到了现在的状态,基于现在就可以预测未来。(用数学方法就能解释自然变化的一般规律模型) 马尔科夫链为状态空…

ROS学习第二十四节——rosbag

1 rosbag使用_命令行 需求: ROS 内置的乌龟案例并操作,操作过程中使用 rosbag 录制,录制结束后,实现重放 实现: 1.准备 创建目录保存录制的文件 mkdir ./xxx cd xxx2.开始录制 -a:all,录制所有话题消息 -o:out&#xff0c…

领跑行泊一体,纵目科技剑指自动驾驶L2到L4的规模化商业落地机遇

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 2019年,通用、丰田、特斯拉等11家车企承诺自动驾驶时间表,他们大都表示在2020年底实现高级别自动驾驶。以特斯拉为例,其CEO埃隆马斯克曾承诺在2020年实现自动驾驶食言后,随后在…

【工作记录】centos7.5环境下通过源码编译方式部署mysql5.7.25

前言 本文介绍centos7.5环境下通过源码编译安装mysql5.7.25的过程及安装过程中遇到的问题解决。 一、准备工作 # 新建目录 # data 数据 config 配置 boost 引导文件 log 日志文件 mkdir -p /opt/mysql/data /opt/mysql/config /opt/mysql/boost /opt/mysql/log /opt/mysql/ …

Python小姿势 - # 基础数据结构与算法

基础数据结构与算法 Python中基础的数据结构与算法是非常重要的,它们可以帮助我们解决很多实际问题。今天我们就来学习一下Python中的基础数据结构与算法。 首先,我们先来了解一下数据结构。数据结构是一种用来存储、组织、处理数据的方法。它可以帮助我…

理解Java程序的执行

main 方法 public class Solution {public static void main(String[] args) {Person person new Person();person.hello();} }class Person {public void hello() {System.out.println("hello");} }源文件名是 Solution.java,这是因为文件名必须与 pub…

初刷leetcode题目总结 -- 数据结构

魔王的介绍:😶‍🌫️一名双非本科大一小白。魔王的目标:🤯努力赶上周围卷王的脚步。魔王的主页:🔥🔥🔥大魔王.🔥🔥🔥 ❤️‍&#x1…

Leetcode38. 外观数列

一、题目描述: 给定一个正整数 n ,输出外观数列的第 n 项。 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。 你可以将其视作是由递归公式定义的数字字符串序列: countAndSay(1) “…

4月19日第壹简报,星期三,农历闰二月廿九

4月19日第壹简报,星期三,农历闰二月廿九坚持阅读,静待花开1. 国家统计局:一季度GDP同比增长4.5%,当前中国经济没有通缩,下阶段也不会出现通缩,全国城镇调查失业率平均值为5.5%。2. 字节跳动发布…

海格里斯HEGERLS高速穿梭车按需定制|四向穿梭车货架和子母穿梭车货架别傻傻分不清?

随着物流行业和仓储行业的发展,越来越多的企业用户对仓储自动化程度要求越来越高。而近年来,各式各样的穿梭车AGV小车也现身各大物流展,备受各大中小型企业用户的青睐。且为了进一步提高仓库仓储的存储率,越来越多的仓储货架和仓储…

Docker之容器数据卷

Docker之容器数据卷 1. 容器数据卷的概念2. 数据卷的使用2.1 方式一2.2 测试22.3 方式二 3. 安装MySQL4. 具名挂载和匿名挂载4.1 匿名挂载4.2 具名挂载 5. 初识 Dockerfile6. 数据卷-容器之间 1. 容器数据卷的概念 将应用和环境打包成一个镜像数据?如果数据都在容器…

Java | 一分钟掌握JDK命令行工具 | 4 - 可视化分析工具

作者:Mars酱 声明:本文章由Mars酱编写,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我! 前言 我们其实在分析的时候,也并不是必须使用命令行工具才能可以…

八、vue-基础之列表渲染v-for、v-for中的key属性的作用

一、v-for列表渲染 在真实开发中,我们往往会从服务器拿到一组数据,并且需要对其进行渲染。 这个时候我们可以使用v-for来完成;v-for类似于JavaScript的for循环,可以用于遍历一组数据; 二、v-for基本使用 &#xff0…

Kubeadm方式搭建K8s高可用集群【1.23.0版本】

文章目录 一、集群规划及架构二、系统初始化准备(所有节点同步操作)三、安装kubeadm(所有节点同步操作)四、高可用组件安装及配置1、安装Nginx及配置2、安装keepalived及配置 五、初始化Master集群六、扩容K8S集群1、扩容master节点2、扩容node节点 七、安装网络组件Calico八、…

电脑文件剪切到U盘,为什么不见了?这4个技巧帮你找回丢失文件

文件剪切是指对计算机中的文件进行移动操作,将文件从原先的位置剪切到新的位置,然后将这些文件粘贴到新的位置,以完成文件的整个剪切操作。虽然剪切操作起来并不难,但是近日,有位小伙伴遇到了将电脑文件剪切到u盘后出现…

【C++】模板(二)

文章目录 非类型模板参数简单对容器array(c11)介绍及对比模板特化函数模板特化类模板特化全特化偏特化 模板分离模板总结 非类型模板参数 模板参数分类类型形参与非类型形参。 类型形参即:出现在模板参数列表中,跟在class或者type…

文献智能管理工具

当下载的文献非常多的时候,对文献的管理将是一个非常耗时且困难的工作。困难主要来自两个方面,一是文献的分类,当文献属于多个类别的时候,究竟应该放在哪个类别的文件夹下,还是说每个类别的文件夹下都放一个该文献的备…

传输层重点协议之【TCP协议】

1. TCP协议段格式 2. TCP原理 2.1 可靠性机制 2.1.1 确认应答 确认应答是实现可靠性的最核心机制 首先来看一个例子,下面是我和女神的对话~ 所以为了解决上述问题呢,就需要针对消息进行编号!给发送的消息分配一个”序号“,同时…

【蓝桥杯省赛真题21】python二十四节气 青少年组蓝桥杯比赛python编程省赛真题解析

目录 python二十四节气 一、题目要求 1、编程实现 2、输入输出 二、解题思路