DB2数据库管理培训教程

合集下载

DB2培训文档

DB2培训文档
create procedure total_raise ( in p_min dec(4,2) , in p_max dec(4,2) , out p_total dec(9,2) ) language sql specific total_raise -- applies to luw and iseries tr: begin -- declare variables declare v_salary dec(9,2);
© 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培训文档.pptx

DB2培训文档.pptx
RETURN v_return_code; END gen
© 2006 IBM公司
IBM 软件部 | DB2 信息管理软件
调用者过程find_emp通过 get diagnostics取得被调用 者的返回值,get diagnostics 必须是紧跟在call语句之后
TIP:通过返回值判断 执行状态回结果集
存储过程中的结果集可以返回给别的存储过程,也可以返回 到客户端的应用程序。
定义游标的语法如下: declare <cursor-name> cursor [with hold] with return to caller [client] for <select statement> [stmt name]
IF ( v_total >= v_min ) THEN
SET p_bonus = 'Y'; ELSE
SET p_bonus = 'N'; END IF; END bn
© 2006 IBM公司
IBM 软件部 | DB2 信息管理软件
✓传递参数
在存储过程嵌套调用过程中,参数依照出现的次序进行传递,如果数据类型不匹 配,请使用cast函数进行数据类型转换;
ELSEIF ( v_rc = 1000 ) THEN
SET p_output = 'The employee does not exist!';
ELSE
SET p_output = 'Something else went wrong.';
END IF;
END fe
--(1) --(2)
© 2006 IBM公司
© 2006 IBM公司

db2基础培训[1]

db2基础培训[1]
db2基础培训[1]
分区数据库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培训讲义_DB2性能优化入门

DB2培训讲义_DB2性能优化入门

DML性能问题:查询优化
同时还要考虑到 RUNSTATS/REORG 因素。 RUNSTATS 命令可以更 新表中的统计信息。当表中的数据经过频繁的增删改后其相应的统计 信息会发生变化,而优化器选择执行计划的时候是根据这种统计信息 来计算的,所以运行 RUNSTATS 此时显得尤为重要。 REORG 可以 整理数据存储的物理结构,也能减少数据扫描的时间,提高查询的性 能。 从存储方面应当注意的是选取裸设备的 DMS 要比 SMS 性能要好,因 为它少了一层文件系统的缓冲而直接访问缓冲池。
学会使用 optimize for n rows 子句,它可以提高前面 n 条记录的显示 速度。这样可以使用户能够先快速查看这 n 条记录,然后再看其他纪 录。减少了用户的等待时间。
DML性能问题:查询优化
针对复杂查询时可以将数据库配置参数 DFT_QUERYOPT( 缺省查询 优化类 ) 的值设得高一些(7 或 9),针对简单查询可以将它设得低一 些 (3 或 5),因为设置越高优化器所作的分析就越深入,耗费在生成计 划上的时间就越多。 针对 C/S 结构的查询可以将查询语句写在服务器端生成存储过程来减 少数据的网络传输以及客户端的压力。而经过编译的存储过程执行得 更加高效。
DB2培训讲义
性能优化入门
有关的概念
DB2 性能优化的三个方面
内存 CPU I/O
内存因素
在内存方面,主要是考虑缓冲池 (BUFFERPOOL) 的使用。缓冲池是 一片用来缓冲从磁盘上读取的数据和索引的内存区域,这些数据和索 引信息在缓冲池中进行运算后最终还要写回磁盘。缓冲池的页面大小 有四种 (4K,8K,16K,32K),分别对应四种不同页面大小的表空间。缓冲 池的大小决定了能够从磁盘上缓冲数据的容量大小。当然缓冲池也不 是越大越好,缓冲池过大可能会导致连接数据库的时间过长,因为在 连接数据库时要为数据库的缓冲池分配内存空间。可以通过计算缓冲 池的命中率来评估缓冲池的使用效率:缓冲池命中率 =(1-(( 数据物理 读 + 索引物理读 )/( 数据逻辑读 + 索引逻辑读 ))) *100%,缓冲池命中 率越大说明缓冲池的使用效率高。缓冲池命中率太小说明缓冲池太小 应当调大。其中的数据物理读,索引物理读以及数据逻辑读和索引逻 辑读都可以从缓冲池的快照中获取。

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数据库培训教材

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数据库培训教材(常用命令)

