DB2培训内容
DB2培训

数据操作语言(DML)
SELECT 语句用于检索表或视图数据。要限制结果集中 的行数,请使用 FETCH FIRST 子句。使用 DISTINCT 子句来消除结果集中重复的行。
使用 DECLARE 语句生成新的数据库对象 DECLARE 语句与 CREATE 语句是类似的,只有一点例
外,用它所创建的是只能在数据库连接期间存在的临 时表。 当您要用到中间结果时,临时表挺有用的。
当您声明临时表时,不会更新LOBAL TEMPORARY TABLE
SMS 表空间需要的维护很少。然而,SMS 表空间提供 的优化选项较少,并且性能也许不及 DMS 表空间。
结构化查询语言(SQL)
大多数 SQL 语句包含一个或多个下列语言元素:
– 字符:单字节字符可以是一个字母)、一个数字或一个特殊
字符
– 标记:标记是一个或多个字符的序列。标记不能包含空格,
除非它是定界标识符或字符串常量。
1. 在 DYNAMIC RESULT SETS 子句中声明 SQL 过 程要返回的结果集的数量。
2. 对于将要返回的每个结果集,在过程主体中(使用 WITH RETURN FOR 子句)声明一个游标
(cursor)。游标是一个命名的控制结构,应用程
序用它来指向一个有序行集合中的某一特定行。游 标用于从集合中检索行。
CLIENT USERID
CURRENT QUERY PTIMIZATION
CLIENT WRKSTNNAME
CURRENT DATE
CURRENT REFRESH AGE CURRENT SCHEMA
DB2培训文档

