首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 图书频道 > 计算机与网络 > 数据库 >

DB2数据库管理最佳实践 [平装]

2013-12-26 
编辑推荐《DB2数据库管理最佳实践》是电子工业出版社出版的。媒体推荐我相信本书能够为真正希望了解DB2的读者
商家名称 信用等级 购买信息 订购本书
DB2数据库管理最佳实践 [平装] 去商家看看
DB2数据库管理最佳实践 [平装] 去商家看看

DB2数据库管理最佳实践 [平装]

编辑推荐

《DB2数据库管理最佳实践》是电子工业出版社出版的。

媒体推荐

我相信本书能够为真正希望了解DB2的读者打开一扇大门,在知道不同语法命令的同时,能够深入地理解产品本身的设计思路与问题诊断的思考过程,成为您在成长道路上的一个朋友。
  ——唐迅加拿大丰业银行资深数据库架构师
徐明伟和王涛编写的这本书,注重实用,内容由浅及深,涵盖DB2的管理、运行维护,将大量一线的实际服务和培训案例融入其中,从而将一系列相关的分散知识点真正形成了一个知识面。
  ——王飞鹏IBM中国开发实验室DB2资深顾问
作为DBA,需要的是实际操作和动手能力,而非一些枯燥的理论分析。本书可以作为一个绝佳的参考书,相信每位读者都会有所收获。
  ——吉训遵中国移动通信集团海南有限公司首席DBA

作者简介

徐明伟,网络ID:飞天。毕业于北京航空航天大学,计算机硕士专业。2004年加入IBM中国软件开发中心软件服务部,从事DB2、MDM相关的技术支持和咨询工作。2010年成为DB2咨询顾问,并创立北京普远天成科技有限公司,继续专注于为客户提供DB2咨询、培训和支持工作。
在DB2数据库管理、性能调优和问题诊断方面,徐明伟具备非常丰富的经验。曾经帮助云南移动,海南移动、贵州移动、上海移动、安徽联通、人民银行、农业银行、交通银行、晋商银行、中央国债、中国银联、国家烟草局、南京钢铁、宝钢股份、北京高速路、韩国国税局、马来西亚工业部等备类行业客户进行DB2数据库和相关产品的性能调优和问题诊断工作,获得客户高度认可。
积极推动DB2的推广和使用,组织了多场公开课培训和企业内训,培训的人数超过千人,培训内容注重理论和实战相结合,并分享多个实际性能调优和问题诊断案例,深受客户好评。
王涛,网络ID:wangzhonnew。毕业于加拿大卡尔加里大学,计算机科学专业。于2005年加入JBM加拿大多伦多实验室,从事DB2二线技术支持。2007年升迁到DB2高级技术支持小组,主要负责北美区域客户DB2系统宕机等严重事故处理与高级性能调优支持。2011年进入DB2三线高级问题诊断小组,主要负责全球各地最为复杂与紧急的客户DB2数据库系统故障诊断处理,以及部分模块的研发与优化工作。
王涛在DB2问题诊断和性能优化方面,具有极其丰富的经验,曾经帮助包括花旗银行,汇丰银行、四大投行、可口可乐、波音、美国军方以及政府等不同行业在内的数百家大型企业在第一时间恢复关键数据,为超过近百家企业的关键系统进行DB2性能诊断和优化,获得客户高度认可和赞誉。
王涛是国内几大知名DB2论坛的超级版主,热心帮助国内客户解决生产故障,积极参与社区的问题讨论,为推动DB2在国内的传播做出了突出贡献。

目录

第一部分 DB2概述
第1章 DB2产品介绍1
1.1 数据模型1
1.2 DB2历史2
1.3 DB2版本3
1.4 DB29主要功能增强5
1.5 DB2认证8
1.6 DBA的任务和职责8
1.7 IBM信息管理产品概述9
1.8 小结10
1.9 判断题11
1.10 参考文献11

第2章 DB2体系结构12
2.1 DB2体系结构简介12
2.2 对象层次关系15
2.3 数据访问过程16
2.4 数据库工具18
2.5 小结19
2.6 判断题19
2.7 参考文档20

第二部分 DB2部置和规划
第3章 安装DB2软件21
3.1 软件安装21
3.1.1 软件获取22
3.1.2 安装前检查22
3.1.3 安装23
3.1.4 补丁升级25
3.1.5 版本升级28
3.2 小结30
3.3 判断题31
3.3 参考文档31

