一、建库前的准备

1、数据库、表空间、表的关系

1、数据库由实例进行创建和管理
2、数据库包含一到多个表空间
3、表存储在表空间中

db2 数据库创建_数据库

2、表空间、容器、区与数据页

1、数据库的最小存储单位是数据页(datapage)
2、区(extent)由整数倍的数据页组成
3、表空间容器(Container)是由多个区组成的
4、表空间由一到多个容器组成

db2 数据库创建_数据库_02

3、容器与表空间

1、表、索引等逻辑对象放在表空间中
2、容器是位于底层的物理存储
3、表空间是数据库物理存储与逻辑存储的统一
4、容器可以是目录、文件或者设备

db2 数据库创建_数据_03

二、命令行创建数据库

1、创建数据库的语法

db2 数据库创建_表空间_04

2、数据库的名称和分区

database-name指定数据库的名称
AT DBPARTIONNUM用于指定在哪个数据库的分区恢复数据库
最简单的建库命令: create database database_name

db2 数据库创建_数据_05

3、数据库和自动存储的位置

db2 数据库创建_数据库_06

db2 数据库创建_表空间_07

1、create database jikedb1 on /jikedb1
数据库路径/jikedb1
自动存储路径/jikedb1
2、create database jikedb2 automatic storage no on /jikedb2
数据库路径/jikedb2
未使用自动存储特性
3、create database jikedb3 on /jikedbauto3 dbpath on /jikedb3
数据库路径/jikedb3
自动存储路径/jikedbauto3
4、create database jikedb4 automatic storage yes on /jikedbauto41,/jikedbauto42,/jikedbauto43 dbpath on /jikedb4
数据库路径/jikedb4
自动存储路径/jikedbauto41,/jikedbauto42,/jikedbauto43

4、别名、代码页和整理次序

ALIAS db-alias为数据库指定别名
CODESET(字符集)和TERRITORY(地域)用于指定代码页
COLLATE指定数据库的整理次序

db2 数据库创建_数据库_08

5、数据页与默认区的大小

PAGESIZE指定数据库的表空间和缓冲池所使用的默认数据页大小
DFT_EXTENT_SZ指定数据库的表空间默认使用的区的大小

db2 数据库创建_数据_09

6、默认的表空间

SYSCATSPACE:用CATALOG TABLESPACE指定,存储DB2系统编目,即"数据字典"
TEMPSPACE1:用TEMPORARY TABLESPACE指定,是DB2放置分组、排序、连接和重组等操作中间结果集的临时存储区域
USERSPACE1:用USER TABLESPACE指定,默认情况下存储所有用户对象的表空间

db2 数据库创建_数据库_10

三、示例

db2 create db jikedb1

db2 create db jikedb2 on /jikedbauto21,/jikedbauto22 dbpath on /jikedb2 alias myjikedb pagesize 8192 \
dft_extent_sz 8 with "my jikedb2"

查看是否创建成功
db2 list db directory