© 2006 IBM公司
IBM 软件部 | DB2 信息管理软件
定位删除:
语法:delete from [table name|view name] where current of <cursor-name>
create procedure cleanup_act ( in p_date date , out p_deleted int ) language sql specific cleanup_act -- applies to luw and iseries ca: begin declare v_date date; declare sqlstate char(5); declare c_emp cursor for -- (1) select emendate from emp_act for update; open c_emp; fetch from c_emp into v_date; set p_deleted = 0; while ( sqlstate = '00000' ) do if ( v_date < p_date ) then delete from emp_act where current of c_emp; -- (2) set p_deleted = p_deleted + 1; end if; fetch from c_emp into v_date; end while; close c_emp; end ca
db2基础培训[1]
![db2基础培训[1]](https://img.taocdn.com/s3/m/56ff12e6f01dc281e53af0db.png)
分区数据库home目录
•一个实例映射到一个操作系统用户,拥有自己的主目录。 •每台分区的机器上单独创建的所有实例都必须使用相同的名称 和口令 •所有实例的主目录必须是相同的目录,这个目录必须在一个共享磁盘(NFS 共享)上创建 •DB2实例属主机器
db2基础培训[1]
数据库分区
存放在文件 default.env 中,该文件位于 /var 下的一个子目录中。对于每台机器,都存在该文件的一
个不同的本地副本。
/var/db2/v81/default.env
db2set –all :
[g]
•实例级概要注册表-分区共享
db2set –all :
[I]
db2set –lr
db2set DB2COMM=tcpip
对象管理 空间分配 管理方便 程度 使用限制
容器类型
性能
SMS
.操作系统 .需要时动态增长 .很少需要人工管理 .容器大小随文件系统增加 .数据和索引必须在同一表空间 .容器不能增加 .只有一种容器:目录
.动态扩展,略差于DMS
DMS
.数据库
.预分配
.需要人工指定一些参数,例如定义容器大小等 .可通过增加容器建立大容量的表空间
db2基础培训[1]
ACTIVE - Contains information for non-committed or non-externalized transactions
14
15
16
数据迁移工具
• EXPORT-将表中数据导出成文件 • IMPORT-将文件中数据导入表 • LOAD-将文件中数据导入表 • DB2MOVE-数据库迁移 • DB2LOOK-导出数据库对象
DB2数据库管理培训教程

11
db2pd常用方法
用途一 抓取锁信息,进行分析 db2pd –d dbname –app –tran –agent –dyn –locks wait>db2pd.out 分析db2pd.out
第一步 --sts列 W表示等待 G代表被授权获得锁
12
第二步 由第一步输出中的TranHdl对应到应用的AppHandl。 得到TranHdl 2和6 分别对应到应用的AppHandl 30和34
第三步获得应用程序的更多信息
C-AnchID/C-StmtUID 和L-AnchID/L-StmtUID 上。“C” 代表当前 (current),“L” 代表最近(last)的语句 UID
13
第四步检查动态语句缓存的内容
经分析得出锁等待的语句为 UPDATE EMPLOYEE SET SALARY = SALARY * 0.02 拥有锁的APP的语句为 UPDATE EMPLOYEE SET BONUS = SALARY * 0.1 WHERE JOB = 'MANAGER'
29
崩溃恢复
从数据库日志控制文件中获取不一致起点信息,并根据日志内容对所有在 不一致起点后成功提交事务进行再应用,而对其他未完成的事务进行回滚,从 而把数据库带回可用、一致状态。
1.自动 - 数据库参数AUTORESTART=ON(缺省) 2.手动 - 数据库参数AUTORESTART=OFF。使用db2 restart database
2. 当前APP锁等待的APP
显示当前APP正在哪个APP执行,信息包括被等待的APP的所名称及级 别,持有锁的AGENT ID,根据AGENT ID可以得到被等待锁的APP所 对应的SQL,考虑进行SQL优化或表优化等相关操作
DB2数据库技术培训

商业智能技术培训DB2 UDB 数据库技术w w .f e n e t .c o m .c n目 录一、创建和访问DB2数据库 ------------------------------------------------------------------------------------- 1(一)、DB2 UDB 的组成 ----------------------------------------------------------------------------------- 11、数据库的逻辑、物理和性能特征 --------------------------------------------------------------- 12、DB2 存储模型 --------------------------------------------------------------------------------------- 13、表、索引、长字段和表空间 --------------------------------------------------------------------- 24、DMS 和 SMS 表空间 ----------------------------------------------------------------------------- 25、Buffer pools 的配置 --------------------------------------------------------------------------------- 3 (二)、创建数据库 ------------------------------------------------------------------------------------------- 51、创建数据库实际上创建了什么 ------------------------------------------------------------------ 62、数据库的位置 ---------------------------------------------------------------------------------------- 63、代码页和排列序列 ---------------------------------------------------------------------------------- 74、表空间的定义 ---------------------------------------------------------------------------------------- 75、CREATE DATABASE 实例 ----------------------------------------------------------------------- 8 (三)、给DB2数据库编制目录 -------------------------------------------------------------------------- 91、为什么要给数据库编制目录? ------------------------------------------------------------------ 92、在客户机编制目录 ---------------------------------------------------------------------------------- 93、使用发现的自动配置 ----------------------------------------------------------------------------- 104、使用访问概要文件的自动配置 ---------------------------------------------------------------- 105、手工配置 -------------------------------------------------------------------------------------------- 11二、创建DB2数据库对象 -------------------------------------------------------------------------------------- 11(一)、数据类型 -------------------------------------------------------------------------------------------- 111、数字型数据类型 ----------------------------------------------------------------------------------- 122、字符串型(String )数据类型 ------------------------------------------------------------------ 133、日期时间型(Datetime )数据类型 ----------------------------------------------------------- 144、数据链接型(Datalink ) ------------------------------------------------------------------------ 15 (二)、表 ------------------------------------------------------------------------------------------------------ 15 (三)、约束 --------------------------------------------------------------------------------------------------- 161、唯一性约束 ----------------------------------------------------------------------------------------- 162、引用完整性约束 ----------------------------------------------------------------------------------- 163、表检查约束 ----------------------------------------------------------------------------------------- 17 (四)、视图 --------------------------------------------------------------------------------------------------- 18 (五)、索引 --------------------------------------------------------------------------------------------------- 18 三、使用DB2图形化工具 -------------------------------------------------------------------------------------- 20(一)、使用 CCA 给数据库编制目录 ---------------------------------------------------------------- 20 (二)、使用Control Center 创建和操作DB2对象 ------------------------------------------------- 26 四、日志 -------------------------------------------------------------------------------------------------------------- 35(一)、为什么需要日志文件 ----------------------------------------------------------------------------- 35 (二)、日志的类型 ----------------------------------------------------------------------------------------- 361、循环日志 -------------------------------------------------------------------------------------------- 362、归档日志 -------------------------------------------------------------------------------------------- 37 (三)、日志管理配置参数 -------------------------------------------------------------------------------- 38 五、备份和恢复 ---------------------------------------------------------------------------------------------------- 39w w .f e n e t .c o m .c n(一)、备份数据库 ----------------------------------------------------------------------------------------- 39 (二)、恢复数据库 ----------------------------------------------------------------------------------------- 42 六、装入、导入和导出工具------------------------------------------------------------------------------------- 44(一)、使用Load ------------------------------------------------------------------------------------------- 44 (二)、使用Export ----------------------------------------------------------------------------------------- 45 (三)、使用Import ----------------------------------------------------------------------------------------- 46w w .f e n e t .c o m .c n一、创建和访问DB2数据库(一)、DB2 UDB 的组成1、数据库的逻辑、物理和性能特征DB2 数据库实际上由对象集合组成。
DB2-培训内容

2024/9/22
8
DB2 旳总体构造
2024/9/22
9
DB2 旳总体构造
DB2 Environment
DB2 Instance
DB2 DataBase
DB2 DataBase
DB2 Instance
DB2 DataBase
DB2 Environment (db2set)
DB2 Instance (db2i…)
DB2 培训内容纲要
DB2简介
DB2 产品简介 DB2 旳总体构造 DB2 连接
DB2 SQL
数据库对象操作(DDL+) 数据操作(DML) 高级SQL
DB2 管理
数据存储 系统维护 监控和优化
附录
2024/9/22
1
DB2 产品简介
2024/9/22
2
DB2 产品简介
2024/9/22
2024/9/22
19
DB2 SQL
RETRIEVING DATA(查询)
Retrieving the Entire Table Projecting Columns from a Table Changing the Order of the Columns Restricting Rows from a Table Limiting Result Table Size Selecting Columns from Multiple Tables Using Correlation Names DB2 Functions(Row、Column) Subquery(子查询)
DB2 DataBase(db)
2024/9/22
10
DB2 连接
2024/9/22
DB2数据库培训教材

Copyright © 2006 Sihitech Co. - All Rights Reserved
北京宇信鸿泰软件技术有限公司
DB2 安装
选择“下一步”。
Copyright © 2006 Sihitech Co. - All Rights Reserved
北京宇信鸿泰软件技术有限公司
DB2 安装
Copyright © 2006 Sihitech Co. - All Rights Reserved
北京宇信鸿泰软件技术有限公司
恢复数据库到本地
从开始菜单上选择“开始->IBM DB2->命令行工具->命令窗 口”,并切换到E:\crmdb目录下。 执行“db2 -tf crmcs_rr2.sql”。
北京宇信鸿泰软件技术有限公司
DB2 概述
DB2是IBM公司的一个关系型数据库产品。 DB2可以运行在AS400、S390、UNIX、Windows等平台上。 DB2的手册、参考等文档可以从IBM的官方网站下载。 在建行OCRM项目中,因为该项目所使用工作流软件S1的原 因,数据库产品选择了DB2。
北京宇信鸿泰软件技术有限公司
DB2 安装
接受默认值。选择“下一步”。
Copyright © 2006 Sihitech Co. - All Rights Reserved
北京宇信鸿泰软件技术有限公司
DB2 安装
接受默认值。选择“下一步”。
Copyright © 2006 Sihitech Co. - All Rights Reserved
北京宇信鸿泰软件技术有限公司
DB2 安装
新员工培训--DB2数据库基础

面向成功
开放交流
协作创新
价值提升
SQL介绍—SQL基础—delete delete
删除表中符合条件的记录
语法:DELETE FROM 表名称 where …;
面向成功
开放交流
协作创新
价值提升
SQL介绍—SQL基础—select select
查询表中符合条件的记录
语法:SELECT 字段1,… FROM 表名称 where …;
连表查询
內连接 join,inner join select a.*,b.* from a join b on a.字段1=b.字段1 where … 结果:a表、b表中都存在的记录。 外连接 左外连 left join ,left outer join select a.*,b.* from a left outer join b on a.字段=b.字段 结果:a表记录都保留 右外联 right join ,right outer join select a.*,b.* from a right outer join b on a.字段=b.字段 结果:b表记录都保留 面向成功 开放交流 协作创新 价值提升
随需应变
快速构建
卓越品质
成就你我
2013中创软件新员工培训
DB2数据库基础
中创软件
2013年7月
培训提纲
一、DB2 数据库的构成
二、SQL介绍 三、DB2的安装 四、操作练习
面向成功
开放交流
协作创新
价值提升
DB2构成—什么是数据库系统 数据库系统是由数据库及其管理软件组成的系统。
数据库
存储在计算机内的、有组织、可共享的数据集合。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库对象的大小写 Union和union all Syscat schema:tables,views 等等
中软国际 DB2 培训 30
2019/2/24
附录
技巧和注意事项
使用临时表
临时表只能建在user tempory tables space上 临时表是在一个session内有效的 建临时表时最好加上 with replace选项
3.
2019/2/24
中软国际 DB2 培训
36
快速清除一个大表
ALTER TABLETABLE_NAME ACTIVE NOT LOGGED INITALLY WITH EMPTYTABLE
2019/2/24
中软国际 DB2 培训
29
附录
技巧和注意事项
SYSIBM.SYSDUMMY1和Values Current date、current timestamp 执行DB2的脚本文件
中软国际 DB2 培训
7
DB2 产品介绍
DB2常用工具
CLP(命令行处理器) Control Center (控制中心) Command Center (命令中心) Visual Explain (图形化sql解释器) Advisors and Wizards (建议和向导) Replication Center (复制中心) Task Center (任务中心) License Center (授权中心) Development Center (开发中心) Health Center (健康中心) ……(其他,比如Event Analyzer 等)
4.
请编写一个满足上述需求的完整脚本实现(提示:包括一个bat文 件和一个或者多个sql脚本文件)
中软国际 DB2 培训 34
2019/2/24
思考和练习
2. 1. 问题2 已知:接上题,在stmadc数据库上,发现查询K表 (K_BS_Y_Q_M_P_D_ALL,数据量100万左右)时速度很慢,当 时使用查询sql为:SELECT * FROM K_BS_Y_Q_M_P_D_ALL WHERE Y=2005 AND M=6 AND D=23 ORDER BY Q,P DESC。 问题: 你认为上述查询速度慢的所有可能原因有哪些? 针对每一个可能的原因,如何改进? 如何判断速度慢具体是哪些原因导致的? 如何确认改进的效果?
Grant revoke
2019/2/24
中软国际 DB2 培训
23
DB2 管理
2019/2/24
中软国际 DB2 培训
24
DB2 管理
数据存储
表空间
SMS DMS Regular Large System Temporary User Temporary
容器
File Device Directory
1. 2. 3.
3.
在你机器上建立指向该数据库的本地名 从本地连接到该数据库 生成如下几个结果文件: 1. 192.9.100.23上所有的DB2环境变量的值(23env.log) 2. “db2”实例的所有配置参数(23instance.log) 3. Stmadc数据库的所有配置参数(23stmadc.log) 4. 用一个sql语句查出Stmadc数据库上所有普通表的总个数、所有 视图的总个数,以及所有summaryTable的总个数 (23stmadcTab.log)
Views Indexes Schemas Table spaces Buffer pools Packages Triggers Stored procedures Transactions Locks Log files
中软国际 DB2 培训 16
2019/2/24
DB2 SQL
Data Definition Language (DDL)
CREATE <database object>.... ALTER <database object>.... DROP <database object>.... DECLARE <database object>....
2019/2/24
中软国际 DB2 培训
17
DB2 SQL
Data Manipulation Language (DML)
RETRIEVING DATA INSERTING DATA UPDATING DATA DELETING DATA --增、删、改、查
2019/2/24
中软国际 DB2 培训
18
DB2 SQL
RETRIEVING DATA(查询)
SELECT (*;A,B;A+B AS A;VALUE(A);SUM(C)) FROM (TEST;TEST A;) WHERE (=,<,>;IN, LIKE,IS, NOT,EXISTS) GROUP BY (A,B) HAVING (SUM(C) > 100) ORDER BY A,B WITH UR
自动生成的ID(DEFAULT,ALWAYS,一个) 指定隔离级别
Select with CS|RR|RS|UR db2 change isolation to CS|RR|RS|UR(只有没有连 接数据库时可以这样来改变隔离级别)
DB2SET DB2_SQLROUTINE_PREPOPTS=CS|RR|RS|UR
DB2 培训内容纲要
DB2介绍
DB2 产品介绍 DB2 的总体结构 DB2 连接
DB2 SQL
数据库对象操作(DDL+DCL) 数据操作(DML) 高级SQL 数据存储 系统维护 监控和优化
DB2 管理
附录
2019/2/24 中软国际 DB2 培训 1
DB2 产品介绍
2019/2/24
2019/2/24
中软国际 DB2 培训
31
附录
参考资料
Db2 sql reference(pdf) Command Reference(pdf) ibm developer works(/developerworks/cn/db2/) 其它网站(如csdn,chinaunix,google等)
2019/2/24 中软国际 DB2 培训 10
DB2 连接
2019/2/24
中软国际 DB2 培训
11
DB2 连接
2019/2/24
中软国际 DB2 培训
12
DB2 连接
图形方式连接
Configuration Assistant (CA) Node
添加 查看
命令行方式连接
DataBase
请列举所有可能原因,并写出针对每一个原因进行改进的脚本,然 后给出判断原因和确认效果的方法。
2.
1. 2.
3.
4.
3.
2019/2/24
中软国际 DB2 培训
35
思考和练习
3. 1.
2.
1.
2. 3. 4. 5.
问题3 已知:有两个表:部门和员工,部门表包括部门ID、部门名称、部 门经理ID;员工表包括员工ID、员工姓名和所属部门的ID。 需求: 每个部门都必须有唯一名称和部门经理,每个员工都必须有唯 一姓名 部门经理也是员工,其所属部门必须是其作为经理的部门 部门ID和员工ID自动增加 不允许一个人同时担任两个部门的经理 每个员工都必须属于某一个部门,并且只能属于一个部门 请按上述需求写出这两个表的创建脚本,然后编写一个sql语句, 查询出各个部门的名称、经理姓名和员工数量
2019/2/24
中软国际 DB2 培训
32
谢 谢!
2019/2/24
中软国际 DB2 培训
33
思考和练习
1. 2. 问题1 已知:192.9.100.23上有个名为“db2”实例,端口号为50000, 连接的用户名/密码为db2admin/admindb2,其上有个STMADC数 据库,你手头有个刚安装完DB2 ESE的机器。 需求:
中软国际 DB2 培训 28
2019/2/24
附录
技巧和注意事项
在CLP执行操作系统的命令 用“\”作为续行符号 获得DB2的命令的语法相关信息
DB2?显示所有DB2命令 DB2?COMMAND显示命令信息 DB2?SQLnnnn显示这个SQLCODE的解释信息 DB2?DB2nnnn显示这个DB2错误的解释信息
中软L
Data Modification(修改)
Insert into Update Delete from Insert select Update select
2019/2/24
中软国际 DB2 培训
21
DB2 SQL
高级SQL
DB2 管理
监控和优化
Monitor、snapshot Explain Indexes、BufferPool Error Messages
2019/2/24
中软国际 DB2 培训
27
附录
DB2常用命令
Db2start、db2stop(force) Catalog、uncatalog Connect(to、reset) Attach、detach Describe List Get Update Force application