db db2

DB2  UDB8.1
http://ibmur.hust.edu.cn/elearning/db2/udb8/index.htm
基础知识

    1.DB2 UDB产品家族基础知识
    2.SQL语句
    3.数据库管理常识
    4.DB2安全性和存取控制
    5.并发性
数据库管理

    6.UDB 产品概述
    7.UDB环境、命令和配置
    8.验证、权限和特权
    9.数据库对象和数据库设计
    10.数据存储管理
    11.数据维护
    12.数据库恢复
    13.监控和优化
附:常用的性能监控和管理命令

http://ibmur.hust.edu.cn/elearning/db2/udb8/content/UDBEnd.htm


--查看DB2 端口
http://bbs.chinaunix.net/archiver/?tid-323945.html
--windows db2
C:\WINDOWS\SYSTEM32\DRIVERS\ETC\services
emall           50000/tcp   # Connection port for DB2 instance DB2
--linux db2
[lindows@localhost Desktop]$ cat /etc/services | grep DB2
ibm-db2         523/tcp                         # IBM-DB2
ibm-db2         523/udp                         # IBM-DB2
questdb2-lnchr  5677/tcp                        # Quest Central DB2 Launchr
questdb2-lnchr  5677/udp                        # Quest Central DB2 Launchr
DB2_db2inst1    60000/tcp
DB2_db2inst1_1  60001/tcp
DB2_db2inst1_2  60002/tcp
DB2_db2inst1_END        60003/tcp
[lindows@localhost Desktop]$ cat /etc/services | grep db2
ibm-db2         523/tcp                         # IBM-DB2
ibm-db2         523/udp                         # IBM-DB2
questdb2-lnchr  5677/tcp                        # Quest Central DB2 Launchr
questdb2-lnchr  5677/udp                        # Quest Central DB2 Launchr
DB2_db2inst1    60000/tcp
DB2_db2inst1_1  60001/tcp
DB2_db2inst1_2  60002/tcp
DB2_db2inst1_END        60003/tcp

IBM.DB2.UDB.ENTERPRISE.EDITION.V8.2
http://www.verycd.com/topics/42799/#theCon
C48THML.tar

在RedHat AS4上启动图形界面安装db2

http://hi.baidu.com/lzc_mei/blog/item/4e0e9c62f35034d9e6113a52.html

启动图形界面安装db2:
系统环境:RH linux ES4 x86_64
数据库:   DB2_Universal_Database_for_Linux_V8.1_32
JDK:       IBMJava2-SDK-1.4.2-9.0
db2在linux启动图形安装界面需要JVM的支持,在db2安装界面初始化脚本db2jinst中已经将db2默认使用的 IBMJava2-131的路径写了进去。如下,JAVA_PATH="/opt/IBMJava2-131/jre/bin"
将上面的path改为
JAVA_PATH="/opt/IBMJava2-142/jre/bin"
将../009_ESE_LNX_32_NLV/db2/linux下的java做一个软链接。操作如下,
mv java java.org
ln -s /opt/IBMJava2-142/jre/bin/java ../009_ESE_LNX_32_NLV/db2/linux/java
做完以上工作之后,运行
../009_ESE_LNX_32_NLV目录下的db2setup
就可以起来图像界面了。
在 Linux 上安装 DB2 UDB 数据分区功能部件
http://www.bitscn.com/wap.php?action=article&id=27881
http://bbs.51cto.com/viewthread.php?action=printable&tid=5923
第 5 部分: IBM DB2 Universal Database
http://www.myfaq.com.cn/2005September/2005-09-15/208772.html

http://www.bitscn.com/wap.php?action=article&id=27881

http://blog.csdn.net/Explorerwen/archive/2006/05/21/747865.aspx

http://www.ibm.com/developerworks/cn/linux/linux-speed-start/l-ss3-db2/index.html
http://www.ibm.com/developerworks/cn/linux/linux-speed-start/l-ss4-db2/index.html
http://www-01.ibm.com/support/docview.wss?uid=csc1921ea746f29141c348256e61003df23e
[lindows@localhost /]$cd /home/lindows/soft/009_ESE_LNX_32_NLV/
[lindows@ 009_ESE_LNX_32_NLV /]$./db2setup



