原文116页错误,不能加入
http://www.china-pub.com/computers/common/info.asp?id=5990
【原书名】 Oracle Performance Tuning 101 [原书信息]
【原出版社】 McGraw-Hill
【作者】 (美)Gaja Krishna Vaidyanatha Kirtikumar Deshpande John Kostelac[同作者作品]
【译者】 钟鸣[同译者作品] 石永平 等
【丛书名】 Oracle技术系列丛书
【出版社】 机械工业出版社 【书号】 7-111-10102-2
【页码】 284
【出版日期】 2002-5-1 【版次】 1-1
《Oracle 性能优化技术内幕》
本书讲述Oracle性能优化技术。书中对给出的每一种优化方法和措施都从原理、具体步骤、所利用的工具等几个方面进行了详细的阐述,很容易学习和掌握。作者实践经验丰富,具有较高的理论水平,对Oracle的体系结构和内部运行机制极为熟悉,对Oracle性能优化问题有许多独到精辟的见解。书中就多年以来关于性能优化人们一直认为是正确的某些错误观点和方法提出了批判,令人信服地证明了这些观点和方法的荒诞,提出了较为正确的观点和方法。本书可供具有一定基础的Oracle数据库管理人员和应用编程人员学习,也可以作为对Oracle性能优化进行深入研究的重要参考文献。
第一部分 方 法 第1章 Ora le性能管理介绍 3 1.1 什么是优化 5 1.2 为什么需要优化 5 1.3 由谁来优化 6 1.4 优化到何种程度 6 1.5 何时停止优化 7 1.6 本章小结 8 第2章 优化方法 9 2.1 为什么要重视优化方法 11 2.2 什么是良好的优化方法 12 2.3 Ora le性能优化的基本方法 12 2.3.1 设立合理的性能优化目标 13 2.3.2 测量并记录当前性能 14 2.3.3 确定当前Ora le性能瓶颈 20 2.3.4 把等待事件记入跟踪文件 29 2.3.5 确定当前OS瓶颈 30 2.3.6 优化必需的组件 34 2.3.7 跟踪并实施更改控制过程 35 2.3.8 测量并记录当前性能 35 2.3.9 重复步骤3到步骤7直到满足 优化目标 35 2.4 本章小结 35 第二部分 应用程序优化 第3章 应用程序优化-与DBA有关的 问题 39 3.1 Ora le优化程序的故事 41 3.1.1 老伙计:基于规则的优化程序 41 3.1.2 基于规则的优化程序的 不灵活性的影响 42 3.1.3 基于规则的优化程序和 编译器: 一个专家的观点 43 3.1.4 新生儿:基于成本的优化程序 43 3.1.5 基于成本的优化程序的成熟过程 44 3.1.6 幸福老人:基于规则的优化程序 44 3.1.7 回到基于成本的优化程序 44 3.1.8 基于成本的优化程序的崛起 44 3.2 Ora le优化程序的初始参数设置 45 3.3 什么是提示 45 3.4 运行的是哪个优化程序 46 3.5 对象统计数据的计算 47 3.5.1 为什么要计算统计数据 47 3.5.2 怎样计算统计数据 47 3.5.3 需要多少统计信息 47 3.5.4 计算对象统计数据的各种方法 48 3.5.5 间隔多久计算一次统计数据 50 3.5.6 关于计算对象统计数据的问题 51 3.6 最佳检索策略 51 3.6.1 什么是索引 51 3.6.2 何时使用索引 52 3.6.3 怎样建立最佳索引 52 3.6.4 何时需要重建索引 55 3.7 应该使用哪种连接方法,1何时使用 56 3.8 怎样不编写SQL 57 3.9 最佳SQL的基础 63 3.10 本章小结 66 第4章 应用程序优化-追踪不良的 SQL语句 67 4.1 SQL语句的优化过程 68 4.2 怎样跟踪SQL 69 4.3 跟踪文件的位置以及如何找到它 70 4.4 在跟踪文件上运行tkprof 72 4.5 解释tkprof中的输出结果 73 4.6 Ora le的行动计划 74 4.6.1 怎样获得Ora le的行动计划 74 4.6.2 如何阅读计划 75 4.7 什么是AUTOTRA E 76 4.8 本章小结 77 第三部分 实例与数据库优化 第5章 实例优化-共享池区 81 5.1 Ora le体系结构 83 5.1.1 系统全局区 84 5.1.2 后台进程 86 5.1.3 另一个进程:服务器进程 88 5.1.4 程序全局区 88 5.2 分析SQL:用户按ENTER时的工作 89 5.2.1 硬分析与软分析 90 5.2.2 分析或者不分析,1这是一个问题 91 5.3 初始化参数和共享池 91 5.4 配置各种池子 91 5.4.1 共享池 92 5.4.2 大型池 92 5.4.3 Java池 93 5.5 优化SPA 93 5.6 把对象留在内存中 97 5.7 共享池碎片:主动处理ORA-04031 98 5.7.1 导致共享池碎片的原因 98 5.7.2 Ora le 7.3及以上版本中的 ORA-04031错误 99 5.8 影响共享池区的等待事件 99 5.9 本章小结 100 第6章 实例优化-数据库缓冲区 高速缓存 103 6.1 什么是五分钟高速缓存规则 105 6.2 数据库缓冲区高速缓存的工作原理 105 6.2.1 Ora le8i以前的数据库缓冲区 高速缓存管理 106 6.2.2 Ora le8i及以上版本中的数据库缓冲 区高速缓存管理 107 6.3 配置缓冲池 108 6.3.1 从默认池开始 108 6.3.2 保留池 109 6.3.3 回收池 109 6.3.4 分配对象给一个池子 110 6.3.5 使用 a he选项 110 6.4 分析数据库缓冲区高速缓存 110 6.4.1 高速缓存命中率 110 6.4.2 数据库缓冲区高速缓存中有什么 112 6.4.3 影响数据库缓冲区高速缓存 的等待事件 112 6.5 解决问题 113 6.6 本章小结 114 第7章 实例优化-重做日志缓冲区 及杂项优化 117 7.1 配置重做日志缓冲区 118 7.1.1 影响重做日志缓冲区的初始 化参数 121 7.1.2 影响重做日志缓冲区的等待事件 121 7.1.3 解决重做日志缓冲区问题 122 7.2 实例的杂项优化 123 7.2.1 检查点 123 7.2.2 重做日志文件 124 7.2.3 怎样设置重做日志文件的尺寸 124 7.2.4 归档 125 7.2.5 用于实例杂项优化的初始化参数 125 7.3 优化Ora le优化程序 126 7.4 本章小结 128 第8章 数据库优化 131 8.1 选取正确的数据库块尺寸 133 8.1.1 数据库块尺寸是如何影响性能的 133 8.1.2 如何定义最佳Ora le数据库块 的尺寸 133 8.1.3 改变数据库块尺寸:核心问题 135 8.1.4 小块与大块尺寸的比较:一个 有趣的观点 136 8.1.5 小结 136 8.2 配置块级存储参数 137 8.2.1 配置p tused 137 8.2.2 配置p tfree 138 8.2.3 配置initrans 138 8.2.4 配置maxtrans 139 8.2.5 配置可用列表 139 8.3 设计. 配置和优化表空间 140 8.3.1 四个桶表空间的配置方法 140 8.3.2 配置临时表空间 144 8.3.3 全局临时表和临时表空间 144 8.3.4 配置本地管理的表空间 145 8.4 改善性能的数据库分区 146 8.4.1 分区的实际好处 146 8.4.2 数据库分区的关键因素 147 8.5 配置初始化参数 148 8.6 混合型数据库的优化问题 148 8.7 数据仓库数据库的优化问题 150 8.8 本章小结 150 第四部分 特殊优化 第9章 并行查询优化 155 9.1 什么是并行,1Ora le如何使用并行 156 9.2 何时使用并行查询 156 9.3 怎样使用并行 157 9.4 能从并行中受益的SQL语句 160 9.5 影响并行性的初始化参数 161 9.6 为并行性设计数据库 164 9.7 并行DML的考虑 165 9.7.1 PDML和回退段配置 165 9.7.2 PDML和实例恢复 165 9.7.3 PDML的限制和问题 166 9.8 并行查询监控 166 9.9 本章小节 168 第10章 争用优化 171 10.1 监控Ora le的争用 172 10.2 回退段 173 10.2.1 什么是多版本读取一致性 173 10.2.2 多版本的读取一致性如何工作 173 10.2.3 定义并揭穿环绕的神话 174 10.2.4 删除回退段争用 176 10.2.5 回退段的用法 178 10.2.6 怎样配置回退段 179 10.2.7 怎样避免"ORA-01555-Snapshot Too Old"错误 181 10.3 主动管理临时段的管理争用 182 10.3.1 理解临时段争用 183 10.3.2 监控临时段表空间的使用情况 184 10.4 闩锁 185 10.5 本章小结 186 第五部分 环境优化 第11章 I/O优化 191 11.1 RAID是什么 192 11.2 RAID不是什么 193 11.3 为什么应该重视RAID 194 11.4 RAID中的三个主要概念 195 11.4.1 什么是条带化 195 11.4.2 什么是镜像 195 11.4.3 什么是等同 196 11.4.4 本节内容提要 196 11.5 RAID的类型 196 11.6 RAID的级别 197 11.6.1 RAID 0 197 11.6.2 RAID 1 197 11.6.3 RAID 0+1 197 11.6.4 RAID 1+0 198 11.6.5 RAID 2 198 11.6.6 RAID 3 198 11.6.7 RAID 4 198 11.6.8 RAID 5 199 11.6.9 RAID 6 199 11.6.10 RAID 7 199 11.6.11 RAID-S 200 11.6.12 Auto RAID 200 11.7 Ora le与RAID 201 11.7.1 RAID 1 201 11.7.2 RAID 0+1和RAID 1+0 201 11.7.3 RAID 3与RAID 5 201 11.7.4 RAID 7 202 11.7.5 Auto RAID 202 11.8 配置磁盘阵列要考虑的基本问题 203 11.9 磁盘条带化要考虑的基本问题 204 11.9.1 建立条带化卷的步骤:第一部分 205 11.9.2 条带宽度配置 206 11.9.3 建立条带化卷的步骤:第二部分 207 11.10 操作系统配置 207 11.10.1 原始设备与文件系统的严 谨讨论 208 11.10.2 异步I/O 208 11.11 数据库的最佳布局 208 11.11.1 并发访问对象的分离 208 11.11.2 把数据与相应的索引分开 209 11.11.3 回退表空间与临时表空间共存 209 11.11.4 分离表空间中的热点对象 209 11.11.5 数据应该怎样条带化 209 11.12 影响I/O性能的初始化参数 210 11.13 RAID和Ora le数据库:核心问题 210 11.14 样例RAID配置 211 11.15 本章小结 216 第12章 操作系统优化 217 12.1 优化OS:一般问题 218 12.1.1 为系统配置足够的内存 219 12.1.2 合理的内存分配方法 220 12.1.3 优化文件系统缓冲区高速缓存 221 12.1.4 优化系统上的交换空间 221 12.1.5 将Ora le SGA锁定在内存中 222 12.2 优化UNIX核心 222 12.3 优化Solaris 224 12.3.1 异步I/O 224 12.3.2 将SGA锁定在内存中 225 12.3.3 优化分页新进程 225 12.4 优化AIX 226 12.4.1 异步I/O 226 12.4.2 在内存中锁定SGA 228 12.4.3 优化分页新进程 228 12.5 优化HP-UX 230 12.5.1 异步I/O 231 12.5.2 在内存中锁定SGA 231 12.5.3 优化文件系统缓冲区高速缓存 231 12.5.4 优化进程管理 232 12.6 优化Windows NT 233 12.6.1 增加Windows NT的可用内存 233 12.6.2 降低前台应用程序的优先级 234 12.6.3 取消不使用的网络协议并重新设置 绑定次序 234 12.6.4 配置Windows NT为一个 数据库服务器 235 12.6.5 配置"非Windows的打扮" 235 12.6.6 什么是启动开始 235 12.6.7 优化虚拟内存和分页文件 236 12.7 本章小结 236 第13章 全书总结 239 13.1 Ora le性能管理:总结 240 13.2 什么是Ora le性能管理 240 13.3 优化方法 240 13.4 无可替代的应用程序优化 241 13.5 共享池区优化 242 13.6 数据库缓冲区高速缓存优化 242 13.7 重做日志缓冲区及杂项优化 243 13.8 数据库优化 243 13.9 并行查询优化 244 13.10 争用优化 244 13.11 I/O优化 245 13.12 操作系统优化 246 第六部分 附 录 附录A 词汇表 251 附录B 更多的技巧与资源 261 附录 参考文献 269