第4章 实例管理33
4.1 什么是实例33
4.2 创建实例34
4.2.1 在Windows平台下创建实例34
4.2.2 在UNIX/Linux平台下创建实例35
4.3 启动/停止/列出实例37
4.4 更新实例38
4.5 删除实例39
4.6 实例参数39
4.7 管理服务器(DatabaseAdministrationServer,DAS)40
4.8 小结41
4.9 判断题41

第5章 数据库创建和存储管理43
5.1 数据库结构43
5.2 建库、表空间45
5.3 表空间维护管理50
5.3.1 表空间监控50
5.3.2 表空间更改52
5.3.3 表空间状态55
5.3.4 表空间高水位59
5.3.5 深入DMS表空间65
5.4 存储设计最佳实践67
5.5 小结71
5.6 判断题71

第6章 数据库连接73
6.1 远程连接概述73
6.2 节点和数据库编目74
6.3 常见的数据库连接问题76
6.4 小结78
6.5 判断题79

第7章 数据库对象80
7.1 模式81
7.2 表81
7.2.1 表约束84
7.2.2 表状态85
7.2.3 表压缩86
7.2.4 表分区87
7.3 索引88
7.4 视图94
7.5 昵称94
7.6 序列(Sequence)94
7.7 自增字段96
7.8 大对象(LOB)98
7.9 函数101
7.10 触发器102
7.11 存储过程103
7.12 小结109
7.13 判断题109

第三部分 DB2运维管理
第8章 数据迁移110
8.1 数据迁移概述111
8.2 文件格式111
8.2.1 DEL格式111
8.2.2 ASC格式112
8.2.3 PC/IXF112
8.2.4 Cursor112
8.3 export112
8.4 import113
8.5 load115
8.5.1 load步骤及原理115
8.5.2 load表状态118
8.5.3 load的copy选项119
8.5.4 setintegrity完整性检查125
8.6 12个怎么办129
8.6.1 出现了loadpending了怎么办129
8.6.2 在客户端load问题130
8.6.3 要加载的数据是Excel格式怎么办131
8.6.4 要导出/加载的数据不是逗号/双引号分隔怎么办131
8.6.5 文件中的列比要导入的表中的字段多怎么办133
8.6.6 文件中的列比要导入的表中的字段少怎么办133
8.6.7 要导入/导出大字段(LOB)怎么办134
8.6.8 sequence数据怎么办135
8.6.9 导入identity数据怎么办136
8.6.10 要加载的数据有换行符怎么办139
8.6.11 迁移出现乱码怎么办141
8.6.12 表数据从一个表空间迁移到另外一个表空间怎么办143
8.7 db2look/db2move146
8.7.1 db2move工具介绍146
8.7.2 db2look工具介绍146
8.7.3 db2look+db2move迁移案例147
8.8 db2dart151
8.9 小结153
8.10 判断题153

第9章 备份恢复155
9.1 备份恢复概述155
9.2 DB2日志158
9.2.1 日志机制和原理158
9.2.2 日志参数配置最佳实践163
9.2.3 日志监控和维护管理168
9.2.4 其他日志相关的考虑171
9.2.5 经常遇到的日志问题172
9.3 备份176
9.3.1 离线备份178
9.3.2 在线备份178
9.3.3 表空间备份179
9.3.4 增量备份179
9.3.5 备份介质检查180
9.3.6 备份监控183
9.4 恢复183
9.4.1 崩溃恢复183
9.4.2 版本恢复184
9.4.3 前滚恢复192
9.4.4 删除表恢复(droppedtablerecovery)196
9.5 常见备份恢复场景及遇到的问题199
9.5.1 宕机后数据库连接hang的处理199
9.5.2 循环日志模式下的离线备份恢复200
9.5.3 归档日志模式下的备份恢复201
9.5.4 归档日志模式下前滚恢复的几个时间戳203
9.5.5 同版本不同实例下的数据库备份恢复(表空间是自动存储管理)205
9.5.6 同版本不同实例下的数据库备份恢复(表空间是非自动存储管理)206
9.5.7 不同版本不同实例下的数据库恢复206
9.5.8 从生产库到测试库恢复的案例分析207
9.5.9 历史文件过大造成数据库停止响应案例分析209
9.5.10 恢复时解压类包问题210
9.5.11 备份失败问题211
9.6 小结212
9.7 判断题212

