DB2数据库实用小结

DB2数据库实用小结

1、创建DB2数据库实例(在db2 =>下执行)

db2 =>
create tablespace resource1 managed by database using (file ‘/home/db2inst1/db2inst1/NODE0000/YOURDB实例/cont0’ 1500000)

2、DB2数据库修改表空间(在db2授权用户即可执行,使用db2 ” “)

db2 “alter tablespace RESOURCE add(file ‘/home/db2inst1/db2inst1/NODE0000/YOURDB实例/cont1’ 16G)”

3、查看db2数据库版本(在db2用户执行)或db2level(在授权用户执行即可)

db2inst1@name-1:~> db2licm -l
Product name: “DB2 Enterprise Server Edition”
License type: “CPU Option”
Expiry date: “Permanent”
Product identifier: “db2ese”
Version information: “10.1”
Enforcement policy: “Soft Stop”
Features:
DB2 Storage Optimization: “Not licensed”
DB2 pureScale: “Not licensed”

Product name: “DB2 Connect Server”
Expiry date: “Expired”
Product identifier: “db2consv”
Version information: “10.1”
Concurrent connect user policy: “Disabled”
Enforcement policy: “Soft Stop”

4、DB2数据库启动(在db2用户执行)

db2inst1@name-1:~> db2start

5、DB2数据库执行sql脚本命令()

db2 -tvf d:\ddl.sql -z d:\ddl.log

6、DB2数据库连接(在授权用户即可执行)

db2 connect to testdb(实例名) user tsas(用户名) using password(密码)

7、断开数据库所有连接(在db2用户执行)

db2inst1@name-1:~> db2 terinate

8、DB2数据库强制停止 (在db2用户执行)

db2inst1@name-1:~> db2stop force
2018-08-03 21:40:46 0 0 SQL1064N DB2STOP processing was successful.
SQL1064N DB2STOP processing was successful.

9、DB2数据库只查询指定条数(在授权用户即可执行)

name@Tsas:~> db2 “select * from APP_WORKDAYS where 1=1 fetch first 2 rows only”

WORKDATE ISWORKDAY


2012-09-02 0
2012-09-03 1

10、导出单个表表结构(在db2用户执行)

db2inst1@Tsas:~> db2look -e -d tsasdb -i tsas -w password -tw APP_WORKDAYS -o APP_WORKDAYS.sql
– No userid was specified, db2look tries to use Environment variable USER
– USER is: DB2INST1
– Generate DDLs for tables whose names match the pattern criteria (wildcard characters) of the table name
– Creating DDL for table(s)
– Output is sent to file: APP_WORKDAYS.sql

11、创建索引(在授权用户执行即可)

db2 “create index index_name on “FINANCE”.”PUB_ACCTCHKINFO”(“PAYEEBANKNO”,”PAYEEOPENBANKNO”,”PAYEEACCTNO”,”PAYEEACCTNAME”)”
非唯一索引:db2 “create index ind_taxfile on table_name(taxfile)”
唯一索引:db2 “create unique index ind_empno on emp(empno)”

12、查看已有索引(在授权用户执行即可)

db2 “describe indexes for table table_name show detail”

  • 不使用 show detail 也可

13、删除索引(在授权用户执行即可)

db2 “drop index ind_name”

14、DB2数据库新建检查约束(在授权用户执行即可)

db2 “ALTER TABLE table_name ADD CHECK (ziduanming like ‘2%’)”

  • 数据库表插入数据不满足检查约束时,java项目sql抛异常:ConstrainViolationException

15、查询显示列出(或输出到文件 最后指定输出文件即可> /home/test/test1.log )DB2数据库表的所有索引和约束;
db2look -d tsasdb -z tsas -t “PUB_OPERINTO” -a -e -c > /home/test/test1.log

