要新建一个项目的数据库test,具体步骤:
1.创建针对数据库的用户,若是unix/linux 可以修改相关配置文件添加用户;若是windows 可以右击“我的电脑” ,添加用户。
2.创建数据库test :db2 create database test
3.将数据库test赋予DBADM权限:
db2 connect to test
db2 grant dbadm on database to user tst1
(这个命令只能由 SYSADM 用户(系统的administrator用户)发出;它向用户 tst1 授予示例数据库上的 DBADM 权限。注意,在授予 DBADM 权限之前,发出这个命令的用户必须连接到示例数据库。)
4.在该数据库上创建bufferpool,并创建表空间、索引空间(应用创建的bufferpool)
---创建bufferpool
create bufferpool irmtbfp8k IMMEDIATE SIZE 5000 PAGESIZE 8 K ;
---创建表空间
--由数据库管理(由数据库管理的表空间用file形式,并且以dat文件存放)
create tablespace irmtspace
pagesize 8k
managed by database
using(FILE 'C:\DB2tableSpace\IRMT\irmtSpace\irmtCATALOG.DAT' 2000)
extentsize 32 bufferpool irmtbfp8k;
--由系统管理:
create tablespace irmtspace1
pagesize 4k
managed by system
using('C:\DB2tableSpace\IRMT\irmtSpace')
extentsize 32 bufferpool irmtbfp8k;
---创建索引空间(和表空间创建方法一样)
create tablespace irmtIndexSpace
pagesize 8k
managed by database
using(FILE 'C:\DB2tableSpace\IRMT\irmtSpace\irmtIndexCATALOG.DAT' 2000)
extentsize 32 bufferpool irmtbfp8k;
5.创建表,在test数据库中,并且指定上面建的表空间和索引空间。
CREATE TABLE IRMT.AREA_ACCESS (
USER_INTRANET_ID VARCHAR(50) NOT NULL,
AREA_ID INTEGER NOT NULL,
LAST_UPDATED_BY VARCHAR(50),
LAST_UPDATED_TIME TIMESTAMP
) in irmtspace index in irmtIndexSpace;
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ps.
(一) DBADM 权限是一个数据库级权限,而不是实例级权限。DBADM 用户对一个数据库有几乎完全的控制能力。DBADM 用户不能执行某些维护或管理任务(对数据库级别的操作)
(只有admin用户才可以,admin用户包括安装数据库的时候自动创建的db2admin用户和电脑操作系统的administrator用户),比如:
drop database
drop/create tablespace
backup/restore database
update db cfg for database db name
但是,他们可以执行以下任务(对表级别的操作):
db2 create/drop table
db2 grant/revoke(任何特权)
db2 runstats(任何表)
DBADM 用户还被自动地授予对数据库对象及其内容的所有特权。因为 DBADM 权限是一个数据库级权限,所以它可以被分配给用户和用户组。以下命令演示授予 DBADM 权限的不同方法。
(二)创建表空间:
|--MANAGED BY--------------------------------------------------->
|>--+-SYSTEM USING--(----'container-string'-+--)--------------------------------+-->
'-DATABASE USING--(----+-FILE---+--'container-string' --number-of-pages-+--)-' '-DEVICE-'
>--+-----------------------------+------------------------------>
'-EXTENTSIZE--number-of-pages-'
>--+-------------------------------+---------------------------->
'-PREFETCHSIZE--number-of-pages-'
若由db管理必须指定number-of-pages,并且指定具体DAT文件,如irmtIndexCATALOG.DAT
若由sys管理,无需指定number-of-pages,也无需指定dat文件,只需要保证路径存在即可(会自动生成NAM文件)