欢迎来到天天文库
浏览记录
ID:32393977
大小:62.60 KB
页数:10页
时间:2019-02-04
《表空间和缓冲池》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、DB2基础:表空间和缓冲池DavidKline,DB2®VendorEnablement,PartnerWorld®forDevelopers,IBM®开发人员技术支持(DeveloperTechnicalSupport,DTS)中心—达拉斯GaborWieser,DB2®VendorEnablement,PartnerWorld®forDevelopers,IBM®开发人员技术支持(DeveloperTechnicalSupport,DTS)中心—达拉斯简介: 本文帮助新的DB2DBA理解表空间和缓冲池的重要性,并说明对它们进行正确的设计和调
2、优如何能提高数据库性能。本文专为IBMDB2UniversalDatabase™forLinux、UNIX®和Windows®而撰写简介对于刚涉足DB2领域的DBA或未来的DBA而言,新数据库的设计和性能选择可能会很令人困惑。在本文中,我们将讨论DBA要做出重要选择的两个方面:表空间和缓冲池。表空间和缓冲池的设计和调优会对DB2服务器的性能产生深远的影响,因此我们将着重讨论这些活动。在我们的示例中,我们将使用DB2V8.1企业服务器版。大多数示例也适用于低级版本。我们会让您知道某个示例是否只适用于V8.1。在 第1节中,我们将从定义表空间的类型
3、开始,并将说明DB2如何将数据存储在表空间中。我们将介绍配置选项并向您介绍创建和管理表空间的整个过程。接下来,我们将着重讨论 缓冲池,介绍缓冲池是什么以及如何创建和使用它。在 第2节中,我们将结合这两个方面并讨论该如何组织缓冲池和表空间才能获得最佳性能。回页首第1节:定义表空间数据库中的所有数据都存储在许多表空间中。可以认为表空间是孩子而数据库是其父母,其中表空间(孩子)不能有多个数据库(父母)。由于表空间有不同用途,因此根据它们的用途和管理方式将它们分类。根据用途有五种不同的表空间:目录表空间每个数据库只有一个目录表空间,它是在发出CREAT
4、EDATABASE命令时创建的。目录表空间被DB2命名为SYSCATSPACE,它保存了系统目录表。总是在创建数据库时创建该表空间。常规表空间常规表空间保存表数据和索引。它还可以保存诸如大对象(LargeObject,LOB)之类的长数据,除非这些数据显式地存储在长表空间中。如果某些表空间是数据库管理的空间(DatabaseManagedSpace,DMS),则可以将表及其索引分别放到单独的常规表空间中。我们将在本文后面定义DMS和系统管理的空间(SystemManagedSpace,SMS)之间的区别。每个数据库中必须至少有一个常规表空间。创
5、建数据库时指定该表空间的缺省名为USERSPACE1。长表空间长表空间用于存储长型或LOB表列,它们必须驻留在DMS表空间中。它们还可以存储结构化类型的列或索引数据。如果没有定义长表空间,那么将把LOB存储在常规表空间中。长表空间是可选的,缺省情况下一个都不创建。系统临时表空间系统临时表空间用于存储SQL操作(比如排序、重组表、创建索引和连接表)期间所需的内部临时数据。每个数据库必须至少有一个系统临时表空间。随数据库创建的系统临时表空间的缺省名为TEMPSPACE1。用户临时表空间用户临时表空间存储已声明的全局临时表。创建数据库时不存在用户临时
6、表空间。至少应当创建一个用户临时表空间以允许定义已声明的临时表。用户临时表空间是可选的,缺省情况下一个都不创建。表空间管理可以用两种不同的方式管理表空间:系统管理的空间(SMS)SMS表空间由操作系统进行管理。容器被定义成常规操作系统文件,并且是通过操作系统调用访问的。这意味着所有的常规操作系统功能将处理以下内容:操作系统将缓冲I/O;根据操作系统约定分配空间;如有必要就自动扩展表空间。但是,不能从SMS表空间删除容器,并且仅限于将新的容器添加到分区的数据库。前一节中所说明的那三个缺省表空间都是SMS。数据库管理的空间(DMS)DMS表空间是由
7、DB2管理的。可以将容器定义成文件(在创建表空间时将把给定的大小全部分配给它们)或设备。分配方法和操作系统允许多少I/O,DB2就可以管理多少I/O。可以通过使用altERTABLESPACE命令来扩展容器。还可以释放未使用的那部分DMS容器(从V8开始)。下面是一个示例,向您说明该如何增大容器大小(V7和V8都支持此功能):ALTERTABLESPACETS1RESIZE(FILE'/conts/cont0'2000,DEVICE'/dev/rcont1'2000,FILE'cont2'2000)请注意,只有V8才支持将原始容器的大小调整得更
8、小。如何创建和查看表空间当您创建数据库时,将创建三个表空间(SYSCATSPACE、TEMPSPACE1和USERSPACE1)。通过使用DB2命令窗
此文档下载收益归作者所有