文档库 最新最全的文档下载
当前位置:文档库 › DB2常见指令

DB2常见指令

1.DB2产品
*************************************************************************************************
个人版 -- 适用于个人开发和测试
windows,os/2,linux
工作组版 -- 适用于小型企业的应用
windows,os/2,linux,unix,AIX,Solaris,HP-UX
企业版 -- 适用于大型企业
windows,os/2,linux,unix
企业扩展版 -- 适用于超大规模的数据库应用程序,支持群集(cluster)
windows,AIX,Solaris,HP-UX HUMA-Q等
**************************************************************************************************
client
administration client 包括图形化工具和运行环境

runtime client 最小运行环境只包括命令行工具

application client 包括图形化工具和运行环境和存储过程开发工具
*************************************************************************************************
实例
一台机器可以创建多个实例,每个实例下可以管理多个数据库
windows
db2icrt db2inst1
修改环境变量 db2instances db2inst1
db2start
unix
root 用户下
创建三个操作系统用户,和对应的用户组 db2inst1/db2ins,dasusr/dasgrp,fecusr/fecgrp
db2icrt db2inst1
su - db2inst1 切换到创建的实例用户
db2start
***************************************************************************************************
db2set 设置注册变量命令
db2set -i instancename variable=value 设置实例的环境变量
db2set -g variable=value 设置所有实例的环境变量

db2ilist 列出当前机器上包含的所有实例

db2icrt 创建实例
db2idrop 删除实例

db2start 启动实例
db2stop 停止实例

db2admin create 创建管理服务器
db2admin drop 删除管理服务器
db2admin start 启动管理服务器
db2admin stop 停止管理服务器

db2 get dbm cfg 获得实例的参数
db2 update dbm cfg using var value 修改实例的参数

db2 get db cfg for dbname 获得数据库的参数
db2 update db cfg using var value 修改数据库的参数

db2 list application all 列出当前实例的连接的应用
db2 force application all(handl) 杀死某个应用或全部应用
****************************************************************************************************
客户端连接数据库
数据库服务器:
a. db2set DB2COMM=TCPIP
b. 修改etc/service文件 增加 db2_db2inst1 60000
c. 修改实例参数 update dbm cfg using SVCENAME db2_db2inst1

客户端服务器:
a. 安装db2客户端软件

b. 编目server catalog tcpip node b50 server 10.14.1.1 server 60000
c. 编目数据库 catalog db sample as sample at node b50
d. 连接数据库 connect to sample user db2inst1 using bxadm

****************************************************************************************************

2.图形化工具
安装sever软件或者管理client,或者开发client都包含GUI工具

控制中心 行通用管理任务 命令:db2cc

命令行编辑器(命令中心)执行脚本

任务中心 -定制操作系统命令/数据库命令 必须创建tools数据库才能使用
os 操作系统命令主要用于调用应用程序
db2 命令主要用于 备份等管理任务

配置助手 定制客户端

日志中心 察看日至信息

许可证中心 注册许可证 和管理许可证信息 命令:db2licm

***************************************************************************************************

3.数据库/表空间
***************************************************************************************************
SMS表空间
容器类型 目录
特点 管理简单,性能相对差
表,索引,大对象必须存在同一个表空间里面
CREATE DATABASE dbname ON 'D:' USING CODESET GBK TERRITORY CN COLLATE
USING SYSTEM CATALOG TABLESPACE MANAGED BY SYSTEM USING ( 'C:\L1626V1' )
USER TABLESPACE MANAGED BY SYSTEM USING ( 'C:\L1626V2' )
TEMPORARY TABLESPACE MANAGED BY SYSTEM USING ( 'C:\L1626V3' ) ;


