Prayer

在一般中寻求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

DB2 V9表分区 2

Posted on 2010-04-15 23:38 Prayer 阅读(432) 评论(0)  编辑 收藏 引用 所属分类: DB2
创建示例数据库DB2TEST1

    首先我们在WINDOWS XP环境下安装DB2 ESE V9.1,安装完成后,打开DB2CMD环境,创建示例数据库DB2TEST1。在 DB2 命令窗口中,发出CREATE DATABASE语句,创建示例数据库,具体如清单1所示:

- - 清单1. 创建示例数据库DB2TEST1 

C:\> DB2 CREATE DATABASE DB2TEST1 DB20000I CREATE DATABASE命令成功完成。 这样我们创建了一个示例数据库DB2TEST1。查看其数据库配置参数,数据库代码页是1386,数据库地域是CN,数据库代码集是GBK,具体如清单2所示: - - 清单2. 查看示例数据库DB2TEST1配置参数 C:\> db2 get db cfg for db2test1 数据库 db2test1 的数据库配置 数据库配置发行版级别 = 0x0b00 数据库发行版级别 = 0x0b00 数据库地域 = CN 数据库代码页 = 1386 数据库代码集 = GBK 数据库国家/地区代码 = 86 数据库整理顺序 = UNIQUE 备用整理顺序 ( ALT_COLLATE ) = 数据库页大小 = 4096 . . . . . . . . . . . . . . . . . .


    接下来来我们来查看一下示例数据库DB2TEST1上的表空间情况,在DB2CLP窗口中,连上示例数据库DB2TEST1,使用LIST TABLESPACES命令能够看到创建示例数据库时已经默认创建了3个表空间:SYSCATSPACE、TEMPSPACE1、USERSPACE1,其都是使用自动存储管理。具体如清单3所示:

- - 清单3. 查看示例数据库DB2TEST1表空间情况 

C:\> DB2 CONNECT TO DB2TEST1 数据库连接信息 数据库服务器 = DB2 / NT 9.1.0 SQL 授权标识 = RHETTE 本地数据库别名 = DB2TEST1 C:\> db2 list tablespaces show detail 当前数据库的表空间 表空间标识 = 0 名称 = SYSCATSPACE 类型 = 数据库管理空间 内容 = 所有持久数据。常规表空间。 状态 = 0x0000 详细解释: 正常 总计页数 = 8192 可用页数 = 8188 已用页数 = 7924 可用页数 = 264 高水位标记(页) = 7924 页大小(以字节计) = 4096 扩展数据块大小(页) = 4 预取大小(页) = 4 容器数 = 1 表空间标识 = 1 名称 = TEMPSPACE1 类型 = 系统管理空间 内容 = 系统临时数据 状态 = 0x0000 详细解释: 正常 总计页数 = 1 可用页数 = 1 已用页数 = 1 可用页数 = 不适用 高水位标记(页) = 不适用 页大小(以字节计) = 4096 扩展数据块大小(页) = 32 预取大小(页) = 32 容器数 = 1 表空间标识 = 2 名称 = USERSPACE1 类型 = 数据库管理空间 内容 = 所有持久数据。大型表空间。 状态 = 0x0000 详细解释: 正常 总计页数 = 8192 可用页数 = 8160 已用页数 = 96 可用页数 = 8064 高水位标记(页) = 96 页大小(以字节计) = 4096 扩展数据块大小(页) = 32 预取大小(页) = 32 容器数 = 1



    接下来我们再查看一下示例数据库的缓冲池情况,在DB2CLP窗口中通过查看系统表sysibm.sysbufferpools可以看到,在创建示例数据库时默认创建的的4K页大小缓冲池IBMDEFAULTBP,具体如清单4所示:
--清单 4. 查看默认创建缓冲池情况

C:\> DB2 CONNECT TO DB2TEST1 数据库连接信息 数据库服务器 = DB2/NT 9.1.0 SQL 授权标识 = RHETTE 本地数据库别名 = DB2TEST1 C:\> db2 " select BPNAME , NPAGES from sysibm.sysbufferpools " BPNAME NPAGES - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IBMDEFAULTBP -2

1 条记录已选择。 

    当缓冲池启用了自调整功能时,该特定缓冲池的sysibm.sysbufferpools表中的NPAGES字段将设置为 -2。当自调整功能处于禁用状态时,NPAGES字段将设置为缓冲池的当前大小。我们可以在清单4中看到,IBMDEFAULTBP的NPAGES 字段将设置为 -2,由此我们可以确定,IBMDEFAULTBP启用了自调整功能。 

    下面我们创建32K页大小的示例缓冲池MYBP1,其使用自调整功能(注意其CREATE BUFFERPOOL语句使用了AUTOMATIC),初始大小3.2M,具体如清单5所示:

--清单 5 . 创建使用自动自调整功能的示例缓冲池MYBP1 

C:\> db2 create bufferpool mybp1 immediate size 100 automatic pagesize 32k DB20000I SQL命令成功完成。


    接下来我们在示例数据库DB2TEST1中创建3个4K页大小的DMS表空间,用来存放示例分区表的数据,名称分别为TABLESPACE1,TABLESPACE2和TABLESPACE3,在DB2CLP窗口中,发出CREATE TABLESPACE命令,其缓冲池使用数据库默认创建的4K页大小的缓冲池IBMDEFAULTBP,具体如清单6所示:

- - 清单6 . 创建DMS示例表空间 