Windows DB2 9.5 or 9.7 安装 默认服务 启动 状态
C:\Documents and Settings\Lindows>net start
已经启动以下 Windows 服务:
DB2 - DB2COPY1 - DB2-0
DB2 - DB2COPY1 - DB2CTLSV-0
DB2 管理服务(DB2COPY1)
DB2 远程命令服务器(DB2COPY1)
DB2DAS - DB2DAS00

C:\Documents and Settings\Lindows>services.msc

自动-已启动 
DB2-0
DB2 - DB2COPY1 - DB2-0
允许应用程序创建、更新、控制和管理分区数据库系统中的单个数据库分区。
D:\PROGRA~1\IBM\SQLLIB\bin\db2syscs.exe

自动-已启动
DB2CTLSV-0
DB2 - DB2COPY1 - DB2CTLSV-0
允许应用程序创建、更新、控制和管理分区数据库系统中的单个数据库分区。
D:\PROGRA~1\IBM\SQLLIB\bin\db2syscs.exe

手动
DB2MGMTSVC_DB2COPY1
DB2 管理服务(DB2COPY1)
对于 DB2 副本 DB2COPY1,为了实现向后兼容性而管理 DB2 注册表项
"D:\Program Files\IBM\SQLLIB\BIN\db2mgmtsvc.exe"

手动
DB2GOVERNOR_DB2COPY1
DB2 控制器(DB2COPY1)
对于名为 DB2COPY1 的 DB2 副本,收集与 DB2 数据库相连接的应用程序的统计信息。
"D:\Program Files\IBM\SQLLIB\BIN\db2govds.exe"

自动-已启动
DBLICD_DB2COPY1
DB2 许可证服务器(DB2COPY1)
对于名为 DB2COPY1 的 DB2 副本,监视 DB2 许可证一致性。
"D:\Program Files\IBM\SQLLIB\BIN\db2licd.exe"

自动-已启动
DB2ERMOTECMD_DB2COPY1
DB2 远程命令服务器(DB2COPY1)
支持对 DB2 副本 DB2COPY1 执行远程 DB2 命令。
"D:\Program Files\IBM\SQLLIB\BIN\db2rcmd.exe"

自动-已启动
DB2DAS00
DB2DAS - DB2DAS00
支持本地和远程数据库管理请求。
"D:\Program Files\IBM\SQLLIB\\bin\db2dasrrm.exe"
D:\Program Files\MyEclipse 6.6\eclipse\eclipse.exe
MyEclipse Database Explorer for db2 9.5
Driver template:IBM DB2(Universal driver)
Diver name:172.17.25.112_sample
Connection URL:jdbc:db2://172.17.25.112:50000/sample
User name:db2admin
Password:db2admin
Driver JARs:
(from>>>D:\Program Files\IBM\SQLLIB\java)
(from>>>E:\program\database\db2\db2_driver\driver9.5)
        db2jcc.jar
        db2jcc_license_cisuz.jar
        db2jcc_license_cu.jar
Driver classname:com.ibm.db2.jcc.DB2Driver
D:\Program Files\MyEclipse 6.6\eclipse\eclipse.exe
myeclipse--tomcat连接db2的问题
http://reeboo.iteye.com/blog/259018

配置了myeclipse中的tomcat 5发布后,启动myeclipse中的tomcat,提示 com.icss.j2ee.services.DBConnectionLocatorException: Cannot create JDBC driver of class 'COM.ibm.db2.jdbc.app.DB2Driver'

而直接启动tomcat,反而可以启动

查了很多资料,终于找到解决方式

type2连接方式:
/IBM/SQLLIB/BIN/db2jdbc.dll拷贝到当前应用所使用的jdk的bin目录下即可

type4连接方式:
驱动用 db2jcc.jar
数据库编码必须为UTF-8



http://user.qzone.qq.com/170475387/blog/94

db2 分页


各种主流数据库的分页写法 as400分页

http://hfkiss44.iteye.com/blog/567151

DB2的主要用到函数row_number() over()进行处理。

