一、常用命令
-----$dbname 数据库名字
-----$dbuser 用户名字
-----$dbusing 用户密码
-----$tbname 表名
-----$vname 视图名
1. 建立数据库DB2_GCB
db2 create db $dbname on /opt/da ta using codeset GBK territory zh_CN
2.设置数据库参数
db2 update db cfg for $dbname using STMTHEAP 4096
3. 连接数据库
connect to $dbname user $dbuser using $dbusing
3. 插入记录
insert into zjt_tables select * from tables;
insert into zjt_views select * from views;
6. 建立视图
create view V_zjt_tables as select tabschema,tabname from zjt_tables;
9. 查看表
select name from sysibm.tables
11. 查看表结构
db2 describe table user1.tables
db2 describe select * from user.tables
12. 查看视图
select viewname from views
where viewname='V_ZJT_TABLES';
13. 重新连接
connect reset
14. 中断数据库连接
disconnect db2_gcb
15. view application
DB2 LIST APPLICATION;
16. kill application
db2 force applications all (强迫所有应用程序从数据库断开)
17. 显示当前用户所有表
db2 list tables
Note:列出Shcema的值为CONFORM的所有表
db2 list tables for schema CONFORM
18. 列出所有的系统表
db2 list tables for system
19. 显示当前活动数据库
db2 list active databases
20. 查看命令选项
list command options
21. 系统数据库目录
db2 list database directory
21. 表空间
db2 list tablespaces
db2 list tablespaces show detail
22. 表空间容器
LIST TABLESPACE CONTAINERS FOR
23. 显示用户数据库的存取权限
GET AUTHORIZATIONS
24. 启动实例
DB2START
25. 停止实例
db2stop
26. 程序包特权
GRANT EXECUTE
ON PACKAGE PACKAGE-name
TO PUBLIC
27. 模式特权
GRANT CREATEIN ON SCHEMA SCHEMA-name TO USER
28. 数据库特权
grant connect,createtab,dbadm on database to user
GRANT DBADM,CREATETAB,BINDADD,CONNECT,CREATE_NOT_FENCED_ROUTINE,IMPLICIT_SCHEMA,LOAD,CREATE_EXTERNAL_ROUTINE,QUIESCE_CONNECT ON DATABASE TO USER sino_zgs;
29. 索引特权
grant control on index index-name to user
30. 信息帮助 (? XXXnnnnn )
例:? SQL30081
31. SQL 帮助(说明 SQL 语句的语法)
help statement
例如,help SELECT
32. 检查 DB2 数据库管理程序配置
db2 get dbm cfg
db2 export to staff.ixf of ixf select * from userid.staff
db2 imp ort from stafftab.ixf of ixf insert into userid.staff
33.DB2的db2look命 令诠释如下:
db2look 版本 8.2
db2look:生成 DDL 以便重新创建在数据库中定义的对象
语法: db2look -d DBname [-e] [-u Creator] [-z Schema] [-t Tname1 Tname2...TnameN] [-tw Tname] [-h] [-o Fname] [-a]
[-m] [-c] [-r] [-l] [-x] [-xd] [-f] [-fd] [-td x] [-noview] [-i userID] [-w password]
[-v Vname1 Vname2 ... VnameN]
[-wrapper WrapperName] [-server ServerName] [-nofed]
db2look -d DBname [-u Creator] [-s] [-g] [-a] [-t Tname1 Tname2...TnameN]
[-p] [-o Fname] [-i userID] [-w password]
db2look [-h]
-d: 数据库名称:这必须指定
-e: 抽取复制数据库所需要的 DDL 文件
此选项将生成包含 DDL 语句的脚本
可以对另一个数据库运行此脚本以便重新创建数据库对象
此选项可以和 -m 选项一起使用
-u: 创建程序标识:若 -u 和 -a 都未指定,则将使用 $USER
如果指定了 -a 选项,则将忽略 -u 选项
-z: 模式名:如果同时指定了 -z 和 -a,则将忽略 -z
联合部分的模式名被忽略
-t: 生成指定表的统计信息
可以指定的表的数目最多为 30
-tw: 为名称与表名的模式条件(通配符)相匹配的表生成 DDL
当指定了 -tw 选项时,-t 选项会被忽略
-v: 只为视图生成 DDL,当指定了 -t 时将忽略此选项
-h: 更详细的帮助消息
-o: 将输出重定向到给定的文件名
如果未指定 -o 选项,则输出将转到 stdout
-a: 为所有创建程序生成统计信息
如果指定了此选项,则将忽略 -u 选项
-m: 在模拟方式下运行 db2look 实用程序
此选项将生成包含 SQL UPDATE 语句的脚本
这些 SQL UPDATE 语句捕获所有统计信息
可以对另一个数据库运行此脚本以便复制初始的那一个
当指定了 -m 选项时,将忽略 -p、-g 和 -s 选项
-c: 不要生成模拟的 COMMIT 语句
除非指定了 -m 或 -e,否则将忽略此选项
将不生成 CONNECT 和 CONNECT RESET 语句
省略了 COMMIT。在执行脚本之后,需要显式地进行落实。
-r: 不要生成模拟的 RUNSTATS 语句
缺省值为 RUNSTATS。仅当指定了 -m 时,此选项才有效
-l: 生成数据库布局:数据库分区组、缓冲池和表空间。
-x: 如果指定了此选项,则 db2look 实用程序将生成授权 DDL
对于现有已授权特权,不包括对象的原始定义器
-xd: 如果指定了此选项,则 db2look 实用程序将生成授权 DDL
对于现有已授权特权,包括对象的原始定义器
-f: 抽取配置参数和环境变量
如果指定此选项,将忽略 -wrapper 和 -server 选项
-fd: 为 opt_buffpage 和 opt_sortheap 以及其它配置和环境参数生成 db2fopt 语句。
-td: 将 x 指定为语句定界符(缺省定界符为分号(;))
应该与 -e 选项一起使用(如果触发器或者 SQL 例程存在的话)
-p: 使用明文格式
-s: 生成 postscript 文件
此选项将为您生成 postscript 文件
当设置了此选项时,将除去所有 latex 和 tmp ps 文件
所需的(非 IBM)软件:LaTeX 和 dvips
注意:文件 psfig.tex 必须在 LaTeX 输入路径中
-g: 使用图形来显示索引的页访存对
必须安装 Gnuplot,并且 <psfig.tex> 必须在您的 LaTeX 输入路径中
还将随 LaTeX 文件一起生成 <filename.ps> 文件
-i: 登录到数据库驻留的服务器时所使用的用户标识
-w: 登录到数据库驻留的服务器时所使用的密码
-noview: 不要生成 CREATE VIEW ddl 语句
-wrapper: 为适用于此包装器的联合对象生成 DDL
生成的对象可能包含下列各项:
包装器、服务器、用户映射、昵称、类型映射、
函数模板、函数映射和索引规范
-server: 为适用于此服务器的联合对象生成 DDL
生成的对象可能包含下列各项:
包装器、服务器、用户映射、昵称、类型映射、
函数模板、函数映射和索引规范
-nofed: 不要生成 Federated DDL
如果指定此选项,将忽略 -wrapper 和 -server 选项
LaTeX 排版:latex filename.tex 以获得 filename.dvi
示例: db2look -d DEPARTMENT -u walid -e -o db2look.sql
-- 这将生成由用户 WALID 创建的所有表和联合对象的 DDL 语句
-- db2look 输出被发送到名为 db2look.sql 的文件中
示例: db2look -d DEPARTMENT -z myscm1 -e -o db2look.sql
-- 这将为模式名为 MYSCM1 的所有表生成 DDL 语句
-- 还将生成 $USER 创建的所有联合对象的 DDL。
-- db2look 输出被发送到名为 db2look.sql 的文件中
示例: db2look -d DEPARTMENT -u walid -m -o db2look.sql
-- 这将生成 UPDATE 语句以捕获关于用户 WALID 创建的表/昵称的统计信息
-- db2look 输出被发送到名为 db2look.sql 的文件中
示例: db2look -d DEPARTMENT -u walid -e -wrapper W1 -o db2look.sql
-- 这将生成由用户 WALID 创建的所有表的 DDL 语句
-- 还将生成适用于包装器 W1 的用户 WALID 所创建所有联合对象的 DDL
-- db2look 输出被发送到名为 db2look.sql 的文件中
示例: db2look -d DEPARTMENT -u walid -e -server S1 -o db2look.sql
-- 这将生成由用户 WALID 创建的所有表的 DDL 语句
-- 还将生成适用于服务器 S1 的用户 WALID 所创建所有联合对象的 DDL
-- db2look 输出被发送到名为 db2look.sql 的文件中
导出数据库的表结构:db2look -d estudy -a -e -m -x -l -f -o db2look.sql
34.
db2move $dbname export 用户表的数据
35. 创建库
db2 " create database zftest using codeset GBK territory zh_CN USER TABLESPACE MANAGED BY system USING ('/home/db2inst3/user.dat',' ')
36.修改表空间
ALTER TABLESPACE TS1
RESIZE (FILE '/conts/cont0' 2000,FILE 'cont1' 2000)
ALTER TABLESPACE TS1
RESIZE (ALL 2000)
ALTER TABLESPACE TS1
EXTEND (FILE '/conts/cont0' 1000,FILE 'cont2' 1300)
ALTER TABLESPACE TS0
ADD (FILE 'cont2' 20 M, FILE 'cont3' 2000)
37.查看DB2实列的 配置参数
db2 get dbm cfg
38.修改访问量
update dbm cfg using maxagents 400
39.当表的状态为check pending(死锁了)
set integrity for 表名 immediate checked ;
40. SQL0668N 由于表 "db2inst1.test" 上的原因代码 "3",所以不允许操作。
SQLSTATE=57016 表处于load状态由于没有load完所以被挂起
解决办法创建个空文 件执行此命令
db2 load from del文件地址 of del terminate into 表名
重新执行原来的任务
db2 load from del文件地址 of del restart into 表名
41.查看缓冲池
db2 "select * from syscat.bufferpools";
42.列出表空间
db2 connect to $dbname user $dbuser using $dbusing
db2 list tablespaces
42. 创建缓冲池
创建数据库的时候会创建一个 IBMDEFAULTBP 缓冲池
CREATE BUFFERPOOL BFP2
IMMEDIATE ---意思是说以后ALTER BUFFERPOOL时会立即生效
ALL DBPARTITIONNUMS
SIZE 3000 ---- SIZE 关键字来覆盖该缺省值
NUMBLOCKPAGES 0
PAGESIZE 16 K; ---页大小
43.创建表空间
当您创建数据库时,将创建三个表空间(SYSCATSPACE--目录表空间、 TEMPSPACE1--临时表空间 这个表空间很重要放一些临时数据 我门可以自己键系统临时表空间假如说我门自己键了一个用户表空间DMS类型的那就需要一个PAGESIZE 大小一样的系统临时表空间 和 USERSPACE1--用户表空间)
创建系统临时表空间
CREATE SYSTEM TEMPORARY TABLESPACE tmp_tbsp PAGESIZE 32K
MANAGED BY SYSTEM --建立的是SMS 系统临时表空间
USING ('/opt/da ta2/tmp_tbsp')
BUFFERPOOL TEMPPOOL;
创建用户表空间
CREATE TABLESPACE YWCHG1IDX
IN DATABASE PARTITION GROUP IBMDEFAULTGROUP
PAGESIZE 16K ---页大小
MANAGED BY DATABASE --建立的是DMS 类型的用户表空间
USING
(File '/opt/da ta/sino/zgsrywchg1idx1' 12800,
File '/opt/da ta/sino/zgsrywchg1idx2' 12800,
File '/opt/da ta/sino/zgsrywchg1idx3' 12800,
File '/opt/da ta/sino/zgsrywchg1idx4' 12800
)
EXTENTSIZE 32 --指定在跳到下一个容器之前将写到当前容器中的页数该参数只有在表空间中有多个容器时才起作用
PREFETCHSIZE 64 ---指定当执行数据预取时将从表空间读取的页数
BUFFERPOOL CHG1IDXBP ---指定的缓冲池
OVERHEAD 12.67 --开销 defaule 24.1
TRANSFERRATE 0.18 ---传送速率 0.9
DROPPED TABLE RECOVERY ON;
44.创建系统临时表空间
CREATE SYSTEM TEMPORARY TABLESPACE tmp_tbsp PAGESIZE 32K
MANAGED BY SYSTEM --建立的是SMS 系统临时表空间
USING ('/opt/da ta2/tmp_tbsp')
BUFFERPOOL TEMPPOOL;
45.脱机备份数据库
db2 backup db sino
46. 打成TAQ包
tar -cvf 目录.tar 目录
--解包
tar -xvf 目录.tar 目录
47. 将TAR包压缩
gzip 目录.tar -->目录.tar.gz
gunzip --解压缩
48. 恢复数据库
db2 restore db sino without rolling forward
49.如何重新启 动数据库?
RESTART DATABASE DATABASE _NAME
50.如何激活数据库?
ACTIVATE DATABASE DATABASE _NAME
51.如何停止数据库?
DEACTIVATE DATABASE DATABASE _NAME
52.查看备份的记录
db2 list history backup all for sino
53.DB2 日志
修改日志文件大小:update db cfg using logfilsiz 65536; 实际大小为65536(页数)×4k(块大小);
增加主日志文件数:update db cfg using logprimary 10;最多不超过256;
也可以增加辅助日志文件数:update db cfg using logsecond 100;最大不超过254;辅助日志文件在需要时分配,不再使用时系统收回
54.db2中的三种日志文件的类型
db2.log ,db2cc.log,db2diag.log
55.列出DB的实例
db2ilist
56.全部 DB2 配置文件注册库
db2set -lr
57.显示服务器上当前设置的所有 DB2 配置文件注册库,请执行以下命令
db2set -all
58.得到当前数据库的实例
db2 get instance
59.显示的停止某个应用
force application (APP HANDLE)
60.列出数据库中定义的所有表
list tables for all
61.显示指定的表的结构
describe table tablename
62.使用表压缩
create table table_name ... compress yes
alter table tablename compress yes
63.创建压缩字典
第一次压缩一个表(或者您想重建压缩字典)时,必须运行命令:
reorg table table_name resetdictionary
64.压缩表估计节省的空间
db2 inspect rowcompestimate table name $tbname results keep file_name
65. 将二进制输出文件转换成一个名为 output_file_name 的文本文件
db2inspf file_name output_file_name
66.DB2 中提供了三个数据移动实用程序:
EXPORT
IMP ORT
LOAD
67.EXPORT 导出数据
EXPORT TO del_name OF DEL MESSAGES logfile_name SELECT * FROM $tbname;
EXPORT TO myfile.del OF DEL MODIFIED BY chardel! coldel@ codepage=1208 timestampformat="yyyy.mm.dd hh:mm tt"
MESSAGES msg.out
SELECT * FROM $tbname;
chardelx
--指定 x 作为新的单字符字符串分界符。默认值是一个双引号(")。
coldelx
--指定 x 作为新的单字符列分界符。默认值是一个逗号(,)。
codepage=x
--指定 x (一个 ASCII 字符串)作为输出数据的新的码页(co de page)。在导出操作期间,字符数据被从应用程序码页转换成这种码页。
timestampformat="x"
x 是源表中时间戳的格式。
--前面的命令按照以下方式将 SCHEDULE 表中的数据导出到 DEL 格式的文件中:
--字符串以感叹号(!)括起来。
--列之间以 @ 符号分隔开。
--将字符串转换成码页 1208。
--SCHEDULE 表中用户定义的时间戳的格式为 yyyy.mm.dd hh:mm tt。
--用 LOBSINFILE 修饰符导出大型对象
EXPORT TO file_name OF file_type
LOBS TO lobfile_directory_1, lobfile_directory_2, ...
LOBFILE lobfilename
MODIFIED BY LOBSINFILE
MESSAGES message_file
select_statement
--68.DB2 数据移动实用程序
db2move
db2move sino imp ort -u sino_zgs -p 123456 > ../imp ort.log
--这个命令用指定的用户 ID 和密码以 REPLACE 模式导入 sample 数据库中的所有表:
db2move sample IMP ORT -io REPLACE -u userid -p password
--下面的命令以 REPLACE 模式装载 db2admin 和 db2user 这两个模式下的所有表:
db2move sample LOAD -sn db2admin,db2user -lo REPLACE
db2look
--从数据库对象中提取数据库定义语言(DDL)语句。
--这个命令生 成 peter 在数据库 department 中创建的所有对象的 DDL,输出被存储在 alltables.sql 中。
db2look -d $dbname -u peter -e -o db2look.sql
下面的命令生成:
数据库 department 中所有对象的 DDL(由 -d、-a 和 -e 选项指定)。
UPDATE 语句,用于复制数据库中所有表和索引的统计信息(由选项 -m 指定)。
GRANT 授权语句(由选项 -x 指定)。
用于数据库管 理器和数据库配置参数的 UPDATE 语句和用于概要注册表的 db2set 命令(由选项 -f 指定)。
db2look -d department -a -e -m -x -f -o db2look.sql
db2batch
--基准测试是 从各种不同方面(例如数据库响应时间、cpu 和内存使用情况)对应用程序进行评测的一个过程
--69 查看db2版本信息是否过期
db2licm -l