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

2008年(239)

我的朋友

分类:

2008-06-18 00:39:28

系统

DB2数据库系统使用单实例多数据库模式,采用多进程体系结构,所有的功能模块使用进程来实现的。整个系统的体系结构见图1-3(图中只画出整个实例的一个数据库)。

 

 

一个DB2系统实例需要启动的进程包括:(1)代理、监听进程等,这些进程在数据库管理器运行时启动;(2)异步预取、页清除、检查点、日志写进程等,这些进程在数据库运行时启动。需要为实例分配的内存空间包括:数据库管理器共享内存(在数据库管理器运行时分配)、进程专用内存(在代理、监听、异步预取、页清除等进程启动时分配)、数据库全局内存(在数据库运行时分配)。一个数据库的存储结构包括:配置文件、历史文件、容器、日志文件等,这些存储空间在数据库创建时建立,可以在运行过程中给数据库增加容器。

在一个DB2系统的实例中,可以创建多个数据库。数据库和数据库之间互相隔离,互不影响,这主要体现在:

1)每个数据库有单独的进程,如:异步预取、页清除等,执行本数据库的相关操作。

2)每个数据库有单独的内存结构(数据库全局内存),存放本数据库运行过程中要处理的数据及控制信息。

3)每个数据库单独保存和维护自己的数据字典、用户数据,所有的存储资源,如:表空间、容器等,不能在多个数据库之间共享。

4)每个数据库有单独的配置文件,可以根据需要对本数据库进行设置,使本数据库具有不同于其它数据库的运行特性。

5)每个数据库有单独的日志文件,存放本数据库中事务所产生的所有日志信息。

由于以上原因,DB2系统还存在一个数据库管理器,用来管理和监控所有数据库及整个实例的运行。在每一次启动数据库系统实例时,首先要启动数据库管理器。数据库管理器的启动,将获取以下资源:

1)启动监听、代理、监控进程等。监听进程接受客户端的访问请求,然后交给代理进程处理;监控进程监测所有数据库的运行状况并记录相关信息。

2)获取内存空间。为要启动的进程分配专用内存空间,创建数据库管理器使用的共享内存。

在数据库管理器正常启动后,可以使用以下两种方式启动数据库:

1)手工启动。使用命令,激活要启动的数据库。在数据库不再被使用后,仍旧需要使用命令关闭数据库。

2)自动启动。在第一次接收到用户对数据库的连接请求后,系统就自动激活对应的数据库。在数据库的所有连接都断开之后,系统就自动关闭数据库。

在数据库的启动过程中,需要为数据库启动相关进程、分配共享内存空间,然后将相关数据字典信息读入内存。由于这些原因,为避免第一次访问数据库时的较慢响应,可以在数据库管理器正常启动后,手工启动数据库。

整个DB2系统的配置参数可以在数据库管理器、数据库两个级别上设置,数据库管理器的配置在整个实例上起作用。

数据库中用来存放数据的表空间,建立在容器上,容器可以是目录、操作系统文件、裸设备。

此外,DB2系统还有一个管理服务器,用来方便客户端管理软件对数据库服务器的访问,运行定时执行的程序脚本。该DB2系统部件是可选的,我们这里不再深入讲述。

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