db2 相关命令

db2ilist  ---列出主机所有实例

db2icrt  instanceName   ---创建实例名为instanceName的实例

db2idrop  instanceName   ---删除实例名为instanceName的实例

1. 创建实例

db2icrt instance_name -s ese -u db2_admin_user

参数:

-s ese表示创建的是企业服务器版本的实例(DB2 Enterprise Server Edition)

-u 指定了执行存储过程所需要的用户。

2. 列出当前数据库下的所有实例

db2ilist

3. 删除实例

db2idrop instance_name

4. 启动实例

db2start

启动实例只是初始化实例级的进程和内存,并不代表数据库已经被激活,数据库的进程和内存还没有被初始化。只有在第一次连接数据库或者使用数据库激活命令时才真正被激活。

5. 关闭实例

db2stop

与开启实例不同,关闭实例的同时也就关闭了数据库。如果关闭实例时还有数据库连接存在,那么会关闭失败, 需要使用force选项强制结束,这时数据库系统会自动回滚未提交的事务。

db2stop force

6.连接实例

db2 attach to instance_name

使用这个命令来决定接下来的操作在哪个实例下进行。如果不使用这个命令,所有操作都会在默认实例下进行,也就是DB2INSTANCE环境变量指定的实例。

7. 断开与实例的连接

db2 detach

过db2 get db cfg|grep -i buff参数查看到;
3).新建表空间:

[sql] view plain copy
 
  1. db2 "create regular tablespace  tablespace1 pagesize 32k managed by database using(file '/usr/yixiayizi/tablespace1' 5g) bufferpool bp32k"  
  2. db2 "create regular tablespace  tablespace2 pagesize 32k managed by database using(file '/usr/yixiayizi/tablespace2' 10g) bufferpool bp32k"  
  3. db2 "create regular tablespace  tablespace3 pagesize 32k managed by database using(file '/usr/yixiayizi/tablespace3' 2g) bufferpool bp32k"  

注意(file '/usr/yixiayizi/tablespace1' 5g)的设置:
第一个参数:
 当指向外置盘时,file改为device;
 当指向文件路径时,为file;
第二个参数:需要是绝对路径;
第三个参数:该表空间的大小;

关于表空间和缓冲池的说明见如下网页:
http://www.ibm.com/developerworks/cn/data/library/techarticles/0212wieser/0212wieser.html

5.调整表空间大小:

[sql] view plain copy
 
  1. ALTER TABLESPACE  <tablespace1> RESIZE ( FILE '/cstp/usr/db2ad/db2ad/ <tablespace1>' 5g )   

6.调整缓冲池大小:

[sql] view plain copy
 
  1. db2 alter bufferpool bp32k size 2g  

--------------------------------------------------------------------------------------------
远程客户端的配置网络:
1.db2ad账户下:         
1). 首先查看/etc/services中db2各个服务的端口号:
more /etc/services          
可以看到如下信息:
DB2_db2ad       60040/tcp
DB2_db2ad_1     60041/tcp
DB2_db2ad_2     60042/tcp
DB2_db2ad_END   60043/tcp  
2).

[sql] view plain copy
 
  1. db2 update dbm cfg using SVCENAME DB2_db2ad   

这样在服务端实例对应的端口号就是60040;
------------
2.db2db账户下:
1).

[sql] view plain copy
 
  1. db2 catalog tcpip node  <node_name> remote 172.17.252.214 server 60040  

(上面操作的反编目:db2 uncatalog node <node_name>)
2).db2 list node directory可以看到如下信息:
 Node Directory
 Number of entries in the directory = 1
 Node 1 entry:
 Node name                      =  <node_name>
 Comment                        =
 Directory entry type           = LOCAL
 Protocol                       = TCPIP
 Hostname                       = 172.17.252.214
 Service name                   = 60040

3).

[sql] view plain copy
 
  1. db2 catalog db  <dbname> at node  <node_name>  

(上面操作的反编目:db2 uncatalog db  <dbname>)
4).db2 list db directory可以看到如下信息:
 System Database Directory
 Number of entries in the directory = 1
 Database 1 entry:
 Database alias                       =  <dbname>
 Database name                        =  <dbname>
 Node name                            =  <node_name>
 Database release level               = c.00
 Comment                              =
 Directory entry type                 = Remote
 Catalog database partition number    = -1
 Alternate server hostname            =
 Alternate server port number         =
 --编目系统数据库目录
-----------------------
授权:
在db2ad账户下,给db2db授权使用表空间:

[sql] view plain copy
 
  1. db2 "grant use of tablespace  <tablespace1> to user db2db"  
  2. db2 "grant use of tablespace  <tablespace2> to user db2db"  
  3. db2 "grant use of tablespace  <tablespace3> to user db2db"  

二、建表

切换到db2db用户,执行建表的sql语句:
db2 -vf tmp.sql

原文地址:https://www.cnblogs.com/hutuchong/p/6872312.html