select * from ( select row_number() over() row, tmp.* from (select * from user ) tmp) where row>=40 and row<=50
这样的sql,即可取出用户表中第40-50条记录。

SQL0286N 找不到页大小至少为 "8192"、许可使用授权标识 "DB2ADMIN" 的缺省表空间。 SQLSTATE=42727

http://firefly.iteye.com/blog/351344


db2 list tablespaces show detail

页大小(以字节计) = 4096

默认的表空间是page size 是4096,所以需要加大 page size

说明:

数据库管理器中表的行长度不能超过:
* 在具有 4K 页大小的表空间中,是 4005 字节
* 在具有 8K 页大小的表空间中,是 8101 字节。
* 在具有 16K 页大小的表空间中,是 16293 字节。
* 在具有 32K 页大小的表空间中,是 32677 字节。


db2 =>create tablespace jbpm pagesize 16k managed by database using (file 'C:\DB2\data\jbpm' 10000)

SQL1582N 表空间 "JBPM" 的 PAGESIZE 和与该表空间相关联的缓冲池 "IBMDEFAULTBP"
的 PAGESIZE 不匹配。 SQLSTATE=428CB


CREATE TABLESPACE默认使用的BUFFERPOOL IBMDEFAULTBP的PAGESIZE是4K,建一个非4K PAGESIZE的表空间时,需要先创建一个相同大小PAGESIZE的缓冲池,然后使用这个缓冲池。

SQL0286N  找不到页大小至少为 "32768"、许可使用授权标识 "DB2ADMIN"

所以16293的bufferpool还不够,page size还需要加到32768

db2=>create bufferpool bp34k size 1000 pagesize 32768

db2=>create tablespace jbpm2 pagesize 32768 managed by database using (file 'C:\DB2\data\jbpm2' 10000) bufferpool bp34k

IBM 基本许可:
“无保证软件的国际许可协议”第一部分中的以下条款不适用于:权利证明、退款保证、程序转让和费用。
警告 :您目前所在的国家或地区可能会限制加密软件的进口、拥有和使用,或将加密软件再次出口到其他国家。在下载任何加密软件之前,请查阅您所在国家或地区关于进口、拥有或使用以及再次出口加密软件的法律、规章和政策,以了解这一行为是否被允许。
D/N: L-SVAY-6MWPED
P/N: L-SVAY-6MWPED
IBM 用户名: siemens800@msn.com 密码: ********
­
DB2 Express-C
­
db2exc_912_WIN_x86.zip DB2
­
http://www.mydb2.cn/

mydb.sql

CREATE DATABASE MYDB ON D: ALIAS M WITH "lindows db2";
CONNECT TO M;
CALL sysinstallobjects('policy', 'C', null, null);
--以下命令使用文件 D:\policy20080719094513.xml。
CALL POLICY_INSTALLOC('U', 'DB2CommonMED', 'NOP', 'CommonPolicy', 'D:\policy20080719094513.xml ');
CONNECT RESET;
UPDATE DB CFG FOR M USING AUTO_MAINT ON;
UPDATE DB CFG FOR M USING AUTO_TBL_MAINT ON;
UPDATE DB CFG FOR M USING AUTO_RUNSTATS ON;
UPDATE DB CFG FOR M USING AUTO_REORG ON;
UPDATE DB CFG FOR M USING AUTO_DB_BACKUP ON;
UPDATE ALERT CFG FOR DATABASE ON M USING db.db_backup_req SET THRESHOLDSCHECKED YES;
UPDATE ALERT CFG FOR DATABASE ON M USING db.tb_reorg_req SET THRESHOLDSCHECKED YES;
UPDATE ALERT CFG FOR DATABASE ON M USING db.tb_runstats_req SET THRESHOLDSCHECKED YES;

policy20080719094513.xml

