失效链接处理 |
DB2设计、管理与性能优化艺术 王飞鹏 PDF 下载
下载地址:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/11151023977.html
相关截图: 资料目录:
章 性能优化方法学
1.1 什么是性能问题 2
1.1.1 如何发现性能问题 2
1.1.2 衡量性能的关键指标 2
1.1.3 性能基准测试 3
1.1.4 制定优化目标 3
1.2 性能优化方法学 3
1.2.1 几种常见误区 4
1.2.2 自上而下(From Top To Down)方法学 4
1.2.3 自下而上(From Down To Top)方法学 5
1.2.4 自上而下和自下而上,如何选择? 5
1.3 高质量数据库设计 5
1.3.1 充分了解需求 6
1.3.2 设计概念模型 7
1.3.3 设计逻辑结构 8
1.3.4 设计物理结构 10
1.3.5 应用开发阶段 10
1.3.6 运行维护阶段 11
1.4 性能调整与优化 11
1.4.1 磁盘瓶颈 12
1.4.2 CPU瓶颈 14
1.4.3 内存瓶颈 16
1.4.4 网络瓶颈 17
1.4.5 懒惰系统 17
1.4.6 关键SQL语句优化 18
1.5 性能优化基本准则 18
1.6 小结 19
第2章 实战案例研究与分享
2.1 性能问题的提出 21
2.1.1 系统现状:从Oracle RAC谈起 21
2.1.2 性能优化解决方案:“分库”架构 22
2.1.3 高可用解决方案:DB2 HADR 24
2.2 实施:经营分析库 26
2.2.1 DB2数据库安装 26
2.2.2 操作系统参数配置 27
2.2.3 实例创建与配置 29
2.2.4 存储规划与文件系统创建 30
2.2.5 数据库创建 32
2.2.6 DB2参数配置 35
2.3 实施:DB2 HADR 38
2.3.1 准备工作 38
2.3.2 复制数据库 38
2.3.3 配置HADR 43
2.3.4 启动主从数据库 44
2.3.5 HADR切换演练 45
2.3.6 为JAVA应用配置ACR 47
2.4 性能分析 48
2.4.1 业务分析 49
2.4.2 系统分析 49
2.4.3 优化方法学与计划 50
2.5 性能优化 51
2.5.1 全局调整和优化 51
2.5.2 人力资源模块优化 64
2.5.3 查询分析模块优化 69
2.5.4 报表应用优化 72
2.5.5 性能优化总结 74
2.6 小结 75
第3章 高质量物理设计
3.1 从数据库硬件选型谈起 77
3.1.1 对主机的考虑 77
3.1.2 对存储的考虑 77
3.1.3 对网络环境的考虑 78
3.1.4 电信公司选型结果 78
3.2 存储设计 79
3.2.1 磁盘与磁盘阵列技术 80
3.2.2 条带化 83
3.2.3 存储设计 84
3.2.4 为电信公司规划存储 87
3.2.5 为电信公司创建数据库 87
3.3 表空间设计 88
3.3.1 表空间管理方式 88
3.3.2 表空间类型 91
3.3.3 表空间参数设置 92
3.3.4 为电信公司设计表空间 93
3.4 内存的设置管理 94
3.4.1 解密DB2内存 95
3.4.2 缓冲池设计 99
3.4.3 缓冲池命中率 101
3.4.4 STMM自动管理内存 102
3.4.5 为电信公司设计缓冲池 102
3.5 高质量物理设计实践 103
3.5.1 硬件配置 103
3.5.2 存储的设计配置 103
3.5.3 数据库参数初始化选择 104
3.5.4 内存设置管理 104
3.5.5 表空间设计管理 104
3.6 小结 105
第4章 经典逻辑设计
4.1 数据库设计不仅是一种艺术 107
4.1.1 业务需求 107
4.1.2 性能需求 107
4.2 常规表设计体现真功夫 108
4.2.1 规范化决定成败 108
4.2.2 用户与模式 109
4.2.3 字段与类型 111
4.2.4 建表的讲究 114
4.2.5 键与约束 118
4.2.6 序列、标识列和生成列 120
4.2.7 处理大对象的智慧 122
4.3 扑朔迷离的临时表 125
4.3.1 声明全局临时表(DGTT) 125
4.3.2 创建全局临时表(CGTT) 127
4.3.3 临时表小结 128
4.4 无处不在的时态表 129
4.4.1 无处不在的时间 129
4.4.2 系统时态表 130
4.4.3 应用时态表 134
4.4.4 双时态表 138
4.4.5 将普通表转换为时态表 139
4.5 索引设计是一招鲜,吃遍天 140
4.5.1 DB2索引长什么样 140
4.5.2 为了性能设计索引 142
4.5.3 吃透组合索引 148
4.5.4 创建索引 150
4.5.5 索引的常见误区 150
4.6 触发器设计一瞥 155
4.7 小结 156
第5章 高级逻辑设计
5.1 如何处理TB级的数据 158
5.1.1 方法学指导 158
5.1.2 合理运用高级设计技术 158
5.2 DB2 DPF设计 159
5.2.1 DB2 DPF技术内幕 160
5.2.2 DB2 DPF设计实践 161
5.3 表分区设计 162
5.3.1 表分区技术内幕 163
5.3.2 全局索引vs分区索引 166
5.3.3 转入转出 168
5.3.4 分区排除技术 169
5.3.5 分区维护 172
5.3.6 V10新特性:多温度存储 173
5.4 MDC表设计 175
5.4.1 MDC技术内幕 175
5.4.2 MDC表设计实践 177
5.4.3 案例:“吃磁盘”的MDC表 178
5.5 分区技术对比:DB2 vs Oracle 179
5.6 MQT设计 184
5.6.1 MQT的能力 184
5.6.2 创建MQT必须掌握的要点 187
5.6.3 深入讨论MQT的刷新机制 188
5.6.4 MQT设计实践 190
5.7 强大的数据压缩 192
5.7.1 行压缩深度剖析 192
5.7.2 V10新特性:自适应压缩 194
5.7.3 数据压缩实践与探索 195
5.8 小结 198
第6章 系统监控
6.1 由一则新闻想到的 200
6.2 操作系统监控 200
6.2.1 CPU监控 201
6.2.2 I/O监控 203
6.2.3 内存监控 204
6.2.4 网络监控 206
6.3 数据库监控 207
6.3.1 快照监视器 207
6.3.2 事件监视器 211
6.3.3 监视器表函数 214
6.3.4 管理视图 218
6.3.5 db2pd 219
6.3.6 db2top 222
6.4 关键SQL语句监控 223
6.4.1 监控最耗费用户CPU时间的动态SQL 223
6.4.2 监控访问热点对象执行次数最多的SQL 224
6.4.3 监控运行时间最长的SQL 224
6.4.4 监控执行次数最多的SQL 224
6.4.5 监控排序次数最多的SQL 225
6.5 关键性能指标(KPI) 225
6.5.1 缓冲区命中率 225
6.5.2 包缓冲区命中率 226
6.5.3 编目缓冲区命中率 226
6.5.4 缓冲区读写平均响应时间 226
6.5.5 日志写入速度 227
6.5.6 锁升级及死锁 227
6.5.7 排序溢出率 227
6.5.8 数据、索引页异步清除比例 228
6.5.9 脏页偷取次数 228
6.6 融会贯通——监控的实践 229
6.6.1 CPU瓶颈问题的监控与诊断 229
6.6.2 I/O瓶颈的监控与诊断 231
6.6.3 内存瓶颈的监控与诊断 234
6.6.4 懒惰系统的监控与诊断 236
6.7 图形化性能管理器 237
6.8 小结 238
第7章 配置参数与运维工具优化
7.1 配置参数优化 240
7.1.1 操作系统参数优化 240
7.1.2 DBM参数优化 242
7.1.3 DB参数优化 244
7.1.4 注册变量优化 249
7.1.5 常见问题总结 250
7.2 日常运维工具的使用与优化 250
7.2.1 知已知彼——统计信息收集 250
7.2.2 集中兵力——碎片整理工具 251
7.2.3 随机应变——重新绑定 253
7.3 数据移动工具 254
7.3.1 导出数据(EXPORT) 255
7.3.2 导入数据(IMPORT) 256
7.3.3 LOAD——导入大数据的核武器 259
7.3.4 LOAD FROM CURSOR轻松移动数据 269
7.3.5 INGEST——性能和可用性间平衡的使者 270
7.3.6 使用db2move在数据库间移动数据 274
7.3.7 db2relocatedb——DB2移形换位 276
7.3.8 存储过程——内部数据挪移的利器 278
7.3.9 特殊对象的移动方式 283
7.4 备份恢复工具优化 286
7.4.1 备份的基本原理与优化 286
7.4.2 DB2崩溃恢复、版本恢复和前滚恢复与优化 290
7.5 运维工具的调速策略 294
7.6 小结 296
第8章 锁和日志优化
8.1 DB2锁机制解析 299
8.1.1 没有锁会发生什么 299
8.1.2 锁的类型和兼容性 301
8.2 DB2隔离级 305
8.2.1 DB2提供的四种隔离级 305
8.2.2 如何设定隔离级 307
8.3 实战案例:锁问题分析和解决 308
8.3.1 什么是锁问题 308
8.3.2 从监控开始 309
8.3.3 锁等待分析和解决 311
8.3.4 锁超时分析和解决 314
8.3.5 锁升级分析和解决 315
8.3.6 死锁分析和解决 316
8.4 深入浅出——DB2日志的秘密 320
8.4.1 DB2日志的原理 320
8.4.2 DB2日志的模式 323
8.4.3 日志优化的实践 325
8.5 并发机制比较:DB2 vs Oracle 326
8.5.1 锁与隔离级别:DB2 vs Oracle 326
8.5.2 日志:DB2 vs Oracle 327
8.6 并发性能优化 328
8.6.1 应用开发 328
8.6.2 数据库调优 329
8.7 小结 330
第9章 SQL语句优化实战
9.1 SQL优化基础,理解DB2优化器 332
9.1.1 SQL语句的编译过程 332
9.1.2 DB2优化器的核心作用 333
9.1.3 SQL语句优化过程 334
9.2 SQL优化关键:分析访问计划 334
9.2.1 解释(Explain)工具 334
9.2.2 解读访问计划 338
9.2.3 表扫描与索引扫描 345
9.2.4 嵌套循环连接、归并连接和哈希连接 348
9.2.5 基数估计和统计信息 353
9.2.6 用优化概要定制访问计划 362
9.3 实战案例集锦 366
9.3.1 案例1:不可思议的物理读次数 367
9.3.2 案例2:理想的索引没用上 370
9.3.3 案例3:标记位(Flag)数据上的runstats时机 374
9.3.4 案例4:NLJOIN vs HSJOIN大比拼 377
9.3.5 案例5:不是压缩惹的祸 381
9.3.6 案例6:居高不下的CPU占用率 385
9.4 高级SQL语句应用 390
9.4.1 Merge语句 390
9.4.2 层次查询和SQL递归 392
9.4.3 报表开发中的GROUP BY扩展 398
9.5 编写高效SQL语句 401
9.5.1 不要检索多余的数据 401
9.5.2 避免在连接谓词中使用复杂表达式 402
9.5.3 将复杂表达式放在常量上 402
9.5.4 使用DB2提供的日期类型 403
9.5.5 谨慎对待隐式类型转换 404
9.5.6 外连接的顺序 404
9.5.7 IN和EXISTS子查询 405
9.5.8 OFNR和FFNR子句 410
9.5.9 动态SQL vs静态SQL 410
9.5.10 分组拼接字符串:LISTAGG 412
9.5.11 事务结束后及时COMMIT 412
9.6 小结 413
0章 DB2数据仓库设计与优化
10.1 数据仓库是什么 415
10.1.1 数据仓库的误区 415
10.1.2 数据仓库的体系结构 417
10.2 支撑数据仓库的DB2特性 417
10.2.1 分区数据库 417
10.2.2 灵活的数据分区 419
10.2.3 多分区环境下的连接(Join)策略 422
10.2.4 物化查询表 424
10.3 DB2数据仓库设计 424
10.3.1 BCU/BPU的设计原则 424
10.3.2 数据BPU上存储划分 427
10.3.3 数据库的文件系统划分 427
10.3.4 仓库中诞生的数据库 428
10.3.5 数据库分区组的设计 428
10.3.6 缓冲池的设计 429
10.3.7 数据库日志的设计 429
10.3.8 表空间的设计 430
10.3.9 表的存放技巧 430
10.3.10 数据压缩 431
10.4 数据仓库实战 431
10.4.1 硬件环境 431
10.4.2 实例的规划与实施 432
10.4.3 数据库的规划与实施 436
10.4.4 参数设置 439
10.4.5 其他操作 440
10.5 工作负载管理(WLM) 442
10.5.1 管理已知的工作负载 442
10.5.2 管理不可预见的工作负载 443
10.5.3 管理并行的LOAD工作负载 446
10.5.4 监控工作负载 446
10.6 数据仓库优化总结 448
10.6.1 与OLTP系统的区别 448
10.6.2 设定优化目标 449
10.6.3 物理优化 449
10.6.4 逻辑优化 450
10.7 与Oracle数据仓库比较 450
10.8 小结 451
1章 DB2 pureScale集群数据库
11.1 深入浅出DB2 pureScale架构 453
11.1.1 DB2 pureScale架构 453
11.1.2 DB2 pureScale的特点 454
11.1.3 DB2 pureScale与DB2 DPF的区别 455
11.2 从细节入手:与Oracle RAC对比 455
11.3 某银行DB2 pureScale实战案例 457
11.3.1 从硬件配置开始 457
11.3.2 突破难点:网络规划 458
11.3.3 抓住重点:存储与文件系统 465
11.3.4 检查与配置 467
11.3.5 正式安装 471
11.3.6 数据库部署 473
11.3.7 应用端配置 473
11.4 DBA必须掌握的: DB2 pureScale实用运维命令 476
11.4.1 日常管理命令 477
11.4.2 节点维护命令 479
11.4.3 GPFS文件系统管理命令 480
11.4.4 监控命令 481
11.5 DB2 pureScale规划总结 484
11.6 小结 485
后记 信念的奇迹
缩略语
参考文献
|