db2常用语句
db2基本命令
- 启动数据库:db2start
- 连接数据库:db2 connect to db user db2user using pwd
- 停止数据库:db2stop
- 执行批处理文件:db2 -tvf filename
- 编译存储过程:db2 -td@ -vf filename
- 后台执行存储过程:db2 “call ProducerNname(‘time’)”
- 读数据库管理程序配置:db2 get dbm cfg
- 写数据库管理程序配置:db2 update dbm cfg using 参数名 参数值
- 写数据库的配置:db2 update db cfg for dbname using 参数名 参数值
- 关闭所有应用连接:db2 force application all
- 添加字段:alter table tb_nm add 字段名称 类型
- 更改字段类型:alter table tb_nm alter column 字段名 set data type 类型
- 删除字段:alter table tb_nm drop column 字段名
- 为字段添加默认值:alter table tb_nm alter column 字段名 set default 值
- 添加带默认值的字段:alter table table_name add column column_test vachar(20) not null withdefault ‘value’;
- 删除数据库:db2 drop database [dbname]
- 显示进行程号:db2 list applications show detail
- db2 list tablespaces show detail 查看当前数据库表空间分配状况
- db2 list tablespace containers for 2 show detail 查看tablespace id=2使用容器所在目录
- db2 list db directory 列出所有数据库
- db2 list active databases 列出所有活动的数据库
- db2 list tables for all 列出当前数据库下所有的表
- db2 list tables for schema btp 列出当前数据库中schema为btp的表
- db2 list tablespaces show detail 显示数据库空间使用情况
- 数据库优化命令:reorg、runstats
当数据库经过一段时间使用,数据空间会变得越来越庞大。一些delete掉的数据仍存放在数据库中,占用数据空间,影响系统性能。因此需要定期运行reorg、runstats命令,清除已delete的数据,优化数据结构。
- db2 reorg table 表名
- db2 runstats on table 表名 with distribution and indexes all。
- db2 get connection state 获取连接状态。
db2添加远程编目
- 添加编目节点
- db2 catalog tcpip node
remote server <远程节点端口号> 1
db2 catalog tcpip node node1 remote 192.158.51.100 server 50000
- db2 catalog tcpip node
- 查看节点
- db2 list node directory
- 取消编目节点
- db2 uncatalog node <node_name>
添加编目数据库
- db2 catalog db
as at node AUTHENTICATION SERVER 1
db2 catalog db edw as edw1 at node node1 authentication SERVER
- db2 catalog db
查看编目数据库
- 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:工作表方式导入导出,不建议使用。
- 导出数据可以使用export,支持IXF,DEL或WSF
- db2 “export to filename.del of del select * from tb_name”
- 导入数据可以使用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。