<?xml version="1.0" encoding="UTF-8"?>
<PolicyDocument medScope="DefaultMaintWindow" xmlns="http://www.ibm.com/xmlns/prod/db2/autonomic/policylang" xmlns:db2="http://www.ibm.com/xmlns/prod/db2/autonomic/policy" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/db2/autonomic/policy../schema/DB2TableMaintenanceMED.xsd"><PreconditionSection name="CommonMaintWindowPolicySection"><Precondition policyElementId="online_mw"><db2:MaintenanceWindowCondition timeZone="local" windowType="online"><MonthOfYearMask>111111111111</MonthOfYearMask><DayOfMonthMask>11111111111111111111111111111111111111111111111111111111111111</DayOfMonthMask><TimeOfDayMask>T000000/T235959</TimeOfDayMask></db2:MaintenanceWindowCondition></Precondition><Precondition><db2:MaintenanceWindowCondition timeZone="local" windowType="offline"><MonthOfYearMask>111111111111</MonthOfYearMask><DayOfMonthMask>11111111111111111111111111111110000000000000000000000000000000</DayOfMonthMask><DayOfWeekMask>1111111</DayOfWeekMask><TimeOfDayMask>T000000/T050000</TimeOfDayMask></db2:MaintenanceWindowCondition></Precondition></PreconditionSection><PolicySection name="f"></PolicySection></PolicyDocument>


DB2常用命令大全

http://paodekuai.itpub.net/post/1196/197463

1. 建立数据库DB2_GCB
CREATE DATABASE DB2_GCB ON G: ALIAS DB2_GCB
USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM DFT_EXTENT_SZ 32
2. 连接数据库
connect to sample1 user db2admin using 8301206
3. 建立别名
create alias db2admin.tables for sysstat.tables;
CREATE ALIAS DB2ADMIN.VIEWS FOR SYSCAT.VIEWS
create alias db2admin.columns for syscat.columns;
create alias guest.columns for syscat.columns;
4. 建 立表
create table zjt_tables as
(select * from tables) definition only;
create table zjt_views as
(select * from views) definition only;
5. 插入记录
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;
7. 建立触发器
CREATE TRIGGER zjt_tables_del
AFTER DELETE ON zjt_tables
REFERENCING OLD AS O
FOR EACH ROW MODE DB2SQL
Insert into zjt_tables1 values(substr(o.tabschema,1,8),substr(o.tabname,1,10))
8. 建立唯一性索引
CREATE UNIQUE INDEX I_ztables_tabname
ON zjt_tables(tabname);
9. 查看表
select tabname from tables
where tabname='ZJT_TABLES';
10. 查看列
select SUBSTR(COLNAME,1,20) as 列名,TYPENAME as 类型,LENGTH as 长度
from columns
where tabname='ZJT_TABLES';
11. 查看表结构
db2 describe table user1.department
db2 describe select * from user.tables
12. 查看表的索引
db2 describe indexes for table user1.department
13. 查看视图
select viewname from views
where viewname='V_ZJT_TABLES';
14. 查看索引
select indname from indexes
where indname='I_ZTABLES_TABNAME';
15. 查看存贮过程
SELECT SUBSTR(PROCSCHEMA,1,15),SUBSTR(PROCNAME,1,15)
FROM SYSCAT.PROCEDURES;
16. 类型转换(cast)
ip datatype:varchar
select cast(ip as integer)+50 from log_comm_failed
17. 重新连接
connect reset
18. 中断数据库连接
disconnect db2_gcb
19. view application
LIST APPLICATION;
20. kill application
FORCE APPLICATION(0);
db2 force applications all (强迫所有应用程序从数据库断开)
21. lock table
lock table test in exclusive mode
22. 共享
lock table test in share mode
23. 显示当前用户所有表
list tables
24. 列出所有的系统表
list tables for system
 25. 显示当前活动数据库
