db2基本命令

  1. 启动数据库:db2start
  2. 连接数据库:db2 connect to db user db2user using pwd
  3. 停止数据库:db2stop
  4. 执行批处理文件:db2 -tvf filename
  5. 编译存储过程:db2 -td@ -vf filename
  6. 后台执行存储过程:db2 “call ProducerNname(‘time’)”
  7. 读数据库管理程序配置:db2 get dbm cfg
  8. 写数据库管理程序配置:db2 update dbm cfg using 参数名 参数值
  9. 写数据库的配置:db2 update db cfg for dbname using 参数名 参数值
  10. 关闭所有应用连接:db2 force application all
  11. 添加字段:alter table tb_nm add 字段名称 类型
  12. 更改字段类型:alter table tb_nm alter column 字段名 set data type 类型
  13. 删除字段:alter table tb_nm drop column 字段名
  14. 为字段添加默认值:alter table tb_nm alter column 字段名 set default 值
  15. 添加带默认值的字段:alter table table_name add column column_test vachar(20) not null withdefault ‘value’;
  16. 删除数据库:db2 drop database [dbname]
  17. 显示进行程号:db2 list applications show detail
  18. db2 list tablespaces show detail 查看当前数据库表空间分配状况
  19. db2 list tablespace containers for 2 show detail 查看tablespace id=2使用容器所在目录
  20. db2 list db directory 列出所有数据库
  21. db2 list active databases 列出所有活动的数据库
  22. db2 list tables for all 列出当前数据库下所有的表
  23. db2 list tables for schema btp 列出当前数据库中schema为btp的表
  24. db2 list tablespaces show detail 显示数据库空间使用情况
  25. 数据库优化命令:reorg、runstats
    当数据库经过一段时间使用,数据空间会变得越来越庞大。一些delete掉的数据仍存放在数据库中,占用数据空间,影响系统性能。因此需要定期运行reorg、runstats命令,清除已delete的数据,优化数据结构。
  • db2 reorg table 表名
  • db2 runstats on table 表名 with distribution and indexes all。
  1. db2 get connection state 获取连接状态。

db2添加远程编目

  1. 添加编目节点
    • db2 catalog tcpip node remote server <远程节点端口号>
      1
      db2 catalog tcpip node node1 remote 192.158.51.100 server 50000
  • 查看节点
    • db2 list node directory
  • 取消编目节点
    • db2 uncatalog node <node_name>
  1. 添加编目数据库

    • db2 catalog db as at node AUTHENTICATION SERVER
      1
      db2 catalog db edw as edw1 at node node1 authentication SERVER
  2. 查看编目数据库

    • db2 list db directory
  • 取消编目数据库

    • db2 uncatalog database <db_name>
  • 查看远程节点的端口号

    • db2 get dbm cfg | grep -i service

导入导出数据

数据文件有以下四种格式

  • DEL:界定的ASCII文件,行分隔符和列分隔符将数据分开。常用
  • ASC:定长的ASCII文件,行按照行分割符分开,列定长。
  • PC/IXF:只能用来在db2之间导数据,根据类型数字值被打包成十进制或者二进制,字符被保存为ASCII,只保存变量已经使用了的长度,文件中包括表的定义和表的数据。
  • WSF:工作表方式导入导出,不建议使用。
  1. 导出数据可以使用export,支持IXF,DEL或WSF
  • db2 “export to filename.del of del select * from tb_name”
  1. 导入数据可以使用load或者import。
  • import 可以向表或者视图中导入数据,支持上面提到的4中文件。
    import语法:
    IMPORT FROM filename.del OF del [INSERT/INSERT_UPDATE/REPLACE/REPLACE_CREATE/CREATE] INTO tablename。

    INSERT:将输入数据插入到目标表,不更改现有数据
    INSERT_UPDATE:使用数入行的值更新具有匹配主键值的行,若不匹配,则插入。
    REPLACE:删除所有现有数据并插入数据,保留表和索引定义。
    REPLACE_CREATE:删除所有现有数据并插入导入数据,同时保留表和索引定义,如果目标表和索引不存在,则创建目标表和索引。
    CREATE:创建目标表和索引,可指定在其中创建新表的表空间名称

  • load功能和import基本相同。支持以上说的4种格式。Load没有记录日志,不能前滚恢复。
    load语法:
    load client from filename.del OF del [INSERT/INSERT_UPDATE/REPLACE] INTO tablename。