DB2 常用命令小结

1.启动数据库实例
  #db2start

2.停止数据库实例
  #db2stop          如果你不能停止数据库由于激活的连接,在运行db2stop前执行db2 force application all就可以了,或者db2stop force

3.创建数据库
  #db2 "create database [dbname] automatic storage yes on [dbpath] using codeset UTF-8 TERRITORY CN COLLATE USING SYSTEM"
     automatic storage yes/no   指定自动存储打开或关闭。默认是打开的.

4.创建缓冲池
  #db2 "create bufferpool bp32k size 10000 pagesize 32k"   size表示页数,pagesize表示页大小,size*pagesize就是缓冲池的内存大小

5.创建数据库管理(DMS)的数据表空间
  #db2 "create large tablespace tbs_data pagesize 32k managed by database using (file '/data1/tbs_data/cont0' 100M, file '/data1/tbs_data/cont1' 100M) extentsize 32 prefetchsize automatic bufferpool bp32k no file system caching"

6.创建系统管理(SMS)的临时表空间
  #db2 "create temporary tablespace tbs_temp pagesize 32k mamaged by system using  ('/data1/tbs_temp')  bufferpool bp32k"

7.创建(SMS)管理的用户临时表空间
  #db2 "create user temporary tablespace tbs_user_temp pagesize 32k managed by system using ('/data1/tbs_usertemp') bufferpool bp32k"

8.创建自动存储管理(Automatic Storage)的表空间
  #db2 "create tablespace tbs_index pagesize 32k bufferpool bp32k"
  #db2 "create tablespace tbs_data2 initialsize 100M increasesize 100M maxsize 1000G"
    只有建库时启用了automatic storage yes,表空间才支持自动存储管理

9.显示每个表空间核心信息
  #db2 list tablespaces
  #db2 list tablespace containers for <tablespace_id> show detail   显示指定表空间相关信息
  #db2 get snapshot for tablespaces on <db_name>   比list tablespaces更详细的显示表空间信息

10.显示表空间的配置信息,使用情况和容器信息
  #db2db2pd -d <db_name> tablespaces

11.表空间容器的更改
  alter tablespace <db_name> add/drop/extend/reduce/resize
  add和drop操作,表空间会发生数据重新平衡(rebalance),对于reduce和resize操作,需要确保更改后的表空间容器有足够的空间,否则db2会拒绝该操作。
  alter tablespace <db_name> begin new stripe set
  begin new stripe set 选项是当已有容器使用完后,再使用新增加的容器,该选项不会在容器间做Rebalance ,不会对系统造成性能影响,但它会造成数据偏移。
  使用方法:db2 "db2 alter tablespace data_ts2 add(file '/data1/ts2/cont2' 50G)"
  alter database db_name add storage on db_path3
  对于自动存储管理的表空间,无法在表空间级进行容器更改,只能在数据库级别,因为自动存储路径是在建库时指定的。可以使用add storage on 选项为数据库添加新的存储路径。

12.连接到数据库
  #db2 connect to [dbname] user [username] using [password]

13.断开数据库连接
  #db2 connect reset   终止数据库连接,包含一个commit的动作,不终止clp(命令行处理器)后台
  #db2 terminate  终止这个client发起的进程,释放资源,还终止clp(命令行处理器)的后台进程

14.列出所有数据库
 #db2 list db directory

15.列出所有激活的数据库
  #db2 list active databases

16.列出所有数据库配置
  #db2 get db cfg

17.删除数据库
  #db2 drop database [dbname]   (执行此操作要小心,谨慎!谨慎!谨慎!)

18.列出所有用户表
  #db2 list tables

19.列出所有系统表
 #db2 list tables for system

20.列出所有表
  #db2 list tables for all

21.列出特定用户表
  #db2 list tables for schema [user]

22.创建一个与数据库中某个表(t2)结构相同的新表(t1)
  #db2 create table t1 like t2

23.将一个表t1的数据导入到另一个表t2
    #db2 "insert into t1 select * from t2"

24.查询表
  #db2 "select * from table name where ..."     其中最后加 fetch first 1 row only表示只取一条

25.显示表结构
  #db2 describe table tablename

26.修改列
  #db2 alter table [tablename] alter column [columname] set data type varchar(24)

27.执行脚本文件
  #db2 -tvf scripts.sql        注意文件中语句用;号结尾

28.备份数据库
    #db2 backup db <db name>    需要断开数据库连接

29.在线备份数据库
    #db2 -v "BACKUP DATABASE <database name> ONLINE TO <path> WITH 2 BUFFERS BUFFER 1024 INCLUDE LOGS WITHOUT PROMPTING"

30.恢复数据库
    #db2 restore db <source db name> 

31.在线恢复数据库
    #db2 "RESTORE DB <database name> TO <db path> LOGTARGET <logpath> WITHOUT PROMPTING"
    #db2 "ROLLFORWARD DB <database name> TO END OF LOGS AND STOP" 

32.导出数据文件
    #db2move <db name> export

33.导入数据文件
    #db2move <db name> import

34.获取db2数据库管理配置环境信息
    #db2 get dbm cfg

35.、.获取db2某个数据库数据库管理配置环境信息
    #db2 get db cfg for <db name>

36.显示进行程号
    #db2 list applications show detail

37.以默认分隔符加载,默认为“,”号
    #db2 "import from btpoper.txt of del insert into btpoper"

38.以指定分隔符“|”加载
    #db2 "import from btpoper.txt of del modified by coldel| insert into btpoper"

39.卸载一个表中全部数据
    #db2 "export to btpoper.txt of del select * from btpoper"
    #db2 "export to btpoper.txt of del modified by coldel| select * from btpoper"

40.删除一个实例: 
    # ./db2idrop InstName           db2idrop在安装db2目录下

41.列出所有DB2实例:
    # ./db2ilist

42.数据库建立远程编目 
    # db2 catalog tcpid node [nodename] remote [IP] server [port]
    # db2 catalog database [dbname] at node [nodename]

43.取消已编目的数据库btpdbs
    # db2 uncatalog db btpdbs

44.查看版本
    # db2level

45.显示当前数据库管理实例
    #db2 get instance

46.设置实例系统启动时是否自动启动。 
    #db2iauto -on 自动启动   
    #db2iauto -off 不自动启动

47.数据库优化命令:
reorg、runstats
当数据库经过一段时间使用,数据空间会变得越来越庞大。一些delete掉
的数据仍存放在数据库中,占用数据空间,影响系统性能。因此需要定期
运行reorg、runstats命令,清除已delete的数据,优化数据结构。
db2 reorg table 表名
db2 runstats on table 表名 with distribution and indexes all
因为要优化的表比较多,所以在/btp/bin目录下提供了一个sh程序runsall,
可在当天业务结束后,运行runsall,对数据库进行优化

48.数据库导入导出

db2move [dbname] export -sn [schemaname] -u [dbauser] -p [dbapassword] >  export.log
db2look -d [dbname] -e -a -x -i [user] -w [passwd] -o ddlfile.sql
db2 -tvf ddlfile.sql
db2move [dbname] import  -u [user] -p [passwd] > imp.log 
或db2move [dbname] load  -u [user] -p [passwd]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值