db2常用命令

查看版本:db2level
列出所有数据库:
list db directory

查看所有的schema:
select name,owner from sysibm.sysschemata

查看表的个数的表:
syscat.tables
连接数据库:
connect to
断开数据库连接:
connect reset
列出所有激活的数据库:
list active databases
列出所有数据库配置:
get db cfg
查看表结构:
Describe table aa

创建表的时候的属性:
alter table tableschema.tablename data capture changes
表名带 / 的方法:
db2?"alter?table?"SAPBQ1."/1CPMB/AT2SXGMAS""?data?capture?changes"

db2 <<eof
conect to pp1
select 'alter table SAPPPIDB.'||tabname|| 'data capture changes' from SYSCAT.TABLES WHERE TABSCHEMA ='SAPPP1DB' AND TYPE='T' AND DATACAPTURE!='Y'
eof

是对使用数据复制的Capture进程使用的。用来捕捉这个table的sql变化,记入log,以同步目标table。
对新建的用户授权:
grant dbadm,dataaccess,connect on database to user db2idsg

查询建表语句:
db2?connect?to?数据库名
db2look?-d?数据库名?-e?-z?模式名??-t?表名?-o?文件名,
举例:db2look?-d?dsg?-e?-z?dsg?-t?t1?-o?1.log

表处于挂起状态:
Reorg table 表名

插数据

#!/bin/bash
j=1
rd=50000
db2 connect to dsgtest user db2inst1 using db2inst1

echo "connened to database!!!!"

while [ $j -le $rd ];
do
db2 "insert into db2inst1.test2 values(10,'aa')"

j=$(($j+1))

done

db2 "commit"

#!/bin/bash
db2 connect to dsgtest user db2inst1 using db2inst1

echo "connened to database!!!!"

db2 "delete from db2inst1.test2 where id=10"

db2 "commit"

原文地址:https://www.cnblogs.com/jiayan666/p/14282825.html