list active databases
26. 查看命令选项
list command options
27. 系统数据库目录
LIST DATABASE DIRECTORY
28. 表空间
list tablespaces
29. 表空间容器
LIST TABLESPACE CONTAINERS
一、常用命令 1. 建立数据库DB2_GCB
CREATE DATABASE DB2_GCB ON G: ALIAS DB2_GCB
USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM DFT_EXTENT_SZ 32
2. 连接数据库
connect to sample1 user db2admin using 8301206
3. 建立别名
create alias db2admin.tables for sysstat.tables;
CREATE ALIAS DB2ADMIN.VIEWS FOR SYSCAT.VIEWS
create alias db2admin.columns for syscat.columns;
create alias guest.columns for syscat.columns;
4. 建 立表
create table zjt_tables as
(select * from tables) definition only;
create table zjt_views as
(select * from views) definition only;
5. 插入记录
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;
7. 建立触发器
CREATE TRIGGER zjt_tables_del
AFTER DELETE ON zjt_tables
REFERENCING OLD AS O
FOR EACH ROW MODE DB2SQL
Insert into zjt_tables1 values(substr(o.tabschema,1,8),substr(o.tabname,1,10))
8. 建立唯一性索引
CREATE UNIQUE INDEX I_ztables_tabname
ON zjt_tables(tabname);
9. 查看表
select tabname from tables
where tabname='ZJT_TABLES';
10. 查看列
select SUBSTR(COLNAME,1,20) as 列名,TYPENAME as 类型,LENGTH as 长度
from columns
where tabname='ZJT_TABLES';
11. 查看表结构
db2 describe table user1.department
db2 describe select * from user.tables
12. 查看表的索引
db2 describe indexes for table user1.department
13. 查看视图
select viewname from views
where viewname='V_ZJT_TABLES';
14. 查看索引
select indname from indexes
where indname='I_ZTABLES_TABNAME';
15. 查看存贮过程
SELECT SUBSTR(PROCSCHEMA,1,15),SUBSTR(PROCNAME,1,15)
FROM SYSCAT.PROCEDURES;
16. 类型转换(cast)
ip datatype:varchar
select cast(ip as integer)+50 from log_comm_failed
17. 重新连接
connect reset
18. 中断数据库连接
disconnect db2_gcb
19. view application
LIST APPLICATION;
20. kill application
FORCE APPLICATION(0);
db2 force applications all (强迫所有应用程序从数据库断开)
21. lock table
lock table test in exclusive mode
22. 共享
lock table test in share mode
23. 显示当前用户所有表
list tables
24. 列出所有的系统表
list tables for system
 25. 显示当前活动数据库
