数据库结构
a) 一个实例可以包含多个数据库,一个数据库只能归属于一个实例。
b) 每个数据库能有多个表空间,每个表空间只能属于一个数据库。
c) 逻辑结构:实例-->数据库-->表空间-->表
d) 存储模型:表空间-->容器-->extent-->page
e) DB2读取数据是按照块(extent)读取的,块是一组连续的页。当一个表空间有多个容器的时候,为了数据均衡分布,DB2在写数据的时候按照循环的方式写容器,即在一个容器写满一个extent后,开始在第二个容器继续写,周而复始,这样能够确保数据均衡分布在多个容器上,提高读写效率。
创建数据库
f) 创建数据库
Db2 “create database testdb automatic storage yes on /dbauto dbpath on /database using codeset UTF-8 territory CN collate using system”
g) 连接数据库
Db2 connect to testdb
h) 创建缓冲池(size页数,pagesize页大小,建库时DB2会默认创建一个IBMDEFAULTBP缓冲池,如果不指定,pagesize默认为4K)
Db2 “create bufferpool bp32k size 10000 pagesize 32k"
一些重要配置文件的说明:
1.SQLDBCONF :数据库参数配置文件,使用get db cfg/update db cfg 读取或修改。
2.SQLBP.* :缓冲池控制文件,使用 alter bufferpool 控制
3.SQLSPCS.* : 表空间控制文件,使用 list/alter tablespace 控制
4.Db2rhist.asc : 数据库历史文件,使用list history 浏览。
5.SQLOGCTL.LFH.* : 数据库日志控制文件,无法浏览或人工修改。
Using CODESET codeset(编码集) TERRITORY territory(区域):数据库一旦创建,编码就无法改变了。GBK