第10章 DB2日常运维213
10.1 日常运维工具概述213
10.2 Runstats214
10.2.1 Runstats原理214
10.2.2 Runstats用法215
10.3 Reorg217
10.3.1 为什么需要Reorg217
10.3.2 Reorg用法221
10.3.3 Reorg最佳实践225
10.4 Rebind226
10.5 获取数据库占用空间的大小227
10.6 获取某个表空间占用空间大小228
10.7 获取某个表/索引占用空间的大小229
10.8 小结231
10.9 判断题232

第11章 锁和并发233
11.1 锁和隔离级别概述233
11.2 锁的模式和兼容性235
11.2.1 表锁模式236
11.2.2 行锁模式239
11.2.3 表锁和行锁兼容性243
11.3 锁的各种问题245
11.3.1 锁等245
11.3.2 锁超时246
11.3.3 死锁246
11.3.4 锁升级248
11.3.5 锁转换249
11.4 锁监控和诊断249
11.4.1 锁的分析思路和方法249
11.4.2 锁升级(lockescalation)的诊断分析250
11.4.3 锁等(lockwait)的捕获与诊断分析250
11.4.4 锁超时(locktimeout)的捕获与诊断分析254
11.4.5 死锁(deadlock)的捕获与诊断分析259
11.4.6 9.7 锁事件监控器263
11.5 锁和并发调优269
11.6 CurrentlyCommitted机制270
11.7 小结273
11.8 判断题273

第四部分 DB2监控和调优
第12章 DB2进程/线程模型274
12.1 提要274
12.2 从操作系统看进程和线程275
12.3 DB2V8/V9.1 进程模型278
12.3.1 代理进程279
12.3.2 分区内并行280
12.3.3 分区间并行(DPF)281
12.3.4 预取进程(prefetcher)282
12.3.5 页面清理进程(PageCleaner)284
12.3.6 其他进程285
12.3.7 实例/数据库启动步骤287
12.4 DB29.5 /9.7 线程模型289
12.5 小结291
12.6 判断题291

第13章 DB2内存模型292
13.1 从操作系统看内存292
13.2 DB28/9.1 内存模型294
13.2.1 实例共享内存段295
13.2.2 数据库共享内存296
13.2.3 应用程序组共享内存299
13.2.4 私有内存300
13.3 DB29.5 /9.7 内存模型301
13.3.1 实例内存302
13.3.2 应用程序内存302
13.3.3 自动内存调节(SelfTuningMemoryManagement,STMM)303
13.4 内存监控305
13.4.1 db2mtrk305
13.4.2 db2pd-dbptnmem306
13.4.3 db2pd-memset/db2pd-mempool307
13.5 小结310
13.6 判断题310

第14章 DB2监控工具312
14.1 snapshot命令行监控313
14.2 snapshot管理视图314
14.3 db2pd315
14.4 db2top328
14.4.1 实时监测329
14.4.2 历史信息收集330
14.4.3 子窗口331
14.5 DB2事件监控器340
14.6 小结341
14.7 判断题341

第15章 性能监控和分析方法343
15.1 收集数据343
15.1.1 操作系统级别性能监控344
15.1.2 数据库级别性能监控354
15.1.3 数据收集的频度387
15.1.4 小结389
15.2 分析数据389
15.2.1 瓶颈分类与原理介绍389
15.2.2 性能分析思路397
15.2.3 性能分析案例403
15.2.4 小结437
15.3 判断题437

第16章 优化器与性能调优438
16.1 优化器简介438
16.2 性能调优简介450
16.2.1 索引457
16.2.2 排序463
16.3 KPI477
16.3.1 缓冲池命中率(bufferpoolhitratio)477
16.3.2 有效索引读479
16.3.3 包缓存命中率(packagecachehitratio)480
16.3.4 平均结果集大小481
16.3.5 同步读取比例482
16.3.6 数据、索引页清除483
16.3.7 脏页偷取(dirtypagesteal)483
16.3.8 缓冲区读写I/O响应时间484
16.3.9 DirectI/O时间485
16.3.1 0直接I/O读取(写入)的次数485
16.3.1 1编目缓冲区插入比例486
16.3.1 2排序指标486
16.3.1 3基于事务的指标度量487
16.3.1 4检测索引页扫描490
16.3.1 5日志写入速度491
16.3.1 6查询执行速度491
16.3.1 7实例级性能指标492
16.3.1 8操作系统级指标492
16.4 小结494
16.5 判断题494

