为DB2数据库创建表空间
图 9. Control Center —— Tablespaces 视图

点击 Show Related Objects。会出现一个新页面,其中显示表空间 SYSCATSPACE 中的所有表和索引,以及它们的模式 SYSIBM。点击 Indexes,列出 SYSCATSPACE 中的所有索引。Show SQL 显示用来获得这个表空间中的表或索引列表的 select 命令。
表、索引、模式和视图都是重要的 DB2 对象,本教程后面都会详细讨论。但是,首先试试手工创建表空间:
在 Control Center 中点击 Create New Tablespace,启动 Create Table Space 向导。输入 TBSP_DATA1 作为表空间名,在 comment 中输入 DMS tablespace to hold data。 选择 Regular 来选择要使用的表空间类型并点击 Next。出现 Specify a buffer pool 面板,在这里选择这个表空间要使用的缓冲池。 使用默认的 IBM 缓冲池,但是也可以使用 Create 按钮创建新的缓冲池。点击 Next。 图 10. 创建新的表空间 —— 指定缓冲池

4. 这个面板允许指定表空间是由数据库管理(DMS),还是由系统管理(SMS)。选择 Database-managed space (high performance)。点击 Next。Containers 页面出现。
5. 在 Containers 页面上,可以指定容器的数量。容器(Container) 可以是存储表空间数据的目录、文件或设备。可以为每个表空间创建多个容器,而且在创建表空间之后,可以删除现有的容器或添加更多的容器。点击 Add,Define Container 页面出现,可以在这里为新的表空间定义容器。
6. 可以为新的表空间定义多个容器。不同的容器可以位于不同的物理节点或路径。按照图 11 所示添加容器,然后点击 OK。
图 11. 创建新的表空间 —— 添加容器

7. 用相同的操作添加相同路径上的另一个容器 tbsp_data1_c02。
8. 应该会看到添加的两个容器,见图 12。每个容器的大小是 5MB,总共 10MB。如果对已经定义的容器不满意,那么点击 Change 或 Remove。点击 Next 继续。
图 12. 创建新的表空间 —— 容器页面

9. 下一个页面帮助您定义这个表空间使用的区间和预获取大小。一个区间(extent)包含一系列连续的页面。页面的数量称为区间的大小。一般来说,希望一次分配多个页面,从而减少空间分配的开销。预获取大小是指在启用预获取时预获取器读取的页面数量。预获取的概念在前面讨论过。选择 Less than 25MB 来改变表的平均大小,建议的区间大小会自动地改为适当的设置。
10. 点击 Summary 显示 Summary 页面。点击 Show SQL 并将 SQL 保存在 C:\DB2\hellowld\crt_tbsp.clp 中。点击 Finish 让 Create Tablespace 向导完成操作。
11. 在 Control Center Table Spaces 视图中,应该能够找到新的表空间 TBSP_DATA1。如果对新创建的表空间 TBSP_DATA1 不完全满意,那么点击 Alter Tablespace 来修改这个表空间。如果希望创建 SMS 表空间,那么点击 Create New Tablespace。
图 13. Control Center —— Tablespace 视图

12. 将索引、大对象(Large Object,LOB)和大字段(Long Field,LF)或 XML 数据与表数据分开存储是有好处的。但是,在本教程中没有 LOB/LF 数据,所以不需要为它们创建表空间。XML 数据存储在与其他数据相同的表空间 TBSP_DATA1 中,所以也不需要为它创建表空间。后面几节将讨论索引。
13. 在 DB2 命令行上,输入 cd C:\DB2\HELLOWLD\ 来创建表空间。如果目录 HELLOWLD 还不存在,需要首先创建它。然后,运行以下命令 notepad crt_tbsp.clp。在 notepad 中,编辑 Create Tablespace 语句,将它改为以下代码: CREATE LARGE TABLESPACE TBSP_INDEX1 PAGESIZE 4 K MANAGED BY DATABASE USING
(FILE 'C:\DB2\NODE0000\hellowld\dbdir\tbsp_index1_c01' 5120, |