DMS表空间
容器类型 文件/裸设备
特点 管理复杂,性能高
表,索引,大对象可以分别存储在不同表空间提高性能
可以增加新的容器,做rebanlance重新分配空间
CREATE DATABASE dbname ON 'D:' USING CODESET GBK TERRITORY CN COLLATE
USING SYSTEM CATALOG TABLESPACE MANAGED BY DATABASE USING ( FILE 'C:\sql001' 1024 ) *存储系统表 大小为1024*4K
USER TABLESPACE MANAGED BY DATABASE USING ( FILE 'C:\sql001' 1024 ) *存储用户创建的表
TEMPORARY TABLESPACE MANAGED BY DATABASE USING ( FILE 'C:\sql001' 1024 ) ; *存储系统临时信息
1024 单位为pagesize
1024k 单位为k
1024M 单位为M
1024G 单位为G
*********************************************************************************************************
Tablespace

常规 存储用户数据
大对象 存储Clob,Blob,DBclob大对象字段信息
系统临时表空间 系统产生的临时信息
用户临时表空间 用户产生的临时信息

CREATE REGULAR TABLESPACE TB1 PAGESIZE 4 K *常规表空间,pagesize 默认4k创建后就不能修改
MANAGED BY SYSTEM USING ('C:\L1626V3' ) *管理方式SMS
EXTENTSIZE 16 OVERHEAD 10.5 PREFETCHSIZE 16 TRANSFERRATE 0.14
BUFFERPOOL IBMDEFAULTBP *使用 IBMDEFAULTBP缓冲池
DROPPED TABLE RECOVERY OFF;
drop tablespace tbname 删除表空间

*********************************************************************************************************
Buffer pool
创建数据库会默认创建一个IBMDEFAULTBP缓冲池
buffer pool的pagesize要和表空间的pagesize保持一致才能被表空间使用,默认创建的pagesize为4K,支持8k,16K,32k
create bufferpool bp_index size 125
**********************************************************************************************************

connect to db 连接数据库
activate db 激活数据库 创建db2使用的进程和内存
deactivate db 停止数据库 释放db使用的进程和内存

connect to dbname; 察看数据库表空间和容器的详细使用情况
list tablespaces show detail;
list tablespace containers for x show detail

*********************************************************************************************************
系统表
syscat.tables 列出来所有表的信息
syscat.tablespaces 列出来所有表空间信息
syscat.bufferpools 列出所有buffer pool信息
********************************************************************************************************
4.数据库对象
*******************************************************************************************************
index
字符型,数值,日期都可作为索引字段,大对象不能作为索引字段
普通索引

唯一索引
要求字段 not null
集群索引
*******************************************************************************************************
约束
主键
创建主键的同时自动创建唯一索引
外键
约束方式
no action 不润许删除
cascade 删除主表记录,自动删除子表记录
set null 如果主表删除,子表该字段设为null
唯一键
创建唯一键的同时自动创建唯一索引
***

*****************************************************************************************************
系统表

********************************************************************************************************
5.数据移植
********************************************************************************************************
import 数据倒入
db2 connect to sample;
db2 import from c:\employee.del of del message c:\mess.log insert into employee (对表,视图,别名都可进行导入操作)
create 没有表,新建表
insert_update 新数据插入,已有数据修改
replace 删除所有数据,然后全部导入
replace_create 删除表,重建表,导入数据
********************************************************************************************************
export
db2 connect to sample; 首先连接数据库
db2 export to c:\employye.del of del message c:\mess.log select * from employee; 定界符的文本格式
ixf ixf 二进制格式 可以创建数据库
wsf wsf lotus123格式
asc asc 文本格式
********************************************************************************************************
load
load from c:\employee.del of del insert into employee for exception emplexp;

如果load 失败 get db cfg for sample
load pending
继续执行load 直到成功
load from c:\employee.del of del insert into employee for exception emplexp restart;
结束load
load from c:\employee.del of del insert into employee for exception emplexp terminate;

