序言
前言
第一部分 方法
第1章 Oracle性能管理介绍
1.1 什么是优化
1.2 为什么需要优化
1.3 由谁来优化
1.4 优化到何种程度
1.5 何时停止优化
1.6 本章小结
第2章 优化方法
2.1 为什么要重视优化方法
2.2 什么是良好的优化方法
2.3 Oracle性能优化的基本方法
2.3.1 设立合理的性能优化目标
2.3.2 测量并记录当前性能
2.3.3 确定当前Oracle性能瓶颈
2.3.4 把等待事件记入跟踪文件
2.3.5 确定当前OS瓶颈
2.3.6 优化必需的组件
2.3.7 跟踪并实施更改控制过程
2.3.8 测量并记录当前性能
2.3.9 重复步骤3到步骤7直到满足优化目标
2.4 本章小结
第二部分 应用程序优化
第3章 应用程序优化—与DBA有关的问题
3.1 Oracle优化程序的故事
3.1.1 老伙计:基于规则的优化程序
3.1.2 基于规则的优化程序的不灵活性的影响
3.1.3 基于规则的优化程序和C编译器:一个专家的观点
3.1.4 新生儿:基于成本的优化程序
3.1.5 基于成本的优化程序的成熟过程
3.1.6 幸福老人:基于规则的优化程序
3.1.7 回到基于成本的优化程序
3.1.8 基于成本的优化程序的崛起
3.2 Oracle优化程序的初始参数设置
3.3 什么是提示
3.4 运行的是哪个优化程序
3.5 对象统计数据的计算
3.5.1 为什么要计算统计数据
3.5.2 怎样计算统计数据
3.5.3 需要多少统计信息
3.5.4 计算对象统计数据的各种方法
3.5.5 间隔多久计算一次统计数据
3.5.6 关于计算对象统计数据的问题
3.6 最佳检索策略
3.6.1 什么是索引
3.6.2 何时使用索引
3.6.3 怎样建立最佳索引
3.6.4 何时需要重建索引
3.7 应该使用哪种连接方法,何时使用
3.8 怎样不编写SQL
3.9 最佳SQL的基础
3.10 本章小结
第4章 应用程序优化—追踪不良的SQL语句
4.1 SQL语句的优化过程
4.2 怎样跟踪SQL
4.3 跟踪文件的位置以及如何找到它
4.4 在跟踪文件上运行tkprof
4.5 解释tkprof中的输出结果
4.6 Oracle的行动计划
4.6.1 怎样获得Oracle的行动计划
4.6.2 如何阅读计划
4.7 什么是AUTOTRACE
4.8 本章小结
第三部分 实例与数据库优化
第5章 实例优化—共享池区
5.1 Oracle体系结构
5.1.1 系统全局区
5.1.2 后台进程
5.1.3 另一个进程:服务器进程
5.1.4 程序全局区
5.2 分析SQL:用户按ENTER时的工作
5.2.1 硬分析与软分析
5.2.2 分析或者不分析,这是一个问题
5.3 初始化参数和共享池
5.4 配置各种池子
5.4.1 共享池
5.4.2 大型池
5.4.3 Java池
5.5 优化SPA
5.6 把对象留在内存中
5.7 共享池碎片:主动处理ORA-04031
5.7.1 导致共享池碎片的原因
5.7.2 Oracle 7.3及以上版本中的ORA-04031错误
5.8 影响共享池区的等待事件
5.9 本章小结
第6章 实例优化—数据库缓冲区高速缓存
6.1 什么是五分钟高速缓存规则
6.2 数据库缓冲区高速缓存的工作原理
6.2.1 Oracle8i以前的数据库缓冲区高速缓存管理
6.2.2 Oracle8i及以上版本中的数据库缓冲区高速缓存管理
6.3 配置缓冲池
6.3.1 从默认池开始
6.3.2 保留池
6.3.3 回收池
6.3.4 分配对象给一个池子
6.3.5 使用cache选项
6.4 分析数据库缓冲区高速缓存
6.4.1 高速缓存命中率
6.4.2 数据库缓冲区高速缓存中有什么
6.4.3 影响数据库缓冲区高速缓存的等待事件
6.5 解决问题
6.6 本章小结
第7章 实例优化—重做日志缓冲区及杂项优化
7.1 配置重做日志缓冲区
7.1.1 影响重做日志缓冲区的初始化参数
7.1.2 影响重做日志缓冲区的等待事件
7.1.3 解决重做日志缓冲区问题
7.2 实例的杂项优化
7.2.1 检查点
7.2.2 重做日志文件
7.2.3 怎样设置重做日志文件的尺寸
7.2.4 归档
7.2.5 用于实例杂项优化的初始化参数
7.3 优化Oracle优化程序
7.4 本章小结
第8章 数据库优化
8.1 选取正确的数据库块尺寸
8.1.1 数据库块尺寸是如何影响性能的
8.1.2 如何定义最佳Oracle数据库块的尺寸
8.1.3 改变数据库块尺寸:核心问题
8.1.4 小块与大块尺寸的比较:一个有趣的观点
8.1.5 小结
8.2 配置块级存储参数
8.2.1 配置pctused
8.2.2 配置pctfree
8.2.3 配置initrans
8.2.4 配置maxtrans
8.2.5 配置可用列表
8.3 设计、配置和优化表空间
8.3.1 四个桶表空间的配置方法
8.3.2 配置临时表空间
8.3.3 全局临时表和临时表空间
8.3.4 配置本地管理的表空间
8.4 改善性能的数据库分区
8.4.1 分区的实际好处
8.4.2 数据库分区的关键因素
8.5 配置初始化参数
8.6 混合型数据库的优化问题
8.7 数据仓库数据库的优化问题
8.8 本章小结
第四部分 特殊优化
第9章 并行查询优化
9.1 什么是并行,Oracle如何使用并行
9.2 何时使用并行查询
9.3 怎样使用并行
9.4 能从并行中受益的SQL语句
9.5 影响并行性的初始化参数
9.6 为并行性设计数据库
9.7 并行DML的考虑
9.7.1 PDML和回退段配置
9.7.2 PDML和实例恢复
9.7.3 PDML的限制和问题
9.8 并行查询监控
9.9 本章小节
第10章 争用优化
10.1 监控Oracle的争用
10.2 回退段
10.2.1 什么是多版本读取一致性
10.2.2 多版本的读取一致性如何工作
10.2.3 定义并揭穿环绕的神话
10.2.4 删除回退段争用
10.2.5 回退段的用法
10.2.6 怎样配置回退段
10.2.7 怎样避免“ORA-01555-Snapshot Too Old”错误
10.3 主动管理临时段的管理争用
10.3.1 理解临时段争用
10.3.2 监控临时段表空间的使用情况
10.4 闩锁
10.5 本章小结
第五部分 环境优化
第11章 I/O优化
11.1 RAID是什么
11.2 RAID不是什么
11.3 为什么应该重视RAID
11.4 RAID中的三个主要概念
11.4.1 什么是条带化
11.4.2 什么是镜像
11.4.3 什么是等同
11.4.4 本节内容提要
11.5 RAID的类型
11.6 RAID的级别
11.6.1 RAID 0
11.6.2 RAID 1
11.6.3 RAID 0+1
11.6.4 RAID 1+0
11.6.5 RAID 2
11.6.6 RAID 3
11.6.7 RAID 4
11.6.8 RAID 5
11.6.9 RAID 6
11.6.10 RAID 7
11.6.11 RAID-S
11.6.12 Auto RAID
11.7 Oracle与RAID
11.7.1 RAID 1
11.7.2 RAID 0+1和RAID 1+0
11.7.3 RAID 3与RAID 5
11.7.4 RAID 7
11.7.5 Auto RAID
11.8 配置磁盘阵列要考虑的基本问题
11.9 磁盘条带化要考虑的基本问题
11.9.1 建立条带化卷的步骤:第一部分
11.9.2 条带宽度配置
11.9.3 建立条带化卷的步骤:第二部分
11.10 操作系统配置
11.10.1 原始设备与文件系统的严谨讨论
11.10.2 异步I/O
11.11 数据库的最佳布局
11.11.1 并发访问对象的分离
11.11.2 把数据与相应的索引分开
11.11.3 回退表空间与临时表空间共存
11.11.4 分离表空间中的热点对象
11.11.5 数据应该怎样条带化
11.12 影响I/O性能的初始化参数
11.13 RAID和Oracle数据库:核心问题
11.14 样例RAID配置
11.15 本章小结
第12章 操作系统优化
12.1 优化OS:一般问题
12.1.1 为系统配置足够的内存
12.1.2 合理的内存分配方法
12.1.3 优化文件系统缓冲区高速缓存
12.1.4 优化系统上的交换空间
12.1.5 将Oracle SGA锁定在内存中
12.2 优化UNIX核心
12.3 优化Solaris
12.3.1 异步I/O
12.3.2 将SGA锁定在内存中
12.3.3 优化分页新进程
12.4 优化AIX
12.4.1 异步I/O
12.4.2 在内存中锁定SGA
12.4.3 优化分页新进程
12.5 优化HP-UX
12.5.1 异步I/O
12.5.2 在内存中锁定SGA
12.5.3 优化文件系统缓冲区高速缓存
12.5.4 优化进程管理
12.6 优化Windows NT
12.6.1 增加Windows NT的可用内存
12.6.2 降低前台应用程序的优先级
12.6.3 取消不使用的网络协议并重新设置绑定次序
12.6.4 配置Windows NT为一个数据库服务器
12.6.5 配置“非Windows的打扮”
12.6.6 什么是启动开始
12.6.7 优化虚拟内存和分页文件
12.7 本章小结
第13章 全书总结
13.1 Oracle性能管理:总结
13.2 什么是Oracle性能管理
13.3 优化方法
13.4 无可替代的应用程序优化
13.5 共享池区优化
13.6 数据库缓冲区高速缓存优化
13.7 重做日志缓冲区及杂项优化
13.8 数据库优化
13.9 并行查询优化
13.10 争用优化
13.11 I/O优化
13.12 操作系统优化
第六部分 附 录
附录A 词汇表
附录B 更多的技巧与资源
附录C 参考文献