DB2数据库管理培训教程.ppt
《DB2数据库管理培训教程.ppt》由会员分享,可在线阅读,更多相关《DB2数据库管理培训教程.ppt(76页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、21232基本概念监控与维护备份与恢复目录4性能优化5常见问题处理31基本概念n1.1 DB2数据库对象n1.2 对象层次关系4lDB2数据库体系系统实例数据库l数据库对象表、视图、索引、模式、存储过程、程序包等缓冲池、日志文件、表空间物理存储、表空间容器、目录、文件系统或裸设备n1.1 DB2数据库对象5基本概念DB2体系结构中的最高一层是系统,一个系统表示DB2的一个安装。在由很多机器组成的网络环境中,我们有时也称系统为数据库分区。一个系统可以包含多个DB2实例,每个实例能够管理一个或多个数据库。从操作系统角度看,DB2的实例是一组进程和一组共享内存。实例为一个数据库的集合,共同运行在一个
2、逻辑服务单元中(同一个端口)。在一台机器上可以有多个相互独立的实例,实例之间彼此独立,同时运行,不会相互影响。每个实例可以管理若干个数据库,一个数据库只属于一个实例。表空间是介于逻辑表和物理容器之间的逻辑对象,所有的表、索引和其他数据都存储在表空间中,表空间总是关联到相同页大小的缓冲池视图是虚拟的表,不需要物理存储,不包含真实的用户物理数据6系统、实例、数据库7n1.2 对象层次关系DB2中的数据库对象主要分为数据库、表空间、表、索引、视图、容器(存储组)。右图全局概要描述了各个对象在DB2中的关系。82监控与维护n2.1 监控工具n2.2 监控要点n2.3 第三方监控工具9即时监控工具-sn
3、apshot-db2pd-db2top事件监控工具 Event monitor 新事件监控工具(9.7)n2.1 监控工具10snapshot需要打开实例级监控器开关,有一定性能损耗-snapshot命令行监控-snapshot管理视图(DB2V9后)管理视图较容易分析,通常用于查找存在性能问题的动态sqldb2pd不需要建立与数据库的连接,基本不会对系统造成影响常用参数,以下参数常组合使用,导出文件进行分析-appl 应用程序-bufferpool 缓冲池信息-logs 日志信息-tablespaces 表空间信息-locks 锁信息-agents 代理信息-dynamic 动态sql信息-
4、tcbstats 表状态信息11db2pd常用方法常用方法用途一用途一 抓取锁信息,进行分析抓取锁信息,进行分析db2pd d dbname app tran agent dyn locks waitdb2pd.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),“
5、L” 代表最近(last)的语句 UID13第四步检查动态语句缓存的内容第四步检查动态语句缓存的内容经分析得出锁等待的语句为UPDATE EMPLOYEE SET SALARY = SALARY * 0.02拥有锁的APP的语句为UPDATE EMPLOYEE SET BONUS = SALARY * 0.1 WHERE JOB = MANAGER14用途二用途二 查看表重组进度查看表重组进度db2pd d dbname reorg 用途四用途四 查看查看HADR同步状态同步状态15db2topdb2top 监视实用程序快速高效地监视复杂的DB2环境。它结合来自所有数据库分区的 DB2 快照信
6、息,使用基于文本的用户界面提供正在运行的 DB2 系统的动态实时视图。db2top不支持上下滚屏,一般用于了解表空间状态,缓冲池命中率,app执行 sql,了解处于锁等待状态的应用。进而用db2pd等工具分析示例:db2top d dbname 169.7新的锁事件监控新的锁事件监控Lock timeout events (MON_LOCKTIMEOUT) = hist_and_valuesDeadlock events (MON_DEADLOCK) = hist_and_valuesLock wait events (MON_LOCKWAIT) = hist_and_valuesLock w
7、ait event threshold (MON_LW_THRESH) = 10000create event monitor lockevmon for locking write to unformattedevent table (table locks)Call sysproc.EVMON_FORMAT_UE_TO_TABLES(LOCKING,NULL,NULL,NULL,NULL,NULL,RECREATE_FORCE,-1,SELECT* FROM locks ORDER BY event_timestamp)只需用一个事件监控器就可捕获死锁、锁超时、锁等的语句 17日常监控日常
8、监控l 数据库状态l 表空间状态、使用率l applications状态l 锁情况l 性能指标常用性能指标常用性能指标l 读有效性rows_read/rows_selectedl 寻找性能较差的动态SQLl Buffpool命中率n2.2 监控要点18数据库状态db2 get snapshot for db on dbname表空间状态及占用率db2 get snapshot for tablespaces on dbnamedb2pd d dbname tabdb2top d dbname 出现界面后按t缓冲池命中率db2pd d dbname bufdb2top d dbname 出现界面
9、后按b是否有锁等待db2pd d dbname locks waitdb2top d dbname 出现界面后按U日常监控19l 读有效性rows_read/rows_selecteddb2 get snapshot for db on dbname:Rows read /Rows selected管理视图查询管理视图查询:select rows_read/rows_selected from sysibmadm.snapdb;对于OLTP,最好小于20对于OLAP,最好小于100 当读有效性值较高时,表示可能在发生表扫描,可通过索引等手段进行优化 l 找到性能较差的dynamic SQL语句
10、 通过Sysibmadm.snapdyn_sql视图,根据不同字段进行排序,找到性能较差的SQL语句排序较多的排序较多的sqlselect 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
11、order by total_exec_time desc fetch first 10 rows only;常用性能指标20db2advis建议索引工具建议索引工具 采用db2advis建立合适的索引,使得其能够走索引查询,由于索引的范围和排序,可以直接跳过许其他行,定位到符合我们需要的行。前提条件前提条件创建分析表 db2 tvf &installpath/misc/EXPLAIN.DDL做数据库升级或数据迁移后,若版本与原有版本不一致,应先drop掉分析表,创建新的分析表常见用法如下:创建db2advis.in文件,保存要分析的sqldb2advis d dbname i db2advi
12、s.in可参考建立索引21常用第三方监控工具QuestCentral.exen2.3 第三方监控工具22常用第三方监控工具QuestCentral.exe23APP状态:UOW EXECUTING:正在执行Wait for uow:等待执行Wait for lock:锁等待2.执行成本:该sql执行成本,数值越大,成本越高,执行越慢。如有多条成本较高的相同SQL,执行较慢,可考虑优化该SQL。3. 挂起锁的数量该数值表示挂起锁的数量,可观察哪些app挂起锁较多。4.该APP对应的SQL直观显示该APP对应的SQL,方便抓取运行缓慢,锁等待等状态的sql24WAIT FOR LOCK状态APP锁
13、信息监控25当前持有锁:显示当前持有锁的AGENT ID,锁名称及级别,对应锁的表等信息当前APP锁等待的APP显示当前APP正在哪个APP执行,信息包括被等待的APP的所名称及级别,持有锁的AGENT ID,根据AGENT ID可以得到被等待锁的APP所对应的SQL,考虑进行SQL优化或表优化等相关操作以上功能为较为常用及实用的监控功能,该工具在管以上功能为较为常用及实用的监控功能,该工具在管理及维护方便也较为方便安全。理及维护方便也较为方便安全。263备份与恢复n3.1 目的n3.2 基本概念n3.3 备份恢复n3.4 适用场景27数据库备份和恢复的目的 从故障中恢复数据库系统,有效保护数
14、据。 故障场景 系统崩溃(掉电、硬件故障、OS失败、数据库实例失败等) 事务失败(语句失败、进程失败等) 人为错误(误操作等) 存储媒介故障(存储器物理损坏等) 灾难(自然灾害等) n3.1 目的28事务事务 (事务=工作单元) 事务是组合在一起的一个或多个 SQL 操作序列,也被称为一个工作单元,用来保证数据的完整性和一致性。 特性如下: A 原子性操作序列不可分割,或全部成功或全部失败。 C 一致性事务执行前后数据库都处于一致性状态。 I 隔离性并发事务相互隔离,互不影响。 D 持久性事务被成功提交后,对数据库的更新被持久化,不会丢失。 n3.2 基本概念29崩溃恢复崩溃恢复 从数据库日志
15、控制文件中获取不一致起点信息,并根据日志内容对所有在不一致起点后成功提交事务进行再应用,而对其他未完成的事务进行回滚,从而把数据库带回可用、一致状态。 1.自动 - 数据库参数AUTORESTART=ON(缺省)2.手动 - 数据库参数AUTORESTART=OFF。使用db2 restart database30版本恢复版本恢复版本恢复=完全恢复,恢复数据库所有数据和结构。 循环日志模式下:备份和恢复都必须离线进行。执行DB2命令(backup/database)来进行全备份和版本恢复。 归档日志模式下:备份可以在线,而恢复必须离线进行。在执行DB2命令(restore)进行恢复的时候,需指
16、定without rolling forward选项来清除数据库的ROLLFORWARD PENDING状态。31前滚恢复前滚恢复前滚恢复=时间点恢复,恢复数据到一个指定的时间点。 归档日志模式下执行,有数据库完整备份,必须保留备份后到特定时间点之间所有的日志文件。 数据库前滚恢复必须离线进行。 在执行不带without rolling forward选项的DB2命令restore后,执行前滚恢复命令rollforward 将使数据库恢复至备份后的某一特定时间点或者日志末尾。32部分恢复部分恢复 部分恢复,恢复数据库一部分数据和结构,工作原理同前滚恢复,区别是备份和恢复的对象是表空间 。主要特
17、点主要特点 相对数据库备份,表空间备份和恢复在时间上占有优势,并且方法灵活。 系统编目表空间的备份和恢复必须离线进行,并且必须前滚至日志的末尾。而其他的表空间都可在线进行,并且可以前滚至某个特定时间点。 通过设定注册表变量DB2_COLLECT_TS_REC_INFO=ON,前滚命令将跳过不需要的日志来缩短恢复时间。 即使对象表空间不同,备份和恢复也不能同时进行。执行方式执行方式 利用DB2命令backup对所有关联表空间进行同时备份。 恢复时,利用DB2命令restore对所有关联表空间进行同时恢复,恢复完成时,表空间处于前滚暂挂状态(ROLLFORWARD PENDING)。 利用DB2命
18、令rollforward对表空间进行前滚恢复。 33离线全备 停止应用程序 断开所有数据库连接 执行备份命令 检查备份文件可用性 n3.3 备份恢复完全备份完全备份34在线全备 前提: 设置LOGARCHMETH1参数,更改参数后,必须需要完全离线全备份数据库 执行备份命令 检查备份文件可用性 完全备份完全备份35离线全备恢复 完全备份恢复步骤完全备份恢复步骤36在线全备恢复 完全备份恢复步骤完全备份恢复步骤37增量备份增量备份38增量备份增量备份-修改参数修改参数39增量备份增量备份-离线增量备份离线增量备份40离线增量备份离线增量备份恢复步骤恢复步骤41增量备份增量备份-在线增量备份在线增
19、量备份42在线增量备份恢复在线增量备份恢复43差量备份差量备份-离线差量备份离线差量备份恢复方式同离线增量备份恢复44差量备份差量备份-在线差量备份在线差量备份恢复方式同在线增量备份恢复45监控监控 可以使用db2 list utilities show detail命令监控执行状况。具体监控内容如下:1.backup显示需要处理的字节数的初始评估,随着备份进度更新已处理字节数。显示的字节数不对应备份镜像大小,也不能作为镜像大小的评估依据。2.restore & recovery - 初始字节数显示为UNKNOWN,实际读取的字节数被更新,对于自动增量恢复,分阶段跟踪进度。每个阶段都提供增量链
20、中的恢复镜像,初始状态只显示一个阶段。随着镜像的恢复,阶段数量和恢复的字节被更新。3.crash recovery & rollforward 有FORWARD和BACKWARD两个阶段。在FORWARD阶段,读取日志记录并应用于数据库。而在BACKWARD阶段,回滚未成功提交的事务。这两个阶段都显示已处理的字节数。46检查检查1.db2ckbkp用来检查备份镜像的完整性及是否可以用于恢复。也可以用于显示存储在备份文件头部的元数据。2.db2ckrst检查增量备份镜像的恢复顺序和时间戳,并获取恢复操作命令的序列。47适用情况:数据库容器变更V9.1前:1. Restore 语句此语句用来标示一
21、个重定向的恢复操作命令开始,它在普通恢复的命令上加了 redirect 参数。RESTORE DATABASE SAMPLE FROM /db2_backup/db2inst1/sample TAKEN AT 20101023180128 INTO SAMPLE REDIRECT;2. set containers 语句当目标数据库所的物理存储设备与原来的数据库不一样时,就需要下面的命令来指定新的物理容器。SET TABLESPACE CONTAINERS FOR 0 USING ( PATH /db2inst1/SAMPLE ); SET TABLESPACE CONTAINERS FOR
22、1 USING ( PATH / db2inst1/temp ); SET TABLESPACE CONTAINERS FOR 2 USING ( DEVICE /dev/rsample_1G 131072 ) 3. restore continue 语句:此语句代表重定向恢复语句序列完成,系统开始恢复数据库。RESTORE DATABASE SAMPLE CONTINUE; 重定向恢复48V9.1后:使用RESTRORE . REDIRECT GENERATE SCRIPT 产生重定向恢复数据库的脚本db2 restore db SAMPLE FROM /db2_backup/db2inst
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DB2 数据库 管理 培训 教程
限制150内