backup pending
执行备份命令就可以恢复
backup db sample to c:\backup
check pending
执行恢复约束
SET INTEGRITY for cal.par, cal.for IMMEDIATE CHECKED FOR EXCEPTION
IN cal.par USE parexp,
IN cal.for USE forexp

**********************************************************************************************************
db2move 批量导入数据或者导出数据
导入所有数据
导入所有以tbr表名开头的表
db2move sample import -tn tbr* -u db2admin -p db2admin

导出所有数据


导出所有表名以dim开头的数据
db2move sample export -tn dim* -u db2admin -p pass
**********************************************************************************************************
db2look 导出数据库建库脚本
导出所有a这个模式创建的表的定义语句
db2look -d SAMPLE -z A -u A -e -c ;
*********************************************************************************************************

6.数据库备份
*********************************************************************************************************
日志
循环日志
支持offline备份,不支持rollforward操作
修改改数据库参数logretain,userexit
update db cfg for sample using logretain off
update db cfg for sample using userexit off

设置日志参数
update db cfg for sample using logfisiz 1000 每个日志文件大小为1000*4k
logparimary 3
logsecond 2 总日志文件5个,总容量5*1000*4k
newlogpath 更改日志文件位置
归档日志
支持online/offline 备份,支持rollforward操作
修改数据库参数logretain 或userexit
update db cfg for sample using logretain recovery

设置日志参数
update db cfg for sample using logfisiz 1000 每个日志文件大小为1000*4k
newlogpath 更改日志文件位置
查看当前活动日志
**********************************************************************************************************
备份
全备份
离线备份
db2 backup db o_yd to d:

在线备份
db2 backup db o_yd online to /tmp

恢复
恢复到备份文件即可
db2 restore db o_yd from d: to d:

恢复回滚
db2 RESTORE DB mydb FROM d:\backup;
db2ROLLFORWARD DATABASE mydb TO END OF LOGS AND STOP; 回滚到日志结尾,应用可以在线连接
*********************************************************************************************************

7.监控
**********************************************************************************************************
快照
get snateshop
事件监控
create event monitor
日志
db2diag.log格式
2006-09-18-15.50.21.630000+480 I186913H391 LEVEL: Severe *时间戳,级别
PID : 3628 TID : 3920 PROC : db2syscs.exe *进程ID,线程ID,调用程


INSTANCE: DB2 NODE : 000 DB : DB2PROD *实例名,节点名,数据库名
APPHDL : 0-76 APPID: *LOCAL.DB2.060918075000
FUNCTION: DB2 UDB, relation data serv, sqlrr_db_diagnose, probe:10 *错误消息
MESSAGE : Crash Recovery is needed *硬件死机或者操作系统崩溃造成
************************************************************************************************************


8.优化
**********************************************************************************************************
定期整理表
db2 connect to o_yd user db2 using pwd
db2 reorgchk current statistics on table user 统计信息检查
或者
selece * from syscat.tables 益处过大需要整理的表
TABNAME CARD NPAGES FPAGES OVERFLOW
T1 1242 84 85 0
ORG 8000 157 157 2
SALES 844 19 19 45
DEPARTMENT 767 23 23 5

db2 reorg table sales 重新进行碎片整理
db2 reorg indexes all for table sales allow read access 对索引进行整理

收集统计信息
db2 runstats on table ydd with distribution and indexes all 收集统计信息
db2 FLUSH PACKAGE CACHE
*********************************************************************************************************

9.安全
**********************************************************************************************************
用户名,密码存储在操作系统内

所有client都能连接server
update dbm cfg using trust_clnauth client 信任所有客户端
trust_allclnts yes yes 客户端认证
加密认证
AUTHENTICATION=SERVER_ENCRYPT 再网络传输中加密用户名,密码信息
server 不加密传输
client client认证
**********************************************************************************************************

三个用户组操作系统真实用户
sysadmin db2inst1 管理员用户组
sysctrol
sysmon
**********************************************************************************************************

相关文档