DB2表空间管理

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隔离级别--可重复读

文章名称:DB2表空间管理
本文链接:http://www.hantingmc.com/qtweb/news44/289044.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联