第五部分 DB2问题诊断
第17章 问题诊断495
17.1 概述495
17.2 日志信息错误496
17.3 宕机498
17.4 挂起503
17.5 错误信息506
17.5.1 SQLCODE507
17.5.2 db2trc513
17.5.3 strace519
17.6 分析数据收集工具522
17.7 IBM服务支持体系528
17.8 小结528
17.9 判断题529

第18章 数据库安全530
18.1 安全概述530
18.2 认证机制531
18.3 权限控制532
18.3.1 管理权限532
18.3.2 对象特权535
18.3.3 权限设计案例537
18.4 审计机制540
18.5 DB2安全最佳实践545
18.6 其他安全技术增强545
18.7 小结545
18.8 判断题545
18.9 参考文献546

文摘

版权页:



插图:



刚才我们所做的就是将一个服务器系统性能问题细化为数据库服务器或者应用程序服务器的性能问题。如果能够在3个系统中(应用程序服务器、数据库服务器和存储服务器)中至少排除掉一个,都能够为我们性能分析带来很大方便。
但是有时候,很难排除以上任何一种。如果在上周四的数据中,发现上周四大概6个LIOW Executing,每秒15个查询,CPU占用率5%,那么我们不能够简单地说这个是应用程序服务器的问题。一般来说,正常的系统,性能下降意味着单位时间内的吞吐量减少。可是该例中,正常吞吐量为每秒15个查询,而性能不好的系统中为每秒50个查询,这一点明显有悖于正常行为。
让我们继续分析。通过对CPU使用率的理解,当前CP[J使用率仅有10%,由此可以推断CPU不应该成为瓶颈。那么问题可能出在哪呢?可能是应用层,比如修改了业务逻辑(需要更多的SQL语句),也可能发生在数据库层,比如由于业务量的突然提高,导致更多锁等待,产生系统懒惰。
细化问题有一个前提,就是一定要小心不要走上错误的岔口。在每次回答一个小问题之前,都不要过度依赖某一类的数据。除了CPU使用率、并发数、吞吐量等指标,还包含更多的数据。我们一定要结合关键数据分析现象,千万不要被某几条现象所迷惑。
每一次回答小问题的时候,都要仔细思考一下,有没有其他任何数据能够证明该答案是错误的。注意,“错误”并不是笔误。每次回答问题之前,都要去假设心中的答案是一个错误的答案,然后尝试去找数据证明这一点。如果没有任何数据或者逻辑能够反证你的推论,这个推导才算是合格可用的。
在细化的过程中,有时候我们找不到一个完美的对比数据。比如有的时候当DBA被交予一个陌生的系统时,领导可能拍着桌子吼“这个系统跑了两年都是好好的,可是性能上周突然下降得很厉害,你给我把它搞定”。这个时候,用户可能并没有该系统的历史数据来对比,那么KPI(KeyPer- formance Indicator,关键性能指标)就是我们最好的朋友。
KPI并不是凭空产生的,而是国内外无数专家在几十年的性能分析中总结出的一套相对适用于大部分系统的性能指标。
除非一个系统被设计得相当诡异,一般来说大部分系统都可以用KPI指标进行评估。当然,如果系统怪异到连最通常的KPI都不适用的情况下,那么这个系统的设计者估计也可以离职了。
最通常的KPI可以说是缓冲池命中率。相信大部分DB2DBA都听说过,就是说有百分之多少的机会,一个逻辑读会发现数据已经存在缓冲池内部。这里我们先不给出具体数值,在下一章中,我们会列举很多常用的KPL以及它们的用法和意义。
数据收集频率很重要,每一次数据收集前,我们都要弄清楚“从这次的收集中我们需要研究什么方向”,以及“为什么在前一次的收集中我们没有收集到相关数据”。我们的目标是尽量减少无效的数据收集次数,但是由于性能问题的特殊性,人们不可能通过一次收集,就把所有可能发生性能问题的相关数据全部拿到。

喜欢DB2数据库管理最佳实践 [平装]请与您的朋友分享,由于版权原因,读书人网不提供图书下载服务

热点排行