内容简介
第1章 DB2介绍和安装
1.1 DB2数据库概述
1.1.1 DB2发展历史
1.1.2 DB2版本和平台支持
1.1.3 DB2产品组件和功能
1.2 DB2数据库的安装与配置
1.2.1 DB2在Windows上的安装
1.2.2 DB2在Linux/UNIX上的安装
1.3 DB2数据库的体系结构
第2章 创建实例
2.1 实例
2.1.1 实例的概念
2.1.2 创建实例
2.1.3 实例目录
2.1.4 实例的相关命令
2.1.5 DB2INSTANCE变量介绍
2.1.6 删除实例
2.1.7 配置实例
第3章 创建数据库和表空间
3.1 创建数据库
3.1.1 DB2数据库存储模型
3.1.2 表空间管理类型
3.1.3 创建数据库
3.1.4 数据库目录
3.2 设计表空间
3.2.1 创建表空间
3.2.2 维护表空间
3.2.3 表空间设计注意事项
3.2.4 prefechsize大小选择
3.2.5 文件系统(CIO/DIO)和裸设备
3.2.6 设置OVERHEAD和TRANSFERRATE
3.2.7 优化RAID设备上表空间的性能
3.2.8 合理设置系统临时表空间
3.3 缓冲池
3.3.1 缓冲池的使用方法
3.3.2 缓冲池和表空间之间的关系
3.3.3 维护缓冲池
3.3.4 缓冲池的设计原则
3.4 多温度存储器
3.4.1 存储器组
3.4.2 表空间与存储器组
3.5 本章小结
第4章 访问数据库
4.1 访问DB2
4.2 DB2 CLP处理程序
4.2.1 DB2 CLP简介
4.2.2 DB2 CLP设计
4.2.3 DB2 CLP命令选项
4.2.4 设置DB2_CLPPROMPT以定制DB2 CLP
4.3 配置DB2服务器的TCP/IP通信
4.3.1 在服务器上更新services文件
4.3.2 在服务器上更新数据库管理器配置文件
4.3.3 设置DB2服务器的通信协议
4.3.4 查看服务器通信端口的状态
4.4 配置客户机至服务器通信
4.4.1 客户机至服务器通信概述
4.4.2 深入了解DB2节 点目录、数据库目录
4.4.3 使用CLP配置客户机到服务器通信的案例
4.5 实际生产中连接数据库的各种方式
4.6 案例:数据库连接问题诊断
4.7 本章小结
第5章 创建数据库对象
5.1 模式
5.1.1 模式的概念
5.1.2 系统模式
5.1.3 设置和获得当前模式
5.1.4 模式和用户的区别
5.2 表设计
5.2.1 选择合适的数据类型
5.2.2 选择合适的约束类型
5.2.3 使用not null with default
5.2.4 生成列及应用案例
5.2.5 自动编号和标识列应用案例
5.2.6 使用not logged initially特性
5.2.7 使用append on特性
5.2.8 数据、索引和大对象分开存放
5.2.9 设置pctfree
5.2.10 表的locksize
5.2.11 表的volatile特性
5.2.12 表维护相关命令
5.2.13 表设计高级选项
5.3 索引设计
5.3.1 索引的优点
5.3.2 索引类型
5.3.3 索引结构
5.3.4 理解索引的访问机制
5.3.5 创建集群索引
5.3.6 创建双向索引
5.3.7 完全索引访问(index access only)
5.3.8 创建索引示例
5.3.9 索引总结
5.4 使用序列提高性能
5.4.1 应用程序性能和序列
5.4.2 序列的设计原则
5.4.3 维护序列
5.4.4 比较序列与标识列
5.5 视图
5.5.1 视图的类型
5.5.2 创建with check option视图
5.5.3 维护视图
5.6 表表达式
5.6.1 嵌套的表表达式
5.6.2 公用表表达式
5.7 触发器设计
5.7.1 触发器的类型
5.7.2 触发器创建示例
5.7.3 触发器设计总结
5.8 例程
5.9 本章小结
第6章 数据移动
6.1 数据移动格式
6.1.1 定界ASCII文件格式
6.1.2 非定界ASCII文件格式
6.1.3 PC/IXF文件格式
6.1.4 工作表文件格式
6.1.5 游标
6.2 EXPORT
6.2.1 EXPORT概述
6.2.2 导出数据
6.2.3 导出数据示例
6.3 IMPORT
6.3.1 IMPORT概述
6.3.2 导入数据
6.3.3 导入示例
6.4 LOAD
6.4.1 LOAD概述
6.4.2 装入数据
6.4.3 装入示例
6.4.4 在线LOAD
6.4.5 监控LOAD进度
6.4.6 LOAD期间和之后的表空间状态
6.4.7 使用CURSOR文件类型移动数据
6.4.8 提高LOAD性能
6.4.9 LOAD失败恢复
6.4.10 LOAD和IMPORT的比较
6.5 数据移动的性能问题
6.6 db2move和db2look
6.6.1 数据库移动工具——db2move
6.6.2 DB2 DDL提取工具——db2look
6.6.3 利用db2move和db2look移动数据的案例
6.6.4 带COPY操作的db2move实用程序
6.7 本章小结
第7章 数据库备份与恢复
7.1 恢复的概念
7.1.1 崩溃恢复(Crash Recovery)
7.1.2 灾难恢复(Disaster Recovery)
7.1.3 版本恢复(Version Restore)
7.1.4 前滚恢复(RollForward Recovery)
7.2 DB2日志
7.2.1 日志文件的使用
7.2.2 日志类型
7.2.3 日志相关配置参数
7.2.4 数据库日志总结
7.2.5 DB2日志的建议设置
7.3 数据库和表空间备份
7.3.1 数据库备份
7.3.2 表空间备份
7.3.3 增量备份
7.3.4 检查备份完整性——db2ckbkp
7.4 数据库和表空间恢复
7.4.1 数据库恢复
7.4.2 表空间恢复
7.4.3 增量恢复
7.4.4 增量恢复检查——db2ckrst
7.4.5 重定向恢复
7.4.6 恢复已删除的表
7.5 数据库和表空间前滚
7.5.1 数据库前滚
7.5.2 表空间前滚
7.6 RECOVER实用程序
7.7 恢复历史文件
7.8 数据库重建
7.8.1 数据库重建的概念
7.8.2 使用表空间备份重建可恢复数据库
7.8.3 只使用部分表空间备份重建可恢复数据库
7.8.4 使用包含日志文件的在线备份重建数据库
7.8.5 使用增量备份映像重建可恢复数据库
7.8.6 使用重定向选项重建可恢复数据库
7.8.7 重建不可恢复数据库
7.8.8 数据库重建的限制
7.9 监控备份、复原和恢复进度
7.10 备份、恢复和复原期间的表空间状态
7.11 优化备份、复原和恢复性能
7.12 备份恢复最佳实践
第8章 SQL基础知识
8.1 简单查询入门
8.1.1 SELECT和FROM
8.1.2 WHERE
8.1.3 ORDER BY
8.1.4 GROUP BY和HAVING
8.2 搜索条件
8.2.1 谓词种类
8.2.2 基本谓词
8.2.3 量化谓词
8.2.4 BETWEEN、EXISTS和IN谓词
8.2.5 LIKE谓词
8.2.6 NULL谓词
8.3 数据操作语言
8.3.1 INSERT
8.3.2 DELETE
8.3.3 UPDATE
8.3.4 MERGE
8.4 多表查询
8.4.1 JOIN连接
8.4.2 集合运算
8.5 高性能的SQL语句
8.5.1 高效SQL的准则
8.5.2 提高插入性能的准则
8.5.3 复杂查询的准则
8.5.4 索引的注意事项
8.6 本章小结
第9章 DB2基本监控方法
9.1 监控工具概述
9.2 快照监视器
9.3 利用表函数监控
9.4 性能管理视图及案例
9.5 快照监视器案例
9.5.1 监控案例1——动态SQL语句
9.5.2 监控案例2——通过表函数监控
9.5.3 编写快照监控脚本
9.5.4 db2pd及监控案例
9.5.5 事件监视器及监控案例
9.5.6 db2mtrk及监控案例
9.6 本章小结
第10章 运行数据库必须考虑的数据库设置
10.1 数据库配置参数概述
10.2 通信设置
10.3 内存有关的设置
10.4 锁有关的设置
10.5 日志相关的配置
10.6 自动维护相关的配置
10.7 监控相关的配置
10.8 安全相关的设置
10.9 供参考的DB2上线前设置
10.10 本章小结
第11章 DBA日常运行维护
11.1 统计信息更新
11.1.1 统计信息的重要性
11.1.2 减小RUNSTATS对系统性能影响的策略
11.1.3 DB2自动统计信息收集
11.2 统计信息更新案例分析
11.2.1 RUNSTATS更新示例
11.2.2 收集分布式统计信息
11.2.3 包含频率和分位数统计信息的RUNSTATS
11.2.4 包含列组统计信息的RUNSTATS
11.2.5 包含LIKE STATISTICS的RUNSTATS
11.2.6 包含统计信息配置文件的RUNSTATS
11.2.7 带有抽样的RUNSTATS
11.2.8 带有系统页级抽样的RUNSTATS
11.2.9 收集统计信息的其他可供选择的方法
11.2.10 RUNSTATS总结
11.3 碎片整理
11.3.1 表重组(REORG)
11.3.2 索引重组
11.3.3 重组表和索引的成本
11.3.4 合理设计以减少碎片生成
11.3.5 启用表和索引的自动重组
11.4 碎片整理案例分析
11.4.1 执行表、索引检查是否需要做REORG
11.4.2 表和索引碎片整理
11.5 案例:生成碎片检查、统计信息更新、碎片整理和REBIND脚本
11.6 重新绑定程序包
11.7 DB2健康检查
11.7.1 查看是否有僵尸实例进程
11.7.2 检查数据库是否一致
11.7.3 查找诊断日志以判断是否有异常
11.7.4 检查数据库备份完整性、日志归档是否正常
11.7.5 维护实例目录和数据库目录的权限
11.7.6 查看磁盘空间
11.8 数据库监控
11.8.1 监控工具
11.8.2 计算数据库的大小
11.8.3 监控表的物理大小
11.8.4 监控单个索引的大小
11.8.5 监控数据库实用工具的进度
11.8.6 监控数据库crash recovery进度
11.8.7 监控catalog cache命中率
11.8.8 监控package cache命中率
11.8.9 监控排序溢出率
11.8.10 监控正在REORG的表
11.8.11 监控缓冲池命中率
11.8.12 监控高成本应用程序
11.8.13 监控正在执行的时间最长的SQL语句
11.8.14 监控SQL准备和预编译时间最长的SQL语句
11.8.15 监控执行次数最多的SQL语句
11.8.16 监控执行时间最长的SQL语句
11.8.17 监控排序次数最多的SQL语句
11.8.18 监控引起锁等待的SQL语句
11.8.19 查找新创建的对象
11.8.20 查找无效对象
11.8.21 检查表空间状态
11.8.22 检查表状态
11.8.23 查找需要REORG的表和索引
11.8.24 查找需要RUNSTATS的表和索引
11.8.25 定期清理db2diag.log文件
11.8.26 查找异常增长的表空间和表
11.8.27 数据库维护总结
第12章 数据库常用工具
12.1 解释工具
12.1.1 Visual Explain(可视化解释)
12.1.2 db2expln
12.1.3 db2exfmt
12.1.4 各种解释工具的比较
12.1.5 如何从解释信息中获取有价值的建议
12.2 索引设计工具(db2advis)
12.2.1 DB2 Design Advisor(db2advis)
12.2.2 DB2 Design Advisor(db2advis)案例讲解
12.3 基准测试工具db2batch
12.3.1 db2batch
12.3.2 db2batch基准程序测试分析示例
12.4 数据一致性检查工具
12.4.1 db2dart及案例
12.4.2 inspect及案例
12.5 db2look
12.5.1 db2look概述
12.5.2 利用db2look构建模拟测试数据库
12.6 其他工具
12.6.1 db2bfd
12.6.2 db2_kill和db2nkill
12.6.3 db2tbst
12.7 本章小结
第13章 DB2 V11新特性
13.1 分区数据库(DPF)支持BLU
13.1.1 DB2 with BLU Acceleration基本介绍
13.1.2 BLU的用法
13.1.3 DB2 V11支持在MPP中使用BLU
13.2 BLU增强
13.2.1 性能增强
13.2.2 兼容性增强
13.3 安全性功能增强
13.3.1 行和列访问控制(RCAC)支持按列组织的表
13.3.2 企业加密密钥管理
13.4 pureScale功能增强
13.5 可管理性和性能增强
13.5.1 可管理性增强功能
13.5.2 简易大版本升级
13.5.3 联合增强功能
13.5.4 高可用性、备份、日志记录、弹性和恢复增强功能
13.5.5 性能增强
13.6 备份增强
13.6.1 基本介绍
13.6.2 备份比较
13.6.3 恢复场景