DB2培训内容
Db2 –tvf Db2 –td@ -vf >xxx.log
数据库对象的大小写 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