list active databases
26. 查看命令选项
list command options
27. 系统数据库目录
LIST DATABASE DIRECTORY
28. 表空间
list tablespaces
29. 表空间容器
LIST TABLESPACE CONTAINERS FOR
Example: LIST TABLESPACE CONTAINERS FOR 1
30. 显示用户数据库的存取权限
GET AUTHORIZATIONS
31. 启动实例
DB2START
32. 停止实例
db2stop
33. 表或视图特权
grant select,delete,insert,update on tables to user
grant all on tables to user WITH GRANT OPTION
34. 程序包特权
GRANT EXECUTE
ON PACKAGE PACKAGE-name
TO PUBLIC
35. 模式特权
GRANT CREATEIN ON SCHEMA SCHEMA-name TO USER
36. 数据库特权
grant connect,createtab,dbadm on database to user
37. 索引特权
grant control on index index-name to user
38. 信息帮助 (? XXXnnnnn )
例:? SQL30081
39. SQL 帮助(说明 SQL 语句的语法)
help statement
例如,help SELECT
40. SQLSTATE 帮助(说明 SQL 的状态和类别代码)
? sqlstate 或 ? class-code
41. 更改与"管理服务器"相关的口令
db2admin setid username password
42. 创建 SAMPLE 数据库
db2sampl
db2sampl F:(指定安装盘)
43. 使用操作系统命令
! dir
44. 转换数据类型 (cast)
SELECT EMPNO, CAST(RESUME AS VARCHAR(370))
FROM EMP_RESUME
WHERE RESUME_FORMAT = 'ascii'
45. UDF
要运行 DB2 Java 存储过程或 UDF,还需要更新服务器上的
DB2 数据库管理程序配置,以包括在该机器上安装 JDK 的路径
db2 update dbm cfg using JDK11_PATH d:sqllibjavajdk
TERMINATE
update dbm cfg using SPM_NAME sample
46. 检查 DB2 数据库管理程序配置
db2 get dbm cfg
47. 检索具有特权的所有授权名
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'DATABASE' FROM SYSCAT.DBAUTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'TABLE ' FROM SYSCAT.TABAUTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'PACKAGE ' FROM SYSCAT.PACKAGEAUTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'INDEX ' FROM SYSCAT.INDEXAUTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'COLUMN ' FROM SYSCAT.COLAUTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'SCHEMA ' FROM SYSCAT.SCHEMAAUTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'SERVER ' FROM SYSCAT.PASSTHRUAUTH
ORDER BY GRANTEE, GRANTEETYPE, 3
create table yhdab
(id varchar(10),
password varchar(10),
ywlx varchar(10),
kh varchar(10));
create table ywlbb
(ywlbbh varchar(8),
ywmc varchar(60))
48. 修改表结构
alter table yhdab ALTER kh SET DATA TYPE varchar(13);
alter table yhdab ALTER ID SET DATA TYPE varchar(13);
alter table lst_bsi alter bsi_money set data type int;
insert into yhdab values
('20000300001','123456','user01','20000300001'),
('20000300002','123456','user02','20000300002');
49. 业务类型说明
insert into ywlbb values
('user01','业务申请'),
('user02','业务撤消'),
('user03','费用查询'),
('user04','费用自缴'),
('user05','费用预存'),
('user06','密码修改'),
('user07','发(和谐符)票打印'),
('gl01','改用户基本信息'),
('gl02','更改支付信息'),
('gl03','日统计功能'),
('gl04','冲帐功能'),
('gl05','对帐功能'),
('gl06','计费功能'),
('gl07','综合统计')
二. 目录视图说明
说明 目录视图
检查约束 SYSCAT.CHECKS
列 SYSCAT.COLUMNS
检查约束引用的列 SYSCAT.COLCHECKS
关键字中使用的列 SYSCAT.KEYCOLUSE
数据类型 SYSCAT.DATATYPES
函数参数或函数结果 SYSCAT.FUNCPARMS
参考约束 SYSCAT.REFERENCES
模式 SYSCAT.SCHEMATA
表约束 SYSCAT.TABCONST
表 SYSCAT.TABLES
触发器 SYSCAT.TRIGGERS
用户定义函数 SYSCAT.FUNCTIONS
视图 SYSCAT.VIEWS
三. 字符串类型
二进制大对象 (BLOB) 字符串。
字符大对象 (CLOB) 字符串,它的字符序列可以是单字节字符或多字节字符,
或这两者的组合。
双字节字符大对象 (DBCLOB) 字符串,它的字符序列是双字节字符。
四. 数据库范式
第一种规范形式:表中的每一行和每一列均有一个值,永远不会是一组值。
第二种规范形式:不在关键字中的每一列提供取决于整个关键字的事实。
第三种规范形式:每个非关键字列提供与其他非关键字列无关并只取决于该关键字的事实。
第四种规范形式:没有行包含有关一个实体的两个或更多个独立的多值事实。
五. 数据类型
数据类型 类型 特性 示例或范围
CHAR(15) 定长字符串 最大长度为 254 'Sunny day '
VARCHAR(15) 变长字符 最大长度为 4000 'Sunny day'
SMALLINT 数字 长度为 2 字节精度为 5 位范围为-32768 至 32767
INTEGER 数字 长度为 4 字节精度为 10 位范围为-2147483648 至 2147483647
REAL 数字 单精度浮点32 位近似值 范围为-3.402E+38至-1.175E-37或
1.175E-37 至-3.402E+38或零
DOUBLE 数字 双精度浮点64 位近似值 范围为-1.79769E+308
至-2.225E-307或 2.225E-307 至 1.79769E+308或零
DECIMAL(5,2) 数字 精度为 5小数位为 2 范围为 -10**31+1 至 10**31-1
DATE 日期时间 三部分值 1991-10-27
TIME 日期时间 三部分值 13.30.05
TIMESTAMP 日期时间 七部分值 1991-10-27-13.30.05.000000
六. 列函数
列函数对列中的一组值进行运算以得到单个结果值。下列就是一些列函数的示例。
AVG
返回某一组中的值除以该组中值的个数的和
COUNT
返回一组行或值中行或值的个数
MAX
返回一组值中的最大值
MIN
返回一组值中的最小值
七. 标量函数
标量函数对值进行某个运算以返回另一个值。
下列就是一些由DB2 通用数据库提供的标量函数的示例。
ABS
返回数的绝对值
HEX
返回值的十六进制表示
LENGTH
返回自变量中的字节数(对于图形字符串则返回双字节字符数。)
YEAR
抽取日期时间值的年份部分

