前言
本文将介绍两种数据库及表空间的创建方式, 分别是:
- 非自动存储数据库及表空间
- 自动存储器数据库及表空间(DB2 V9开始支持)
v9.7自动存储器概念详解
自动存储类型
1.创建数据库TestDB(GBK中文字符集)
create database TestDB USING CODESET GBK TERRITORY CN (默认为自动存储)
2.连接数据库
db2 connect to TestDB
3.创建缓冲池TestBP
注:缓冲池的pageSize应与后续创建的表空间的pageSize相同create bufferpool TestBP pagesize 32K
4.创建表空间TestTS, 缓冲池选择上一步新建的TestBP
create tablespace TestTS pagesize 32K MANAGED BY AUTOMATIC STORAGE BUFFERPOOL TestBP
5.查询DMS类型(数据库管理的)表空间是否为自动存储:
db2 get snapshot for tablespaces on [dbname]
结果中Using automatic storage: 表示DMS类型表空间是否为自动存储属性
非自动存储类型
1.数据库需要禁用自动存储器,必须在 CREATE DATABASE 命令中显式地指定 AUTOMATIC STORAGE NO 子句
例如 创建GBK中文字符集数据库: TestDBcreate database TestDB USING CODESET GBK TERRITORY CN AUTOMATIC STORAGE NO
2.连接数据库, 命令同 [自动存储类型]第二步
3.创建缓冲池TestBP, 命令同 [自动存储类型]第三步
4.创建表空间TestTS:
对于非自动存储器表空间而言,在创建表空间时,您必须知道将要使用的容器的路径名、设备名或文件名。
对于您为 DMS 表空间创建的每个设备容器或文件容器,您还必须知道可以为每个容器分配的存储器空间量。CREATE TABLESPACE TestTS MANAGED BY DATABASE USING (FILE 'path' size)
“MANAGED BY DATABASE”表示:表空间类型为DMS(数据库管理空间/DB Manage Space);
path表示: 路径+文件名; size: 表空间大小看如下例子:
db2 "create tablespace TestTS pagesize 32K MANAGED BY DATABASE USING(FILE '/home/db2inst1/TS_DATA/TestTS' 10G) BUFFERPOOL FingerBP"
其中’/home/db2inst1/TS_DATA/’为路径, TestTS为数据文件名.
10G位表空间大小.