C:\> DB2 CREATE REGULAR TABLESPACE TABLESPACE1 PAGESIZE 4 K MANAGED BY AUTOMATIC STORAGE BUFFERPOOL IBMDEFAULTBP DB20000I SQL命令成功完成。
C:\> DB2 CREATE REGULAR TABLESPACE TABLESPACE2 PAGESIZE 4 K MANAGED BY AUTOMATIC STORAGE BUFFERPOOL IBMDEFAULTBP DB20000I SQL命令成功完成.
C:\> DB2 CREATE REGULAR TABLESPACE TABLESPACE3 PAGESIZE 4 K MANAGED BY AUTOMATIC STORAGE BUFFERPOOL IBMDEFAULTBP DB20000I SQL命令成功完成

    注意,我们在MANAGED BY后面跟的是AUTOMATIC STORAGE,表示新创建的表空间将使用自动存储。如果新建的表空间使用DB2管理存储器(自动存储器),根据要创建的表空间类型不同,其空间管理会有所区别,当其表空间类型是常规或者大型时,将自动创建成数据库管理空间(DMS), 当其表空间类型是系统临时或者用户临时时,将自动创建成系统管理空间(SMS)。使用自动存储,就不再需要担心如何添加容器以及监控容器的增长等,自动存储会自动增加表空间在磁盘和文件系统上的大小。在DB2CLP窗口中输入LIST TABLESPACE命令,你可以看到3个示例表空间TABLESPACE1,TABLESPACE2和TABLESPACE3已经创建成功,其空间管理类型是数据库管理空间,具体如清单7所示:

- - 清单7. 查看示例表空间 

C:\> db2 list tablespaces show detail 当前数据库的表空间 . . . . . . . . . . . . . . . . . . . . 表空间标识 = 4 名称 = TABLESPACE1 类型 = 数据库管理空间 内容 = 所有持久数据。常规表空间。 状态 = 0x0000 详细解释: 正常 总计页数 = 8192 可用页数 = 8160 已用页数 = 96 可用页数 = 8064 高水位标记(页) = 96 页大小(以字节计) = 4096 扩展数据块大小(页) = 32 预取大小(页) = 32 容器数 = 1 表空间标识 = 5 名称 = TABLESPACE2 类型 = 数据库管理空间 内容 = 所有持久数据。常规表空间。 状态 = 0x0000 详细解释: 正常 总计页数 = 8192 可用页数 = 8160 已用页数 = 96 可用页数 = 8064 高水位标记(页) = 96 页大小(以字节计) = 4096 扩展数据块大小(页) = 32 预取大小(页) = 32 容器数 = 1 表空间标识 = 6 名称 = TABLESPACE3 类型 = 数据库管理空间 内容 = 所有持久数据。常规表空间。 状态 = 0x0000 详细解释: 正常 总计页数 = 8192 可用页数 = 8160 已用页数 = 96 可用页数 = 8064 高水位标记(页) = 96 页大小(以字节计) = 4096 扩展数据块大小(页) = 32 预取大小(页) = 32 容器数 = 1

    接下来我们创建3个32K页大小的大型表空间,其缓冲池使用我们新创建的示例缓冲池MYBP1,大型表空间的名称分别为:LARGETBS1,LARGETBS2和LARGETBS3。在DB2CLP窗口中,发出CREATE LARGE TABLESPACE命令,具体如清单8所示:

- - 清单8. 创建大型示例表空间LARGETBS1,LARGETBS2和LARGETBS3 

C:\> DB2 CREATE LARGE TABLESPACE LARGETBS1 PAGESIZE 32 K MANAGED BY AUTOMATIC STORAGE BUFFERPOOL MYBP1 DB20000I SQL命令成功完成。 C:\> DB2 CREATE LARGE TABLESPACE LARGETBS2 PAGESIZE 32 K MANAGED BY AUTOMATIC STORAGE BUFFERPOOL MYBP1 DB20000I SQL命令成功完成。 C:\> DB2 CREATE LARGE TABLESPACE LARGETBS3 PAGESIZE 32 K MANAGED BY AUTOMATIC STORAGE BUFFERPOOL MYBP1 DB20000I SQL命令成功完成。

    在DB2CLP窗口中输入LIST TABLESPACE命令,你可以看到3个大型示例表空间LARGETBS1,LARGETBS2和LARGETBS3已经创建成功,其空间管理类型是数据库管理空间,具体如清单9所示:

- - 清单9. 查看示例表空间

C:\> db2 list tablespaces show detail 当前数据库的表空间 . . . . . . . . . . . . . . . . . . . . 表空间标识 = 7 名称 = LARGETBS1 类型 = 数据库管理空间 内容 = 所有持久数据。大型表空间。 状态 = 0x0000 详细解释: 正常 总计页数 = 1024 可用页数 = 992 已用页数 = 96 可用页数 = 896 高水位标记(页) = 96 页大小(以字节计) = 32768 扩展数据块大小(页) = 32 预取大小(页) = 32 容器数 = 1 表空间标识 = 8 名称 = LARGETBS2 类型 = 数据库管理空间 内容 = 所有持久数据。大型表空间。 状态 = 0x0000 详细解释: 正常 总计页数 = 1024 可用页数 = 992 已用页数 = 96 可用页数 = 896 高水位标记(页) = 96 页大小(以字节计) = 32768 扩展数据块大小(页) = 32 预取大小(页) = 32 容器数 = 1 表空间标识 = 9 名称 = LARGETBS3 类型 = 数据库管理空间 内容 = 所有持久数据。大型表空间。 状态 = 0x0000 详细解释: 正常 总计页数 = 1024 可用页数 = 992 已用页数 = 96 可用页数 = 896 高水位标记(页) = 96 页大小(以字节计) = 32768 扩展数据块大小(页) = 32 预取大小(页) = 32 容器数 = 1

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理