Chinaunix首页 | 论坛 | 博客
  • 博客访问: 427243
  • 博文数量: 239
  • 博客积分: 8010
  • 博客等级: 中将
  • 技术积分: 2431
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-02 21:12
文章分类
文章存档

2008年(239)

我的朋友

分类:

2008-06-18 00:23:25

数据库系统

DB2数据库系统采用多进程体系结构,所有的功能模块是使用进程来实现的,进程被称为引擎可调度单元(engine dispatchable unitEDU)。数据库系统的配置参数可以在实例、数据库两个级别上设置。

 

1. 监听进程

 

DB2系统支持TCP/IPAPPCNetBIOSPIPE通信协议。在配置数据库系统时,通过环境变量DB2COMM设定系统要使用的通信协议。下列实例配置参数和监听进程有关:

SVCENAME:设定通讯协议使用的端口号。

 

2. 代理进程

 

DB2系统中的代理进程分为两类:协调代理进程和子代理进程。协调代理进程接收用户请求,在处理完成后,将结果返回给用户。如果DB2系统启用了分区间或者分区内的并行处理,协调代理进程可能根据需要,将一个事务处理分成多个子任务,交由多个子代理进程并行处理,在合并了子代理进程的结果后返回给用户。

代理进程在实例启动时被启动,存放在代理池(agent pool)中,这时处于空闲状态。随着访问数据库的用户增多,代理池中不再有空闲的代理进程,这时DB2系统将重新启动新的代理进程,只要系统中已启动代理进程的总数不超过最大值就可以了。如果访问数据库的用户减少,代理池中的空闲代理进程会越来越多。在空闲代理进程的数目大于设定值后,系统就自动停止多余的空闲代理进程。

下列实例配置参数和代理进程有关:

MAX_CONNECTIONS:设定最大数目的用户连接数。

MAXAGENTS:设定系统可启动代理进程的最大数目,包括协调代理进程和子代理进程。

MAX_COORDAGENTS:设定系统可启动协调代理进程的最大数目。

NUM_INITAGENTS:设定在实例启动时,启动的代理进程数。

NUM_POOLAGENTS:设定代理进程池中空闲代理进程的最大数目。

在多数应用系统中,实例配置参数MAX_CONNECTIONS = MAX_COORDAGENTS,这时客户端应用程序和协调代理进程一一对应。在交互式的应用系统环境中,可以设定MAX_CONNECTIONS > MAX_COORDAGENTS,这时系统就启动了连接集中器(connection concentrator)功能,一个协调代理进程可以为多个用户连接服务,从而减少系统资源的消耗,增加系统支持的用户连接数。

 

3. 异步预取进程

 

异步预取进程在DB2系统中被称为I/O服务器,下列数据库配置参数和异步预取进程有关:

NUM_IOSERVERS:设定数据库启动的I/O服务器的数目。

DFT_PREFETCH_SZ:设定缺省的预取页数。在创建表空间时,可以设定该表空间所使用的预读取页数。如果没有设定,就使用该配置参数的值进行预读取。

SEQDETECT:设定顺序读检测标志。如果该配置参数被设置,数据库就不断地监视I/O操作,一旦发现正在顺序读取页,就激活I/O的预读取操作。否则,数据库仅当在表排序、表扫描、索引扫描时才会执行预取操作。

 

4. 页清除进程

 

下列数据库配置参数和页清除进程有关:

NUM_IOCLEANERS:设定系统启动的页清除进程数。

CHNGPGS_THRESH:设定内存中已更新数据页的百分比。如果内存中的脏数据页达到或者超过该参数值,进程被激活。页清除进程在执行时,首先构建内存中脏数据页的列表,在将这些页全部写入磁盘之后再次变为不活动状态。

 

5. 日志写进程

 

DB2系统的一个实例可以包含多个数据库,每个数据库使用的写日志信息方式,与下列数据库配置参数有关:

MINCOMMIT:设定系统提交的事务数。在达到此设定后,日志写进程被激活,将日志缓冲区中的日志信息写入磁盘。如果设置MINCOMMIT = 1DB2系统的这个数据库就采用事务提交前必须将日志写入磁盘的机制。对系统性能要求高、需要快速响应的应用系统,可以设置其数据库的配置参数MINCOMMIT > 1,这样日志写进程将多个事务的日志信息一起写入磁盘,减少了磁盘的I/O操作,提高了系统性能。

 

6. 检查点进程

 

DB2系统监测数据的更新,根据已更新数据的数量,来决定何时启动检查点操作。下列数据库配置参数和检查点进程有关:

SOFTMAX:设定数据库崩溃后恢复所需要的日志文件数目。数据库系统根据此参数,决定执行多少更新后就触发检查点进程。

 

7. 优化器进程

 

DB2系统的优化器功能相当复杂,为了得到SQL查询语句最优的执行计划,除了根据数据库对象结构、数据分布外,还结合计算机中CPU的个数和处理速度、可用排序内存空间、通讯带宽等相关系统资源,最终确定SQL查询语句的执行计划。下列实例和数据库配置参数和优化器进程有关:

CPUSPEED:设定CPU处理器的速度。

COMM_BANDWIDTH:设定数据库分区服务器之间的通讯带宽。

SORTHEAP:设定用于排序的内存页的最大数目

AVG_APPLS:设定系统正常运行状况下活动应用程序的平均数目。优化器使用此参数来估计SQL语句在运行时将有多少内存空间可以使用。

DFT_DEGREE:设定缺省情况下优化器是否对查询语句进行并行处理。

DFT_QUERYOPT:设定缺省情况下系统使用的查询优化级别。

MAX_QUERYDEGREE:设定SQL语句可以使用的最大查询并行度。

除此之外,对有关SQL编译器、性能等环境变量的设置,也会对优化器的处理产生影响。

 

8. 死锁检测进程

 

下面的数据库配置参数和死锁检测进程有关:

DLCHKTIME:设定死锁检查的时间间隔。

阅读(1078) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~