DB2表空间管理 db2表空间不足
创始人
2024-07-17 00:00:27
0

DB2表空间应该如何管理呢?这是很多人都提到过的问题,在解决这个问题之前,先让我们了解一下什么是DB2表空间:

DB2表空间

数据库中的所有数据都存储在许多表空间中。可以认为表空间是孩子而数据库是其父母,其中表空间(孩子)不能有多个数据库(父母)。由于表空间有不同用途,因此根据它们的用途和管理方式将它们分类。根据用途有五种不同的表空间:

目录表空间
每个数据库只有一个目录表空间,它是在发出 CREATE DATABASE 命令时创建的。目录表空间被 DB2 命名为 SYSCATSPACE,它保存了系统目录表。每当创建数据库时,都会创建这个表空间。
常规表空间
常规表空间保存所有***的数据,包括常规的表和索引。它还可以保存诸如 LOB(Large Object)之类的长数据,除非这些数据显式地存储在长表空间中。如果某些表空间是用于非分区表的数据库管理的空间(Database Managed Space,DMS)或者用于分区表的系统管理的空间,则可以将表及其索引分别放到单独的常规表空间中。我们将在 表空间管理 小节描述 DMS 和 SMS。目录表空间是常规表空间的一个例子。缺省情况下,目录表空间是数据库创建期间所创建的***一个常规表空间。
长表空间
长表空间像常规表空间一样存储***数据,包括 LOB。这种表空间必须是 DMS,这也是默认类型。长表空间中创建的表比常规表空间中的表大。大型表可支持每个数据页超过 255 行,从而提高数据页上的空间利用率。当创建数据库时,DB2 创建一个名为 USERSPACE1 的长表空间。
系统临时表空间
系统临时表空间用于存储 SQL 操作(比如排序、重组表、创建索引和连接表)期间所需的内部临时数据。每个数据库必须至少有一个系统临时表空间。随数据库创建的缺省系统临时表空间名为 TEMPSPACE1。
用户临时表空间
用户临时表空间存储已声明的全局临时表。创建数据库时不存在用户临时表空间。至少应当创建一个用户临时表空间,以允许定义已声明的临时表。用户临时表空间是可选的,缺省情况下不创建。

DB2表空间管理

可以用两种不同的方式管理DB2表空间:

系统管理的空间(SMS)
操作系统管理 SMS 表空间。容器被定义成常规操作系统文件,并且是通过操作系统调用访问的。这意味着以下任务全部由常规操作系统功能来处理:
I/O 缓冲
根据操作系统惯例分配空间
必要时自动扩展表空间
但是,不能从 SMS 表空间删除容器,并且仅限于将新的容器添加到分区的数据库。前一节中所说明的那三个缺省表空间都是 SMS。

数据库管理的空间(DMS)
DMS 表空间是由 DB2 管理的。可以将容器定义成文件(在创建表空间时将把给定的大小全部分配给它们)或设备。分配方法和操作系统允许多少 I/O,DB2 就可以管理多少 I/O。可以通过使用 ALTER TABLESPACE 命令来扩展容器。还可以释放未使用的那部分 DMS 容器(从 V8 开始)。 
 
 

 

【编辑推荐】

DB2管理页大小的限制

DB2环境变量管理的策略选择

几个简单的DB2操作语句

DB2隔离级别之读稳定性

DB2隔离级别--可重复读

 

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...