要执行命令,一般需要到特定的用户下,一般用户是
db2inst1
su - db2inst1
列出所有的表空间id号和表空间名称
db2 list tablespaces show detail

db2 list tablespace containers for 2
列出具体表空间编号对应的表空间详细信息,表空间编号可以从上面那个语句查看
db2 drop tablespace BPF2_DATA
如果某个表空间不想要了,可以删除,表空间名称可以通过上面的第一个语句获取
创建表空间
db2 "create tablespace newtbs03 managed by database using (file '/home/db2inst3/test/newtb/newtbs03_01.file' 1000)"
后面的1000是页的个数,一般一页是4k,可以根据第一条命令来确定其他表空间页的大小,然后指定大小
如果要在创建表空间的时候要指定多个文件
db2 "create tablespace newtbs03 managed by database using
(file '/home/db2inst3/test/newtb/newtbs031.file' 4000,
file '/home/db2inst3/test/newtb/newtbs032.file' 2000)"
在db2中表空间需要对应pagesize的buffer pool
查看下当前bufferpool情况
db2 "select char(BPNAME,20), substr(NPAGES,1,10), substr(PAGESIZE,1,10) from syscat.bufferpools"
查询现有shema
db2 "select SCHEMANAME,OWNER from syscat.schemata"
创建schema
db2 "CREATE SCHEMA wufan"
查询有表 的schema
db2 "SELECT distinct TABSCHEMA FROM SYSCAT.TABLES"
创建表
db2 "create table wufan.employee( id int,name varchar(50),jobrole varchar(30),joindate date,salary double) in newtbs03"
再次查看有表的schema就能看到wufan这个schema了
插入数据并查询
db2 "insert into wufan.employee values(1,'wufan')"
db2 "select * from wufan.employee "
db2查询是否开了归档
db2 get db cfg bpfdb1 | grep "log"
看LOGARCHMETH1,有路径表示开了归档。
为db2开启归档
db2 update db cfg for cc using LOGARCHMETH1 DISK:/db2data/db2arch/cc
改完需要执行一下备份,否则会报下面的错
db2 backup db TEST
使用db2inst1用户在有权限的目录下执行,会生成一个备份文件在当前目录。
其中cc是数据库名:
查询db2监听端口。
db2启停单个库
具体流程如下:
db2 connect to sample
db2 quiesce db immediate force connections
db2 terminate
db2 deactivate db sample
db2 connect to sample
db2 unquiesce db
注意:
QUIESCE DATABASE 后,仅有 sysadm, sysmaint, dbadm, 或 sysctrl 用户可以访问数据库。
另一种方法:
停止访问:
db2 uncatalog database sample
db2 terminate
启动访问:
db2 catalog database sample
db2 terminate
db2 connect to sample