D1章 DB2体系结构 1
1.1 DB2 进程体系结构 1
1.1.1 DB2进程技术模型 2
1.1.2 与操作系统相关的进程 3
1.1.3 与实例相关的进程和线程 5
1.1.4 与数据库相关的进程和线程 6
1.1.5 与应用程序相关的进程 9
1.1.6 监控EDU运行的SQL语句 10
1.1.7 收集进程/线程堆栈信息 12
1.2 代理程序通信 13
1.2.1 代理程序概述 13
1.2.2 代理程序相关配置参数 13
1.2.3 应用程序、代理程序和事务 16
1.2.4 代理和连接的常见问题与优化 17
1.3 实用程序相关进程 21
1.3.1 LOAD相关进程 21
1.3.2 备份/恢复相关进程 26
1.4 DB2内存体系结构 29
1.4.1 实例共享内存 30
1.4.2 数据库共享内存 31
1.4.3 应用程序共享内存 36
1.4.4 代理私有内存 38
1.4.5 代理程序与应用程序之间通信时的内存 40
1.4.6 共享内存与私有内存 40
1.5 内存集、内存池和内存块 42
1.5.1 实例级内存集 43
1.5.2 跟踪内存使用 46
1.5.3 定位内存泄漏 48
1.5.4 数据库级内存集 49
1.6 内存自动调优 51
1.7 内存案例分析 53
1.8 DB2存储内部结构 55
1.8.1 DB2存储层次结构 55
1.8.2 表空间存储结构 57
1.8.3 SMS表空间的存储结构 57
1.8.4 DMS表空间的头部信息 57
1.8.5 DMS表空间映射 58
1.8.6 表空间的高水位标记 59
1.8.7 RID格式 59
1.8.8 索引叶的内部结构 60
1.9 数据库物理设计 61
1.9.1 表空间容器的放置原则 61
1.9.2 数据库物理设计原则 61
1.10 数据库逻辑设计 62
1.10.1 缓冲池设计原则 62
1.10.2 表空间设计原则 67
1.10.3 索引设计原则 77
1.11 本章小结 79
D2章 DB2表的GJ特性 81
2.1 表分区 81
2.1.1 定义 81
2.1.2 优点 82
2.1.3 分区表的基本用法 83
2.1.4 分区表的管理 96
2.1.5 分区重组 103
2.1.6 分区表detach的常见问题 104
2.2 多维群集(MDC)及应用
案例 107
2.2.1 创建MDC表 107
2.2.2 MDC测试案例 108
2.2.3 MDC考虑 110
2.3 表分区和多维集群表的使用 110
2.4 物化查询表及应用案例 114
2.4.1 物化查询表(MQT) 114
2.4.2 MQT总结 117
2.5 MDC、数据库分区、MQT和
表分区配合使用 118
2.6 行压缩 129
2.6.1 概念 129
2.6.2 启用或禁用表的压缩功能 131
2.6.3 创建数据字典 133
2.6.4 评估压缩空间 135
2.6.5 检查压缩状态 135
2.6.6 行压缩应用案例 136
2.6.7 索引压缩及应用案例 145
2.7 本章小结 148
D3章 数据库安全 149
3.1 DB2安全机制概述 150
3.2 认证(authentication) 152
3.2.1 什么时候进行DB2身份
认证 152
3.2.2 DB2身份认证类型 153
3.3 权限(authorization) 158
3.3.1 权限层次 158
3.3.2 实例级权限 159
3.3.3 数据库级权限 164
3.4 特权(privilege) 167
3.4.1 特权层次结构 167
3.4.2 授予特权 170
3.4.3 撤销特权 172
3.4.4 显式特权/隐式特权/间接
特权 174
3.4.5 静态和动态SQL特权考虑
因素 177
3.4.6 维护特权/权限 179
3.5 某银行安全规划案例 181
3.6 执行安全审计(db2audit) 183
3.6.1 实例级审计 183
3.6.2 数据库级审计 188
3.7 基于标签的访问控制(LBAC)
及案例 191
3.8 本章小结 198
D4章 OLTP系统设计与管理 199
4.1 基础环境设计 199
4.1.1 硬件环境设计 200
4.1.2 操作系统设计 200
4.1.3 实例和数据库参数设置 200
4.2 物理结构设计 202
4.2.1 DB2页大小的选择 202
4.2.2 表空间类型的选择 203
4.2.3 页大小、表大小和表空间
大小 203
4.2.4 表空间参数的设置 203
4.2.5 数据库BUFFERPOOL的创建
设置 205
4.3 数据库对象的设计原则 206
4.3.1 表相关的设计原则 206
4.3.2 性能相关的设计原则 213
4.4 代码开发的基本原则 215
4.4.1 命名规范 215
4.4.2 书写规范 216
4.4.3 开发规范 216
4.5 本章小结 221
D5章 OLAP系统设计与管理 223
5.1 DB2 DPF多分区基本架构和
相关概念 224
5.1.1 DB2 DPF基本架构 224
5.1.2 DB2 DPF数据的分布键
以及数据倾斜问题 224
5.1.3 DB2 DPF数据库的
并行I/O 226
5.1.4 DB2 DPF数据库的扩展性 227
5.2 DB2 DPF多分区应用 228
5.3 OLAP高性能设计:DPF TP
MDC 231
5.4 配置DB2 DPF多分区环境 233
5.4.1 DB2 DPF安装准备 233
5.4.2 DB2 DPF环境搭建 235
5.4.3 创建表空间和缓冲池 238
5.5 DB2 DPF运维操作实践 239
5.5.1 DB2 DPF分区节点的扩展
和删除实践 239
5.5.2 DB2 DPF数据均衡实践 240
5.5.3 load copy yes以及相应的
前滚方法 242
5.5.4 多分区load失败处理 245
5.6 OLAP系统设计与应用开发
ZJ实践 247
5.6.1 表的设计ZJ实践 247
5.6.2 数据访问方式ZJ实践 248
5.6.3 复制表的定义 249
5.7 DB2列组织表 250
5.7.1 DB2列组织表介绍 250
5.7.2 DB2列组织表应用场景和
环境配置 251
5.7.3 创建列组织表 253
5.7.4 向列组织表装入(LOAD)
数据 255
5.7.5 列组织表的访问计划 256
5.8 本章小结 257
D6章 高可用与灾备 259
6.1 HADR的设计理念 260
6.1.1 什么是高可用性 260
6.1.2 HADR的原理 261
6.1.3 HADR的日志处理模式 262
6.1.4 HADR的限制 264
6.2 HADR典型场景的搭建 265
6.2.1 对基础环境的要求 265
6.2.2 HADR的配置参数 265
6.2.3 复制PRIMARY数据库 267
6.2.4 启动STANDBY 267
6.2.5 启动PRIMARY 268
6.3 HADR的维护 268
6.3.1 监控HADR 268
6.3.2 HADR的切换方式 273
6.3.3 切换后对应用产生的影响 273
6.3.4 HADR状态 274
6.3.5 HADR异常状态的处理 275
6.4 HADR性能调优 275
6.4.1 接收缓冲 275
6.4.2 网络相关 276
6.4.3 内部参数 276
6.4.4 表和表空间的调整 276
6.5 HADR高可用案例分享 277
6.5.1 HADR结合PowerHA 277
6.5.2 HADR结合TSA 282
D7章 DB2集群与同城双活 287
7.1 DB2集群介绍 288
7.2 DB2集群的搭建 289
7.2.1 系统物理架构 289
7.2.2 系统环境准备 291
7.2.3 配置共享存储 291
7.2.4 配置IOCP 292
7.2.5 配置RoCE万兆网络环境 293
7.2.6 检查文件系统的空间 296
7.2.7 配置时钟同步服务 296
7.2.8 配置用户名和用户组 299
7.2.9 配置用户限制 299
7.2.10 配置集群互信 300
7.2.11 执行安装检查 301
7.2.12 安装DB2 pureScale软件 302
7.2.13 安装DB2许可 303
7.2.14 创建实例 304
7.2.15 配置实例 305
7.2.16 创建GPFS文件系统 307
7.2.17 创建数据库 307
7.3 DB2集群的维护 307
7.3.1 实例的启停 307
7.3.2 集群的管理 308
7.3.3 故障处理 313
7.4 DB2集群设计调优 315
7.4.1 使用小的pagesize 316
7.4.2 使用大的extentsize 316
7.4.3 使用lob inline方法 316
7.4.4 使用大的pctfree设置 316
7.4.5 巧用CURRENT MEMBER 316
7.4.6 巧用随机索引 317
7.5 同城双活集群介绍 318
7.6 DB2集群异地容灾 320
7.6.1 DB2集群异地容灾架构 320
7.6.2 Replay Member概念 320
7.6.3 DB2集群异地容灾同步
模式 321
7.6.4 DB2集群异地容灾切换
方式 322
7.6.5 DB2集群异地容灾客户端
连接方式 322
7.6.6 DB2集群异地容灾架构的
高可用性 323
7.6.7 DB2集群异地容灾特性 323
7.7 本章小结 323
D8章 DB2GJ监控 325
8.1 利用表函数监控 325
8.2 监控指标和案例 329
8.2.1 一些常用的监控指标和
语句 329
8.2.2 编写脚本以获取监控信息 335
8.3 db2pd及监控案例 337
8.3.1 db2pd概述 337
8.3.2 db2pd监控案例 337
8.4 事件监视器及监控案例 349
8.4.1 事件监视器的创建方法和
步骤 350
8.4.2 事件监控器案例 351
8.4.3 编写脚本从事件监控器中
获取监控信息 354
8.5 db2mtrk及监控案例 356
8.6 本章小结 358
D9章 DB2故障诊断 359
9.1 DB2故障诊断机制 359
9.1.1 故障诊断相关文件 359
9.1.2 设置故障诊断级别 368
9.2 深入讲解故障诊断文件 373
9.2.1 解释管理通知日志文件
条目 373
9.2.2 解释诊断日志文件条目 375
9.3 故障诊断工具 377
9.3.1 使用db2support收集环境
信息 377
9.3.2 db2ls和db2level 378
9.3.3 使用db2diag分析
db2diag.log文件 380
9.3.4 db2pd和db2trc 383
9.3.5 DB2内部返回码 385
9.4 故障诊断分析流程 387
9.4.1 故障诊断流程 387
9.4.2 结合系统事件判断 390
9.4.3 结合系统运行状况诊断 390
9.5 案例分析 391
9.6 本章小结 395
D10章 DB2案例精选 397
10.1 实例常见问题和诊断案例 397
10.1.1 实例无法启动问题总结 397
10.1.2 实例无法正常终止 398
10.1.3 实例目录误删除 398
10.1.4 实例崩溃问题 399
10.2 数据库常见问题总结 399
10.2.1 数据库日志空间满
SQL0964C错误 399
10.2.2 数据库时区和时间 400
10.2.3 中文乱码和代码页转换 401
10.2.4 通信错误SQL30081N 401
10.2.5 数据库备份、前滚暂挂 402
10.2.6 数据库活动日志删除 402
10.2.7 数据库损坏(数据页、
索引页)SQL1043C 403
10.2.8 索引重新构建问题 405
10.2.9 DB2实用程序不可用 405
10.2.10 快速清空表数据 406
10.2.11 表和索引统计信息
不一致 407
10.3 表空间状态 407
10.3.1 backup pending 408
10.3.2 脱机(offline and Dt
accessible) 409
10.3.3 quiesced exclusive | share |
update 409
10.3.4 restore pending和storage
must be defined 410
10.3.5 rollforward pending 410
10.3.6 表空间状态总结 411
10.4 LOAD期间表状态总结 411
10.4.1 check pending 411
10.4.2 load pending 412
10.4.3 load in progress 412
10.4.4 Dt load restartable 413
10.4.5 read access only 414
10.4.6 unavailable 414
10.5 锁相关问题 415
10.5.1 锁升级 415
10.5.2 锁等待问题解决流程 415
10.5.3 死锁 415
10.6 CPU常见问题 416
10.7 内存常见问题 416
10.7.1 bufferpool设置过大,
导致数据库无法启动 416
10.7.2 排序溢出 416
10.7.3 锁内存不足 417
10.8 latch问题导致系统性能
急剧下降 417
10.9 备份恢复常见问题 417
10.10 数据移动常见问题总结 418
10.10.1 标识列 419
10.10.2 生成列 422
10.10.3 大对象 426
10.10.4 空值处理 427
10.10.5 定界符注意问题 430
10.10.6 PC/IXF注意问题 433
10.10.7 代码页不同注意事项 435
10.10.8 日期格式 436
10.10.9 XML问题 438
10.11 安全常见问题总结 441
10.11.1 从PUBLIC撤销隐式的
权限和特权 441
10.11.2 保护系统编目视图 443
10.11.3 创建实例用户并显式
指定组 444
10.11.4 为SYSxxx_GROUP参数
使用显式值 444
10.11.5 跟踪隐式特权 445
10.11.6 不授予不必要的特权 446
10.11.7 使用加密的
AUTHENTICATION
模式 446
10.11.8 使用D立ID创建和
拥有对象 448
10.11.9 使用视图控制数据
访问 449
10.11.10 使用存储过程控制数据
访问 450
10.11.11 使用LBAC控制数据
访问 451
10.11.12 对重要敏感数据进行
加密 451
10.12 SQL0805和SQL0818
错误 454
显示全部信息这本《DB2高级管理.系统设计与诊断案例(第3版)》绝对是我近几年读过的关于数据库技术的书籍中,最令人惊艳的一本。它突破了传统教科书的枯燥模式,以一种非常引人入胜的方式,将DB2的复杂世界呈现在读者面前。作者并非简单地罗列各种技术概念,而是将它们融入到生动的故事和详细的案例分析中。我最喜欢它对“诊断”这一环节的深入探讨。书中详细介绍了各种诊断工具的使用方法,以及如何从海量的数据中提取关键信息,从而快速定位问题。例如,书中关于内存调优的案例,让我对DB2的内存管理有了更深刻的认识,也学会了如何通过调整参数来优化内存使用效率。此外,书中对于系统设计部分的讲解,也让我受益匪浅。它不仅仅是教你如何使用DB2,更是引导你思考如何构建一个高性能、高可用、易于维护的DB2系统。这本书的写作风格非常独特,它就像是一位经验丰富的老师,在课堂上与学生互动,一点一点地引导你深入思考。读完这本书,我不仅掌握了许多实用的DB2技术,更重要的是,我学会了如何像一个真正的DB2专家一样去思考问题。
评分对我而言,《DB2高级管理.系统设计与诊断案例(第3版)》这本书带来的最直接感受是“实用”。我是一名在实际工作中经常与DB2打交道的IT从业者,每天都会遇到各种各样的问题,从简单的SQL调优到复杂的系统故障排查。市面上很多技术书籍,虽然内容都很扎实,但往往过于理论化,读完之后感觉距离实际操作还有一段距离。这本《DB2高级管理.系统设计与诊断案例(第3版)》则完全不同,它直接切入主题,用大量的真实案例来讲解DB2的高级管理和诊断技巧。我印象最深刻的是关于锁等待分析的部分,书中有详细的图示和命令行指令,教我如何识别和解决常见的锁冲突问题,这对我日常工作中处理并发访问的难题帮助非常大。另外,书中的系统设计部分也给了我很多启发,让我意识到在设计之初就应该考虑性能和可维护性,而不是等到问题出现后再去补救。这本书的语言风格也十分接地气,作者在讲解复杂的技术点时,会用非常形象的比喻,让人容易理解。总的来说,这本书是一本我愿意反复翻阅的工具书,每次遇到新的问题,我都能从中找到解决的思路和方法。
评分这本书,我真的爱了!自从我开始涉足数据库领域,就一直被各种性能瓶颈和疑难杂症折磨得够呛。市面上关于DB2的书不少,但很多都停留在基础概念的讲解,或者过于理论化,读起来就像在嚼蜡。直到我偶然翻到这本《DB2高级管理.系统设计与诊断案例(第3版)》,简直是打开了新世界的大门。它不像那些枯燥的技术手册,而是以一种非常接地气的方式,深入浅出地剖析了DB2在实际应用中会遇到的各种挑战。书中的案例分析尤其精彩,那些作者团队遇到的真实问题,以及他们是如何一步步排查、定位,最终解决的,读起来比侦探小说还引人入胜。我尤其记得其中关于索引优化和锁等待分析的章节,那些我之前一直头疼的问题,在这本书的指导下,我终于找到了清晰的思路和有效的解决办法。它不是那种“读完就能成为专家”的速成宝典,而是像一位经验丰富的导师,带着你一步步深入探索DB2的内在机制,让你在解决问题的过程中,真正地理解其背后的原理,从而举一反三。这本书的语言风格也很赞,作者没有用太多华丽的辞藻,而是用最直观、最准确的语言来阐述复杂的概念,这一点对于像我这样的初学者来说,简直是福音。每次读完一个案例,我都会感觉自己的DB2功力又提升了一个台阶。
评分说实话,一开始拿到《DB2高级管理.系统设计与诊断案例(第3版)》这本书,我并没有抱太高的期望。毕竟,DB2这个主题本身就比较小众,而且“高级管理”和“系统设计与诊断”听起来就让人头皮发麻。但当我翻开第一页,我就被深深吸引了。这本书的叙述方式非常独特,它没有采用传统的章节划分,而是通过一系列精心设计的案例来展开。每个案例都像一个真实世界的挑战,作者团队会详细描述问题的发生背景、表面现象,以及他们如何一步步深入挖掘,最终找到根源。我特别喜欢作者在分析问题时展现出的那种严谨的逻辑和深厚的功底。他们不会轻易下结论,而是会通过收集各种信息,比如系统日志、监控数据、执行计划等等,来支撑他们的判断。读这本书的过程,就像是在跟随一群顶尖的DB2专家进行头脑风暴,学习他们分析问题、解决问题的思路和方法。其中一些案例涉及到一些我之前从未接触过的DB2内部机制,通过这本书的学习,我对DB2的理解又上升了一个维度。它让我明白,真正的DB2高手,不仅仅是掌握命令和参数,更是能够深刻理解数据库的运行原理,并在复杂的环境中游刃有余。
评分这本《DB2高级管理.系统设计与诊断案例(第3版)》给我的感觉,就像是在一个经验丰富的老兵的指导下进行实战演习。它没有过多地去描述DB2的架构图有多么精妙,也没有大谈特谈那些理论上听起来很美但实际上难以落地的方法论。相反,它把大量的篇幅放在了“如何做”以及“为什么这么做”上。书中的诊断案例非常丰富,涵盖了从性能下降到数据损坏等各种可能遇到的棘手问题。我最喜欢的部分是关于查询性能调优的章节,作者通过分析实际的SQL语句,展示了如何一步步识别出性能瓶颈,比如全表扫描、不合理的连接顺序等等,然后提供了一系列的优化策略,包括修改SQL、调整数据库参数、创建或修改索引等。而且,它不仅仅是给出解决方案,更重要的是解释了这些解决方案背后的逻辑,让你明白为什么这样做有效,以及在什么情况下不适用。这种“授人以鱼不如授人以渔”的教学方式,让我受益匪浅。我感觉自己不再是那个遇到问题只会束手无策的“菜鸟”,而是能够带着批判性的思维去分析问题,并找到最适合的解决方案。这本书的排版也很清晰,图文并茂,即使是复杂的概念,通过图示也能更容易理解。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有