db2新能调整相关命令

http://reeboo.iteye.com/blog/265455

http://dev.misuland.com/20081013/1223885716914.html

IBM DB2数据库性能调整命令:
查看执行计划:
db2expln:
db2expln -d dbname -c pkgOwner -p pkgNmae -o expln.out
dynexpln:
dynexpln -d eos -q "select * from eosmenu" -g -t
dynexpln -d eos -f query.sql -o out.txt

更新统计信息:
runstats:
db2 runstats on table songxn.eosmenu and indexs songxn.ix1,songxn.ix2 allow read access
db2 runstats on table songxn.eosmenu with distribution and detailed index all

调整优化等级:
(0,1,2,3,5,7,9):
更改DFT_QUERYOPT(db cfg), 默认为5
SQL:set current query optimization = 3
索引:

建立索引:
create unique index ind1 on vicky.staff ( dept, lastname )
create unique index ind2 on vicky.emplyee ( empno ) include ( lastname, salary)
include中的字段不列入排序范围

丛集索引:
记录与索引的顺序一致
cretae index ind3 on vicky.staff ( dept ) CLUSTER

SCAN MODE:
Index Scan,Full Index Scan(Index only Access),Relation Scan

查询索引:
select indname from syscat.indexes where tabname='customer'

索引建议器:
db2advis -d dbname -i query.sql | -s "sql stmt" -o advis.out

在数据页中预留空间:
alter table vicky.staff PCTFREE 30(预留30%)
load from staff.ixf of ixf modified by pagefreespace=30 replace into vicky.staff
缓冲池与IO
默认为IBMDEFAULTBP

新建缓冲池:
db2 create bufferpool bpname size 1000 pagesize 4k
alter tablespace tbname bufferpool bpname
当脏页超过CHNGPGS_THRESH(%,db cfg)时,缓冲池将被清空并写回

延展缓冲池:
ESTORE_SEG_SZ& NUM_ESTORE_SEGS(db cfg)
db2 alter bufferpool ibmdefaultbp [ not ] extended storage

I/O SERVER:
NUM_IOSERVERS(db cfg):一般为磁盘数+2

数据重整:
REORGCHK:
db2 reorgchk update statistics on table all 该语句也用来对所有表做RUNSTATS
db2 reorgchk current statistics on table vicky.staff

table statistics:
CARD:记录笔数
OV(ERFLOW)overflow的记录数
NP(AGES):含有记录的页数
FP(AGES):表格占用的总页数
TSIZE(Bytes):表格大小

index statistics:
LEAF:leaf page数
ELEAF:空叶数
NDEL:被删除的RID数
LVLS:索引层级数
ISIZE:索引平均长度
KEYS:不同的索引值的个数

表格重整:
db2 reorg table vicky.staff index ind1 use tempspace2 indexscan

索引重整:
db2 reorg indexes all for table vicky.staff _options_
options:allow read|write|no access, cleanup only pages|all(不重建索引结构,只回收空索引页)

联机表格重整(V8+):
db2 reorg table vicky.staff index vicky.ind2 inplace allow write access
db2 reorg table vicky.staff index vicky.ind2 inplace pause|resume
db2 list history reorg all for dbname
MQT
MQT:
建立MQT:
CREATE TABLE vicky.mqt1 AS
(  SELECT name, location, salary
FROM vicky.staff, vicky.org
WHERE staff.dept=org.deptnumb AND salary>20000
)  DATA INITIALLY DEFERRED REFRESH DEFERRED|IMMEDIATE
ENABLE|DISABLE QUERY OPTIMIZATION
REFRESH TABLE vicky.mqt1

