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
显示全部信息在日常的运维工作中,我们经常会遇到一些性能下降的问题,这些问题往往很隐蔽,排查起来非常困难。有时候,即使查询了相关的文档,也难以找到问题的根源。我渴望找到一本能够深入剖析数据库性能诊断的图书,能够提供一些行之有效的方法和工具。比如,对于慢查询的识别和优化,有哪些系统性的方法?如何通过监控指标来判断数据库是否出现性能瓶颈?在遭遇高负载时,如何有效地分析和解决问题?我特别希望这本书能够提供一些实际的案例,详细地展示如何一步步地诊断和解决这些复杂的性能问题,例如,如何利用explain计划来分析查询语句,如何调整数据库参数来提升性能,以及如何通过SQL语句的优化来达到事半功倍的效果。
评分最近工作上接触到了一些关于数据库高可用和灾备的课题,需要对这方面的内容有更深入的了解。目前市面上的一些书籍,要么过于理论化,要么就是只讲一些基础的概念,对于如何构建一个真正稳定可靠的数据库系统,如何应对各种突发情况,显得有些苍白。我特别想了解的是,在实际的生产环境中,有哪些成熟的策略可以用来保障数据的持续可用性?例如,对于数据备份和恢复的策略,如何根据业务需求来制定不同的备份周期和恢复目标?在进行主从复制或集群部署时,如何处理好数据一致性问题,以及在发生故障时,如何实现快速的切换和恢复?我希望这本书能够提供一些具体的指导,比如在常见的故障场景下,应该如何操作,有哪些步骤需要注意,以及可能遇到的风险点。我非常看重实操性的指导,因为理论知识再多,也抵不上一次成功的故障排除经验。
评分目前团队在使用的数据库版本比较老旧,但由于业务的依赖性,短期内无法进行大规模的升级。这导致我们在使用一些新的技术特性时受到限制,同时也面临着一些潜在的安全风险。我希望能够找到一本能够帮助我们更好地管理和优化现有数据库环境的书籍,即使是在旧版本上,也能挖掘出更多的潜力。比如,如何通过一些技巧性的配置,来提升老版本数据库的性能?在安全方面,有哪些必须要注意的加固措施?而且,对于一些通用的数据库管理和维护的原则,我希望能有更深入的理解,从而提升团队的整体运维水平。我希望这本书能够提供一些实用的建议,帮助我们在有限的资源下,最大化地保障数据库的稳定性和安全性。
评分一本好的技术书籍,首先得在内容上够“硬”,能切实解决读者在实际工作中遇到的问题。我最近一直在折腾一个大型的数据库迁移项目,其中涉及到复杂的性能调优和故障排查,说实话,很多时候感觉自己像是大海捞针,缺乏系统性的方法论。尤其是在面对一些非预期的系统行为时,诊断起来更是耗费精力。我期望找到一本能够提供详实案例分析,并且能够循序渐进地引导读者理解问题根源的书籍。比如,对于那种看似微不足道的参数配置,却可能引发连锁反应的场景,书中能否给出深入的剖析?或者,在处理高并发请求时,如何科学地分配资源,避免死锁和性能瓶颈?更重要的是,这种分析应该基于实际操作经验,而非纸上谈兵。我希望这本书不仅仅是罗列知识点,更能教会我如何“看懂”数据库的行为,理解其内部运作机制,从而在遇到问题时,能够快速定位,并制定有效的解决方案。我一直认为,一个优秀的数据库管理员,不仅要懂理论,更要具备强大的诊断和故障排除能力,而这恰恰是许多技术书籍的薄弱环节。
评分随着业务的不断发展,我们正在经历数据库的规模扩张,这给我带来了不少新的挑战。尤其是在设计新的数据库架构时,如何做到既满足当前的性能需求,又能为未来的扩展留有余地,是一个需要反复权衡的问题。很多时候,我们在做设计决策时,会陷入一些惯性思维,或者对一些潜在的性能瓶颈认识不足。我希望能找到一本能够提供清晰的数据库设计思路和原则的书籍,尤其是在模块化设计、数据分区、索引优化等方面的最佳实践。而且,对于一些非功能性需求,比如安全性、可维护性等,如何融入到整体的系统设计中,我也很感兴趣。我希望这本书能够提供一些能够启发我思考的案例,让我能够跳出固有的框架,从更宏观的视角去审视数据库的设计。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.idnshop.cc All Rights Reserved. 静思书屋 版权所有