天天看点

db2常用命令梳理

要执行命令,一般需要到特定的用户下,一般用户是

db2inst1

su - db2inst1

列出所有的表空间id号和表空间名称

db2 list tablespaces show detail

db2常用命令梳理

db2 list tablespace containers for 2

列出具体表空间编号对应的表空间详细信息,表空间编号可以从上面那个语句查看

db2常用命令梳理

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常用命令梳理
db2常用命令梳理

如果要在创建表空间的时候要指定多个文件

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"

db2常用命令梳理

查询现有shema

db2 "select SCHEMANAME,OWNER from syscat.schemata"

db2常用命令梳理

创建schema

db2 "CREATE SCHEMA wufan"

db2常用命令梳理

查询有表 的schema 

db2 "SELECT distinct TABSCHEMA FROM SYSCAT.TABLES"

db2常用命令梳理

创建表

db2 "create table wufan.employee( id int,name varchar(50),jobrole varchar(30),joindate date,salary double) in newtbs03"

db2常用命令梳理

再次查看有表的schema就能看到wufan这个schema了

db2常用命令梳理

插入数据并查询

db2 "insert into wufan.employee values(1,'wufan')"

db2 "select * from wufan.employee "

db2常用命令梳理

db2查询是否开了归档

db2 get db cfg bpfdb1 | grep "log"

db2常用命令梳理

看LOGARCHMETH1,有路径表示开了归档。

为db2开启归档

 db2 update db cfg for cc using LOGARCHMETH1 DISK:/db2data/db2arch/cc

db2常用命令梳理

改完需要执行一下备份,否则会报下面的错

db2常用命令梳理

db2 backup db TEST

使用db2inst1用户在有权限的目录下执行,会生成一个备份文件在当前目录。

db2常用命令梳理

其中cc是数据库名:

db2常用命令梳理
db2常用命令梳理

查询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