利用MQT:
RUNSTATS ON TABLE vicky.mqt1
UPDATE DB CFG FOR sample USING DFT_REFRESH_AGE ANY

并行处理

设置并行处理:
UPDATE DBM CFG USING INTRA_PARALLEL YES
UPDATE DB CFG FOR EOS USING DFT_DEGREE ANY

并行处理上限:
应用级:
SET RUNTIME DEGREE FOR ( 25 ) TO 4
SET RUNTIME DEGREE FOR ALL TO 6
实例级:
UPDATE DBM CFG USING MAX_QUERYDEGREE 6


MDC表:
CREATE TABLE vicky.sales
( YearAndMonth CHAR(4),
Region CHAR(20),
Product CHAR(2),
Sales BIGINT
) ORGANIZE BY DIMENSIONS ( YearAndMonth, Region )
CREATE TABLE vicky.table1
( col1 CHAR(10),
col2 CHAR(10),
col3 CHAR(10),
col4 INTEGER,
col5 DECIMAL(10,2),
) ORGANIZE BY DIMENSIONS ( col1, ( col2, col3 ),col4 )

表压缩

http://weiruan85.iteye.com/blog/333491

db2 分区特性转载

http://weiruan85.iteye.com/blog/307213

表 1. DB2 特性
CREATE TABLE 语句中的子句 DB2 特性名称
DISTRIBUTE BY HASH DPF —— 数据库分区特性
ORGANIZE BY DIMENSION MDC —— 多维聚类
PARTITION BY RANGE TP —— 表分区
您可以任意组合使用这些子句,以达到期望的效果。表 2 总结了与这些特性相关的术语,本文中用到的其他一些特性也列在下面。
表 2. DB2 特性术语
DB2 特性名称 一部分的名称 用于分区数据的列 其他术语
数据分区特性(Data Partitioning Feature,DPF) 数据库分区 分布键(distribution key) 在之前的版本中,分布键被称做分区键
多维聚类(Multidimensional Clustering,MDC) 单元格,由一些块组成 维 块索引
表分区(TP) 数据分区 表分区键 

DB2 730认证学习笔记(一)

http://jythoner.iteye.com/blog/349663

第一章 DB2规划
1.Your ability to identify the products that make up the DB2 Family
DB2 Everyplace

【移动硬盘】

G:\ibm_soft\DB2\[IBM.DB2.企业版.For.Linux].IBM.DB2.Enterprise.Edition.v8.2.Linux.bin

G:\ibm_soft\DB2\[IBM.DB2.企业版.For.Linux].IBM.DB2.Enterprise.Edition.v8.2.Linux.cue
DB2 Everyplace主要用于移动设备,能够与其他系统(DB2 9, Informix, Oracle, Sybase, and Microsoft SQL Server)进行数据同步。


DB2 Personal Edition
DB2 Personal Edition是单用户 RDBMS。DB2 Personal 支持Windows 和 Linux 系统。DB2 Personal 包含 DB2 Express 的所有特性,但是不能用客户端连接服务器。

DB2 Express - C
DB2免费版,可以用于Linux和Windows系统。用于学习。

DB2 Express Edition
DB2 Express Edition(DB2 Express)是一种功能全面的支持 Web 的客户机/服务器 RDBMS。DB2 Express 可以用于Windows 和 Linux 系统。
最多支持2个CPU,4G内存。

DB2 Workgroup Edition
DB2 Workgroup Edition(DB2 Workgroup)是一种功能全面的支持 Web 的客户机/服务器 RDBMS。它可以用于所有支持的 UNIX 版本、Linux 和 Windows。DB2 Workgroup主要用于小型企业和部门的计算任务。
最多支持4个CPU,16G内存。

DB2 Enterprise Edition
DB2 Enterprise Edition(DB2 Enterprise)是一种功能全面的支持 Web 的客户机/服务器 RDBMS。它可以用于所有支持的 UNIX 版本、Linux 和 Windows。DB2 Enterprise 适合作为大型和中型的部门服务器。
CPU内存无限制。

Data Enter

原文地址:https://www.cnblogs.com/lindows/p/14390648.html