db2与oracle的全面对比5

db2event

事件监视器进程。每个活动的事件监视器,每个活动的数据库就会有一个 db2event 进程。这些进程捕获已定义的事件并写到为事件监视器指定的输出文件。

所有

db2loggr

数据库日志阅读器。该进程在执行下列操作时读取数据库日志文件:

    事务处理(即回滚)

    重新启动恢复

    前滚操作

所有

db2loggw

数据库日志记录器。该进程使用日志缓冲区的日志记录对磁盘上的日志文件进行刷新。

所有

db2logts

该进程用于收集有关当某个表空间被修改时哪些日志是活动的历史信息。该信息记录在数据库目录的 DB2TSCHG.HIS 文件中。通过启用跳过操作(即跳过前滚操作不需要的那些日志文件),可以使用该进程来加速表空间前滚恢复。

所有

db2pclnr

缓冲池页面清除程序。这些进程以异步方式将页面从缓冲池写回到磁盘。页面是这样一个页面:在将该页面读入缓冲池后对其进行过更改,并且磁盘上的映像与缓冲池中的映像不再一样。

当页面清除程序被触发时,它们将同时全部运行。一旦它们完成其分配的工作,就进入睡眠状态,直到被再次触发。

页面清除程序的任务是确保缓冲池有空间可以容纳正在被应用程序检索的新页面。

每个数据库的页面清除程序的数量是通过 NUM_IOCLEANERS 数据库配置参数配置的。

所有

db2pfchr