`db2inst1@Tsas:~> db2look -d tsasdb -z tsas -t “PUB_OPERINTO” -a -e -c
– This CLP file was created using DB2LOOK Version “10.1”
– Timestamp: Mon 23 Apr 2018 04:40:41 PM CST
– Database Name: TSASDB
– Database Manager Version: DB2/LINUXX8664 Version 10.1.1
– Database Codepage: 1386
– Database Collating Sequence is: UNIQUE

CONNECT TO TSASDB;

–DDL Statements for table “TSAS “.”PUB_OPERINTO”

CREATE TABLE “TSAS “.”PUB_OPERINTO” (
“OPERTYPE” VARCHAR(4) NOT NULL ,
“OPERNAME” VARCHAR(32) ,
“OPERTIME” VARCHAR(10) NOT NULL ,
“ISINTO” CHAR(1) ,
“DATACOUNT” VARCHAR(12) )
IN “USERSPACE1” ;

–DDL Statements for primary key on Table “TSAS “.”PUB_OPERINTO”

ALTER TABLE “TSAS “.”PUB_OPERINTO”
ADD CONSTRAINT “SQL180423162654800” CHECK
(OPERTIME like’2%’)
ENFORCED
ENABLE QUERY OPTIMIZATION;

–DDL Statements for check constraints on Table “TSAS “.”PUB_OPERINTO”

ALTER TABLE “TSAS “.”PUB_OPERINTO”
ADD CONSTRAINT “SQL180423163315500” CHECK
(OPERTIME like’2%’)
ENFORCED
ENABLE QUERY OPTIMIZATION;

COMMIT WORK;

CONNECT RESET;

TERMINATE;

  • 删除检查约束
    tsas@Tsas:~> db2 “ALTER TABLE PUB_OPERINTO DROP CHECK SQL180423162654800”
    tsas@Tsas:~> db2 “ALTER TABLE PUB_OPERINTO DROP CHECK SQL180423163315500”
    `

16、catalog server 端的 node ,命令如下:

db2 catalog tcpip node node_name remote hostname server service_port
db2 uncatalog node node_name (取消节点的编目)
其中 node_name 是由你任意起的一个结点名,结点名不能跟已有的结点名重复(可通过db2 list node directory 查看),hostname也可为IP address,service_port为端口号一般默认为50000。节点目录用于存储远程数据库的所有连通性信息。

17、catalog 远端 DB2 数据库,命令如下:

db2 catalog db db_name [as alias_name] at node node_name
db2 uncatalog db db_name (取消数据库的编目)
db_name 是指远程数据库的名字, alias_name 是客户端实例名(可以忽略), db2node 是指上面你所指定的节点node !

18、连接数据库,命令如下:

db2 connect to db_name user user_name using password
db_name 是指数据库的名字, user_name 是数据库用户名,password是数据库密码

19、用db2look命令生成表结构的DLL脚本

db2look -d db_name -i user_name -w password -a -e -o d:\script.sql
db_name 是指数据库的名字, user_name 是数据库用户名,password是数据库密码

20、用db2move导出所有表的数据

db2move db_name export -u user_name -p password
db_name 是指数据库的名字,user_name 是数据库用户名,password是数据库密码

21、用export导出指定的表数据

db2 “export to d:\data\tab1.ixf of ixf lobs to d:\data\ lobfile lobs modified by lobsinsepfiles messages d:\data\tab1.msgselect * from schema_name.table_name”

db2 “export to /home/test/table_name.txt of del select * from schema_name.table_name”
schema_name 是表所属,table_name是表名, lobsinsepfiles 或 lobsinfile 是生成lob文件 前一个是生成每个,后面是生成到一个文件中

22、用db2move导入所有表的数据

db2move db_name import -io replace -u user_name -p password

23、用import导入指定的表数据

db2 “import from d:\data\tab1.ixf of ixf messages d:\data\tab1.msg insert into schema_name.table_name”

db2 “import from /home/test/table_name.txt of del insert into schema_name.table_name”
或者指定条数分批插入
db2 “import from /home/test/table_name.txt of del commitcount 500 insert into schema_name.table_name”

24、–DB2数据库伪表(类似于ORACLE的dual)

select VARCHAR_FORMAT(current TIMESTAMP,’YYYY-MM-DD HH24:MI:SS’) from sysibm.sysdummy1;
select 1+2 from sysibm.sysdummy1

25、查看数据库实例(授权用户执行即可)

db2ilist

26、创建数据库的同时指定字符编码(db2 =>下执行)

db2 => create database topsdb using codeset GBK territory zh_cn

27、查看数据库所有配置详细信息

db2 =>get db cfg for tsasdb

授权用户下 db2 get db cfg for tsasdb

28、删除临时表空间

drop tablespace userspace1

29、删除数据库

db2 drop db testdb

30、修改数据库字段的长度

ALTER table CPAY_CENTPAYBILL(表名) alter ADDWORD(字段名) set data type VARCHAR(200);

如有不当或不全之处,欢迎指出和补充;感谢您的阅看,希望对您有所助益!

发布了12 篇原创文章 · 获赞 5 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/baidu_34569059/article/details/81481301