DB2数据库培训教材(常用命令)

Copyright © 2006 Sihitech Co. - All Rights Reserved
北京宇信鸿泰软件技术有限公司
常用命令( DB2 常用命令(三)
13.创建视图: 13.创建视图: 创建视图 db2 create view viewname as select id from tbname 14.查询视图 查询视图: 14.查询视图: db2 select * from viewname 15. 查看视图 db2 select viewname from views where viewname=‘tbname'; viewname= tbname'; 16.节点编目 16.节点编目 db2 catalog tcp node node_name remote server_ip server server_port 17.节点反编目 17.节点反编目 db2 uncatalog node node_name
DB2 数据库培训(修订版)
中国建设银行北京开发中心 2008年1月
北京宇信鸿泰软件技术有限公司
目录
一、DB2概述 DB2概述 二、DB2常用命令 DB2常用命令 三、参考资料
Copyright © 2006 Sihitech Co. - All Rights Reserved
北京宇信鸿泰软件技术有限公司
Copyright © 2006 Sihitech Co. -源自All Rights Reserved
北京宇信鸿泰软件技术有限公司
常用命令( DB2 常用命令(六)
28. 建立别名 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; 29. 建立表 create table zjt_tables as (select * from tables) definition only; create table zjt_views as (select * from views) definition only;

第01章 DB2入门-2

第01章 DB2入门-2

§1.3 安装DB2 Express-c V9.1 for Windows
§1.3 安装DB2 Express-c V9.1 for Windows
§1.3 安装DB2 Express-c V9.1 for Windows
§1.3 安装DB2 Express-c V9.1 for Windows
§1.1 DB2 family of products简介
§1.2 DB2 软件版本
§1.2 DB2 软件版本
§1.2 DB2 软件版本
企业服务器版(DB2 Enterprise Server Edition (ESE)) 企业服务器版(ESE)是 DB2 的多用户版本,它允许用户创建和 管理单一分区数据库环境或分区数据库环境。分区数据库系统可以管 理大量数据,并提供诸如增强的性能和高可用性的优点。 · 构建大规模部门级应用和大型企业级数据仓库 · 能与异构平台上的DB2及第三方数据库共享资源 工作组服务器版(DB2 Workgroup Server Edition (WSE)) 工作组服务器版(WSE)是一个精选的关系数据库服务器,用于在 部门或工作组或者具有相当数量的内部用户的中型企业中进行部署。 · 小规模部门级应用,定位于局域网环境 · 不能存取OS/390和OS/400平台上的数据库 个人版(DB2 Personal Edition) · 个人单机使用,提供功能完整的数据库 · 提供了数据库存储设施并能够连接到远程DB2服务器,但不能响 应 远程请求 EveryPlace · 专为移动办公用户设计的微型数据库系统 · 用于PDA,HPC和嵌入式设备
§1.6 DB2工具 - SQL助手
§1.6 DB2工具 - 命令编辑器
§1.6 DB2工具 - 命令编辑器

新员工培训--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构成—什么是数据库系统 数据库系统是由数据库及其管理软件组成的系统。
数据库
存储在计算机内的、有组织、可共享的数据集合。

DB2开发培训

DB2开发培训

整理ppt
8
➢ 流程控制介绍
CASE statement IF statement LOOP statement WHILE statement GOTO statement ITERATE statement FOR statement
(详见备注)
二、数据库开发
整理ppt
9
二、数据库开发
➢ 游标介绍
2)用户自定义的存储过程通过CREATE PROCEDURE语句被注册到DB2数据 库的SYSCAT.ROUTINES表
整理ppt
6
二、数据库开发
➢ 存储过程实例
CREATE PROCEDURE ODS.PROC1 ( IN v_p1 INT, INOUT v_p2 INT, OUT v_p3 INT)
P1: BEGIN SET v_p2 = v_p2 + v_p1; SET v_p3 = v_p1;
END P1 输入输出参数说明:
in:输入参数 out:表示输出参数,即显示结果 in out:就是输入输出参数,运行前输入,运行后输出
整理ppt
7
二、数据库开发
➢ 存储过程变量
DECLARE var_name <data type> [ DEFAULT value]; SET <var_name> = <new_value>;
定义方式二: DECLARE GLOBAL TEMPORARY TABLE session.emp AS
( SELECT * FROM staff WHERE <condition> ) DEFINITION ONLY WITH REPLACE;
整理ppt

DB2数据库管理培训教程

DB2数据库管理培训教程

DB2数据库管理培训教程前言:数据库在现代信息系统中起着至关重要的作用,它是用于存储、管理和访问数据的基础设施。

DB2是IBM公司开发的一种关系型数据库管理系统,具有强大的功能和可靠性,被广泛应用于企业级应用程序中。

本篇文章将介绍DB2数据库管理的基础知识和技巧,帮助读者快速上手DB2数据库的管理工作。

1.DB2数据库管理概述(200字)DB2是一种关系型数据库管理系统,用于存储和管理结构化数据。

它具有高性能、高可靠性和可扩展性的特点,被广泛应用于企业级的应用程序中。

DB2数据库管理包括创建数据库、创建表和索引、备份和恢复数据库、性能调优等一系列任务。

2.DB2数据库的安装和配置(300字)在进行DB2数据库管理之前,首先需要安装和配置DB2数据库。

安装过程包括选择安装目录、指定数据库管理员账号和密码等。

配置过程包括设置数据库实例命名、配置网络连接、分配内存和磁盘空间等。

安装和配置DB2数据库需要遵循相关的安装手册和最佳实践指南。

3.数据库和表的创建(300字)在DB2数据库中,创建数据库是管理的第一步。

可以使用DB2命令行工具或者DB2 Control Center来创建数据库。

创建数据库时需要指定数据库名称、数据存储路径、日志存储路径等。

创建数据库后,还需要创建表和索引。

创建表时需要定义表的结构、字段和约束,创建索引用于提高查询性能。

4.数据库的备份和恢复(300字)数据库备份是保障数据安全的关键措施之一、DB2提供了多种备份方法,包括在线备份、离线备份和增量备份等。

备份数据库可以使用DB2命令行工具或者DB2 Control Center。

数据库恢复可以通过还原备份文件实现,DB2还提供了恢复到特定时间点的功能。

5.DB2数据库的性能调优(300字)性能调优是DB2数据库管理的重要任务之一、调优主要包括监控数据库性能、优化查询语句和优化数据库配置等。

可以使用DB2提供的性能监控工具进行性能监控,通过分析监控结果来发现性能瓶颈并采取相应的优化措施。

DB2培训[1]

DB2培训[1]
DB2培训
PPT文档演模板
2020/10/30
DB2培训[1]
DB2 逻辑组成图
PPT文档演模板
DB2培训[1]
DB2 数据库由一组对象组成
包含许多下面列出的物理和逻辑对象:
– 表、视图、索引和模式 – 锁、触发器、存储过程和包 – 缓冲池、日志文件和表空间
在以上对象中,有些(如表或视图)帮助确定数据是如何组 织的。
支持许多内置数据类型,也支持用户定义的数据类型
– 常量:常量指定一个值。
PPT文档演模板
DB2培训[1]
– 函数:函数是一组输入数据值和一组结果值之间的关系。数
据库函数可以是内置的,也可以是用户定义的。
– 表达式:表达式指定一个值。字符串表达式、算术表达式和
条件表达式都可以用于根据对一个或多个条件的求值指定一 个特定结果。
名称包括模式名 SMITH 以使其同其它任何在系统目 录中被命名为 STAFF 的表区分开来。 模式本身就是一个数据库对象。可以使用 CREATE SCHEMA 语句显式创建模式;也可以在创建另一个对 象时隐式创建模式。
模式有与之相关联的特权。这允许模式所有者可以控制 哪些用户有特权在模式中创建、修改和删除对象。
当成功调用 CREATE PROCEDURE (SQL) 语句(该语 句用应用程序服务器定义 SQL 过程)时,就创建了一 个 SQL 过程。SQL 过程是定义那些每当需要时就可 以调用的更复杂的查询或任务的一种便捷方式。以下 步骤将创建一个命令行处理器(command-line processor,CLP)脚本(名为 createSQLproc.db2), 该脚本将创建一个简单的 SQL 过程:
使用 WHERE 子句指定若干选择条件或搜索条件来在表

DB2入门培训讲义(ppt 48页)

DB2入门培训讲义(ppt 48页)
配置助手 控制中心 命令行工具
– 命令窗口、命令行处理器 信息中心 开发中心 健康中心
DB2 UDB中一些基本概念
实例 Instance
数据库 Database
容器 Container
表空间 Tablespace
扩展区 Extend

Table

Page
DB2安装、使用
Windows 下的安装、使用
仅安装客户端 DB2 Connect 安装服务器端 DB2 PE Server + DB2 Connect
RS/6000下的安装、使用
如RS/6000上已安装DB2,则只要在登录用户的profile中引用db2inst1的 profile或手工添加相应环境变量,即可使用DB2,前提是DBA已授权此用户 足够权限。
DB2 UDB的Create Table语句
SQL Server 的Create Table
CREATE TABLE [
database_name.[owner]. | owner. ] table_name ( { <column_definition>
| column_name AS computed_column_expression | <table_constraint> } [,...n] ) [ON {filegroup | DEFAULT} ] [TEXTIMAGE_ON {filegroup | DEFAULT} ]
模式名用作两部分对象名的第一部分。创建一个对象时,可将其分配给 特定模式。若不指定模式,则它被分配给缺省模式,缺省模式通常是创 建该对象的人员的用户 ID。名称的第二部分是对象名。例如,名为 Smith 的用户可以 有一个名为 SMITH.PAYROLL 的表。

db2培训(6)数据库设计

db2培训(6)数据库设计

ALTER TABLE sales ADD PARTITION STARTING FROM ('01/01/2007') INCLUSIVE ENDING AT ('04/01/2007') EXCLUSIVE IN tbsp1 ; set integrity for table sales off
压缩后的数据
$ db2 alter table <tab_name> compress yes $ db2 reorg table <tab_name> $ db2 runstats on table <tab_name>
压缩语法
•基本行压缩技术,减少存储I/O,提高性能,用于仓库大表 • 9.7支持索引和临时数据压缩
• DB2完全管理,空间按需增长 • 自动存储的路径是在CREATE DB时指定的
表空间存储模型 • 表空间是由容器构成的,容器是数据的物理存储 • 容器包含多个extent,每个extent是一组连续的数据页 • 页是最小的物理存储单元,db2支持4种页大小,4k/8k/16k/32k • 数据行存在页里
表分区实例
From 2006/1/1 to 2006/12/31
From 2006/1/1 to 2007/3/31
创建表分区语句
CREATE TABLE sales(sdate DATE, customer INT) IN tbsp1, tbsp2, tbsp3, tbsp4 PARTITION BY RANGE(sdate) (STARTING MINVALUE ENDING '3/31/2006' EXCLUSIVE, STARTING '3/31/2006' ENDING '6/30/2006' EXCLUSIVE, STARTING '6/30/2006' ENDING '9/30/2006' EXCLUSIVE, STARTING '9/30/2006' ENDING '12/31/2006') CREATE TABLE sales1Q07(sdate DATE, customer INT) in tbsp5 load from sales.del of del replace into sales1Q07 ALTER TABLE sales ATTACH PARTITION STARTING ('1/1/2007') ENDING ('3/31/2007') FROM sales1Q07

DB2基础教程文档

DB2基础教程文档

DB2基础教程文档DB2是一个关系型数据库管理系统(RDBMS),用于存储、管理和操作数据。

它是由IBM开发的,被广泛应用于企业级应用程序和数据仓库。

本教程将介绍DB2的基本概念、常用命令和操作,帮助初学者快速入门并使用DB2进行开发和管理。

1.DB2简介-DB2的历史和发展-DB2的特点和优势-DB2的应用场景2.安装和配置DB2-配置DB2实例-创建和配置数据库3.数据库对象的管理-创建表和定义列-管理数据类型和约束-创建索引和视图-管理存储过程和触发器4.数据的插入、查询和更新-插入数据到表中-使用SELECT语句查询数据-更新和删除数据-使用JOIN操作关联表5.数据库事务和并发控制-事务的概念和特性-事务的隔离级别-并发控制的方法和技术6.数据库备份和恢复-备份和还原数据库-日志和事务恢复-数据库迁移和升级7.性能优化和查询调优-查询执行计划的分析-索引的设计和优化-查询性能调优的常用技巧8.高级功能和扩展-分布式数据库和数据复制-数据库安全和权限管理-数据库监控和性能调优工具9.常用的DB2命令和工具-DB2的命令行工具- 使用DB2 Control Center管理数据库- 使用IBM Data Studio进行开发和调试10.实际案例和练习-设计和创建一个简单的数据库-实现一个实际应用的数据模型-进行数据库调优和性能提升的练习总结:DB2是一款功能强大的关系型数据库管理系统,本教程详细介绍了DB2的基本概念、常用命令和操作,帮助初学者快速入门并能够实践开发和管理数据库。

希望通过学习本教程,读者能够掌握DB2的基本知识和技能,并在实际应用中获得更好的数据库性能和效果。

DB2基础培训ppt课件

DB2基础培训ppt课件

.
创建DMS示例
WINDOWS:
CREATE TABLESPACE sms MANAGED BY DATABASE USING (FILE 'C:\DMS\DATA.1' 1000,DEVICE ‘\\.\F:' 3000) EXTENTSIZE 16 PREFETCHSIZE 32
定义容器
表示创建数据库管理表空间
管理方便程度
性能
Yes
操作系统
SMS
需要时动态增长
管理方便 .很少需要人工管理 . 容器大小可随文件系统增大
很好
DMS
Yes
DB2
预分配
较好 . 需要人工指定一些参数(e.g.. EXTENTSIZE PREFETCHSIZE) . 可通过增加容器建立大容量的表空间
最优 . 采用裸设备容器性能可提升5-10% .单表中的索引,数据,大对象可跨表 空间存放
14
ONLINE ARCHIVE Contains information for committed and externalized transactions. Stored in the ACTIVE
log subdirect.ory.
15
16
UDB数据存取方法
SQL语言和UDB内置的API
.
数据库管理表空间(DMS)特性
在创建时分配空间 容器可增加(数据分配自动重新平衡) 容器大小可修改 数据分配自动重新平衡 空间大小只限于物理存储特性 文件容器使用文件系统的IO 裸设备使用直接操作硬件,不通过文件系统 很高的性能 (特别对于 OLTP系统) 数据分配灵活
.
SMS与DMS对比
RAD Striping 对象管理 空间分配
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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优化或表优化等相关操作
以上功能为较为常用及实用的监控功能,该工具在管
理及维护方便也较为方便安全。
17
2.2 监控要点
日常监控 数据库状态 表空间状态、使用率 applications状态 锁情况 性能指标 常用性能指标 读有效性rows_read/rows_selected 寻找性能较差的动态SQL Buffpool命中率
18
日常监控 数据库状态 db2 get snapshot for db on dbname 表空间状态及占用率 db2 get snapshot for tablespaces on dbname db2pd –d dbname –tab db2top –d dbname 出现界面后按t 缓冲池命中率 db2pd –d dbname –buf db2top –d dbname 出现界面后按b 是否有锁等待 db2pd –d dbname –locks wait db2top –d dbname 出现界面后按U
19
常用性能指标 读有效性rows_read/rows_selected
db2 get snapshot for db on dbname:Rows read /Rows selected 管理视图查询:select rows_read/rows_selected from sysibmadm.snapdb; 对于OLTP,最好小于20 对于OLAP,最好小于100 当读有效性值较高时,表示可能在发生表扫描,可通过索引等手段进行优化
26
3
备份与恢复
3.1 目的 3.2 基本概念 3.3 备份恢复 3.4 适用场景
27
3.1 目的
数据库备份和恢复的目的
从故障中恢复数据库系统,有效保护数据。
故障场景
系统崩溃(掉电、硬件故障、OS失败、数据库实例失败等) 事务失败(语句失败、进程失败等) 人为错误(误操作等) 存储媒介故障(存储器物理损坏等) 灾难(自然灾害等)
db2pd
不需要建立与数据库的连接,基本不会对系统造成影响 常用参数,以下参数常组合使用,导出文件进行分析 -appl 应用程序 -bufferpool 缓冲池信息 -logs 日志信息 -tablespaces 表空间信息 -locks 锁信息 -agents 代理信息 -dynamic 动态sql信息 -tcbstats 表状态信息
create event monitor lockevmon for locking write to unformatted
event table (table locks)
Call sysproc.EVMON_FORMAT_UE_TO_TABLES('LOCKING',NUL L,NULL,NULL,NULL,NULL,'RECREATE_FORCE',-1,'SELECT * FROM locks ORDER BY event_timestamp') 只需用一个事件监控器就可捕获死锁、锁超时、锁等的语句
述了各个对象在
DB2中的关系。
8
2
监控与维护
2.1 监控工具 2.2 监控要点 2.3 第三方监控工具
9
2.1 监控工具
即时监控工具
--snapshot --db2pd --db2top 事件监控工具 – Event monitor – 新事件监控工具(9.7)
10
snapshot
需要打开实例级监控器开关,有一定性能损耗 --snapshot命令行监控 --snapshot管理视图(DB2V9后) 管理视图较容易分析,通常用于查找存在性能问题的动态sql
16
9.7新的锁事件监控
Lock timeout events (MON_LOCKTIMEOUT) = hist_and_values Deadlock events (MON_DEADLOCK) = hist_and_values Lock wait events (MON_LOCKWAIT) = hist_and_values Lock wait event threshold (MON_LW_THRESH) = 10000
DB2数据库管理
浪潮软件
2018/10/19
母版题样式
2
目录
1 2
3 4
基本概念
监控与维护 备份与恢复 性能优化 常见问题处理
5
3
1
基本概念
1.1 DB2数据库对象 1.2 对象层次关系
4
1.1 DB2数据库对象
DB2数据库体系
系统
实例
数据库
数据库对象
表、视图、索引、模式、存储过程、程序包等 缓冲池、日志文件、表空间 物理存储、表空间容器、目录、文件系统或裸设备
28
3.2 基本概念
事务
(事务=工作单元) 事务是组合在一起的一个或多个 SQL 操作序列,也被称为一个工作单 元,用来保证数据的完整性和一致性。
特性如下:
A 原子性–操作序列不可分割,或全部成功或全部失败。
C 一致性–事务执行前后数据库都处于一致性状态。 I 隔离性–并发事务相互隔离,互不影响。 D 持久性–事务被成功提交后,对数据库的更新被持久化,不会丢失。
找到性能较差的dynamic SQL语句
通过Sysibmadm.snapdyn_sql视图,根据不同字段进行排序,找到性能较差的SQL 语句
排序较多的sql
select num_executions,sort_overflows,total_sort_time,stmt_text from sysibmadm.snapdyn_sql order by sort_overflows desc fetch first 10 rows only; 执行耗时最长的sql ·select num_executions,total_exec_time,stmt_text from sysibmadm.snapdyn_sql order by total_exec_time desc fetch first 10 rows only;
31
前滚恢复
前滚恢复=时间点恢复,恢复数据到一个指定的时间点。
归档日志模式下执行,有数据库完整备份,必须保留备份后到特定时间点之间所有的日志文件。 数据库前滚恢复必须离线进行。 在执行不带without rolling forward选项的DB2命令restore后,执行前滚恢复命令rollforward 将使数据库恢复至备份后的某一特定时间点或者日志末尾。
14
用途二 查看表重组进度 db2pd –d dbname –reorg
用途四 查看HADR同步状态
15
db2top
db2top 监视实用程序快速高效地监视复杂的DB2环境。它结合来自所有数 据库分区的 DB2 快照信息,使用基于文本的用户界面提供正在运行的 DB2 系统的动态实时视图。
db2top不支持上下滚屏,一般用于了解表空间状态,缓冲池命中率,app执 行 sql,了解处于锁等待状态的应用。进而用db2pd等工具分析 示例:db2top –d dbname
21
2.3 第三方监控工具
常用第三方监控工具QuestCentral.exe
22
常用第三方监控工具QuestCentral.exe
23
1. APP状态:
UOW EXECUTING:正在执行 Wait for uow:等待执行 Wait for lock:锁等待
2.执行成本:
该sql执行成本,数值越大,成本越高,执行越慢。如有多条成本较高的相同
32
部分恢复
部分恢复,恢复数据库一部分数据和结构,工作原理同前滚恢复,区别是
备份和恢复的对象是表空间 。
主要特点
相对数据库备份,表空间备份和恢复在时间上占有优势,并且方法灵活。
系统编目表空间的备份和恢复必须离线进行,并且必须前滚至日志的末尾。而其他的表空间都 可在线进行,并且可以前滚至某个特定时间点。 通过设定注册表变量DB2_COLLECT_TS_REC_INFO=ON,前滚命令将跳过不需要的日志
相关文档
最新文档