缓冲池预取程序。这些进程代表应用程序在读取数据和索引信息之前,从磁盘读该信息并且将该信息读入数据库缓冲池。预取程序异步地执行这个预读(read-ahead操作。

代表应用程序进行工作的 DB2 代理程序发送预取请求,预取程序为这些请求提供服务。预取程序执行大块 I/O 来更有效地读取数据。每个数据库的预取程序的数量是由 NUM_IOSERVERS 数据库配置参数配置的。

所有

4. 按功能分类的其它进程

进程名

描述

适用范围

db2bm

备份/恢复缓冲区操纵器。该进程用于在备份操作过程中从表空间进行读取,以及用于在恢复操作过程中写到表空间。通过 BACKUP RESTORE 命令配置的每个备份/恢复缓冲区都将有一个 db2bm 进程。

所有

db2fmp

这是一些受防护的进程,用于在防火墙外的服务器上运行用户代码,这些代码
既有存储过程,
又有用户定义的函数。

db2fmp 始终是独立的进程,但是根据它执行的例程类型,也可能是多线程的。

注:该进程替换了 DB2 以前版本中使用的 db2udf db2dari 这两个进程。

所有

db2lbs

LOAD LOB 扫描程序。仅当装入工具正在装入带有 LOB 列的表时才使用它们。这些进程扫描表的 LOB 对象,并将该信息读回表中。

所有

db2lbmX

LOAD 缓冲区操纵器。最后一个字符“X”表示一或更大的数字。该进程将已装入的数据写到数据库,并且可能涉及到异步 I/O“X”始终是 1,不过通常也会是更大的数字,这取决于试探值(heuristic)。试探值取决于系统上的 CPU 数以及被写的容器数。

这个智能的缺省值可能会被 LOAD 命令的 DISK_PARALLELISM 修饰符覆盖。

我们应当明白,这个异步 I/O 不是某些操作系统支持的异步文件 I/O;它只意味着我们有一些写 I/O 的独立进程。这意味着,正在格式化数据的其它进程不用被 I/O 等待所束缚。

所有

db2lfrmX

LOAD 格式化程序进程。最后一个字符“X”表示一或更大的数字。该进程将输入数据格式化成内部格式。它始终出现在 LOAD 中。该进程使用了智能的缺省值,它可能会被 CPU_PARALLELISM 修饰符覆盖,以选择最佳的 CPU 数。

所有

db2lfs

当被装入的表包含 LONG VARCHAR 列时则使用这些进程。这些进程用来读和格式化表中的 LONG VARCHAR 列。

所有

db2lmr

这是一个 LOAD 媒体阅读器(Media Reader)进程。它读取装入输入文件,一旦读完所有输入文件,该进程就会消失。甚至在整个装入操作完成之前该进程就会消失。

所有

db2lmwX

这些是 LOAD 媒体记录器进程。最后一个字符“X”表示一或更大的数字。

如果为 LOAD 命令指定了装入副本(load copy选项,那么该进程将生成装入副本。装入副本本质上就是装入到表中的数据备份。

这些媒体记录器与 BACKUP RESTORE 使用的媒体记录器相同。就象在命令行上描述的那样,每个复制会话调用一个媒体记录器(您可以创建多个文件的装入副本)。如果没有装入副本,则没有媒体记录器。它们根据数据的类型在装入时从其它进程获取输入,但是,由缓冲区操纵器写的每位数据通常都将被传递到媒体记录器。就如同其它所有的进程那样,它们由装入代理程序控制。

所有

db2lrid

该进程在 LOAD 期间执行索引排序,并构建索引记录标识(Record IDRID)。

该进程不会出现在非并行数据库实例(即禁用 INTRA_PARALLEL 的实例)中。该进程执行的任务由非并行实例中的格式化程序 EDU 完成。

该进程完成下列三种功能:

    SMP 同步

    分配 RID,最后一个将构建索引

    控制 LOAD 格式化程序进程的同步

所有

db2ltsc

LOAD 表扫描程序。这些进程扫描数据对象,查找被装入的表,并读取 LOAD 工具的信息。在 LOAD 追加操作过程中使用这些进程。

所有

db2linit

LOAD 初始化子代理程序。这个子代理程序获取数据库分区上必需的资源,并将应答序列化,返回给装入目录子代理程序。

只适用于多分区数据库环境

db2lcata

LOAD 目录子代理程序。这个子代理程序只在目录分区上执行,它负责:

    衍生初始化子代理程序

    处理其应答

    存储目录分区上的锁信息。

该目录子代理程序还查询系统目录表以确定哪些分区用于数据分割和分区。

正常的装入作业只有一个目录子代理程序。异常情况是装入无法获取某些分区上的装入资源。如果数据库分区上的设置错误被隔离出来,那么协调程序将从装入的内部分区列表除去发生故障的分区,并衍生一个新的目录子代理程序。这一过程会重复进行,直到成功获取所有分区上的资源,或者在所有分区上都遇到了故障。

只适用于多分区数据库环境

db2lpprt

装入预分区子代理程序。这个子代理程序将输入数据从一个输入流预分区成多个输出流,每个分区子代理程序都有一个这样的进程。

每个输入流都将有一个预分区子代理程序。

只适用于多分区数据库环境

db2lpart

装入分区子代理程序。这个子代理程序将输入数据分区成多个输出流,将写入数据的每个数据库分区都有一个这样的进程。

分区子代理程序的数量可以由用户进行配置。缺省数量取决于输出数据库分区的总数。

只适用于多分区数据库环境

db2lmibm

装入微型缓冲区操纵器子代理程序进程。

如果为装入使用了
partition_only
方式,那么该子代理程序就编写分区的输出文件。

每个输出数据库分区就有一个微型缓冲区操纵器子代理程序。

只适用于多分区数据库环境

db2lload

装入子代理程序进程。这个子代理程序负责完成每个数据库分区上的装入操作。它衍生格式化程序、ridder、缓冲区操纵器和媒体记录器 EDU,并监视它们的工作。

每个输出数据库分区都有一个装入子代理程序。

只适用于多分区数据库环境

db2lrdfl

装入读文件子代理程序进程。这个子代理程序读取给定数据库分区上的消息文件,并将数据发送回客户机。每个输出分区、分区的分区和预分区的分区都有一个读文件子代理程序。

只适用于多分区数据库环境

db2llqcl

装入查询清除子代理程序进程。这个子代理程序从给定分区除去所有装入临时文件。

每个输出分区、分区的分区和预分区的分区都有一个清除子代理程序。

只适用于多分区数据库环境

db2lmitk

装入微型任务子代理程序进程。这个子代理程序释放了在某次从游标调用的装入或 CLI 装入中使用的所有 LOB 定位器。

运行在协调程序分区上的每个游标/CLI 装入都有一个微型任务子代理程序。

只适用于多分区数据库环境

db2lurex

装入用户出口子代理程序进程。这个子代理程序运行用户的文件传送命令。

使用文件传送命令选项的每个装入作业都将有一个用户出口子代理程序。

只适用于多分区数据库环境

db2lmctk

该进程用于持有、释放或降级(downgrade)目录分区上持有的由于装入而产生的锁。

只适用于多分区数据库环境

d2med

这些进程对用于 LOAD、备份和恢复的数据库表空间进行读和/或写操作。

它们将已格式化页面中的数据写到表空间容器。

所有

db2reorg

该进程用于执行 DB2 V8.1 中新的联机就地重组操作。该进程的工作原理类似于磁盘整理碎片工具,它以特定的顺序放置数据行。

所有

5. 一些常用的可执行文件

进程名

描述

适用范围

db2

DB2 命令行处理器(CLP)前台进程。它解析 DB2 命令和 SQL 语句等。

该进程是 DB2 CLP 的交互式组件。

这个前端/后端配置对于命令行性能确实有一些益处:前端处理到用户的连接,而后端与数据库进行连接。

您可以使用 CTRL-C/CRTL-Break 来停止处理工作(即当返回太多记录时),而无需杀死到数据库的连接。

所有

db2bp

这是 DB2 CLP 的持久后台进程,并且它是实际连接到数据库的进程。

因为 DB2 CLP 允许 OS DB2 命令/语句,因此这个后台进程是必需的。

所有

db2cmd

类似于 db2 可执行文件,但适用于 Windowsdb2cmd 调用 Windows 命令窗口。在 Windows 上,当父线程被终止时,它们不能终止其子进程。DB2 命令行处理器具有一个前端和后端进程/线程,因此我们需要一个 cookie(通过 DB2CMD.EXE 启动的)在 Windows 上将这些线程联系在一起,这样,如果用户退出或杀死前端进程,那么后端进程也被终止。

只适用于 Windows

db2start

启动 DB2 引擎的用户命令。

所有

     

如果这文章对你有帮助,请扫左上角微信支付-支付宝,给于打赏,以助博客运营

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注