本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
书名: | (正版特价)Oracle数据库性能优化的艺术|218636 |
图书定价: | 79元 |
图书作者: | 文平 |
出版社: | 机械工业出版社 |
出版日期: | 2012/7/1 0:00:00 |
ISBN号: | 9787111388593 |
开本: | 16开 |
页数: | 392 |
版次: | 1-1 |
作者简介 |
文平,原名侯文平,在大型数据库系统和UNIX/Linux平台领域的一线奋斗了近20年。他是一位资深的数据库专家,在Oracle、DB2、Sybase等大型数据库系统的原理、应用、架构、设计、分析、性能优化等方面积累了大量宝贵的经验;他是一位资深的UNIX/Linux系统专家,精通AIX、HP-UX、Solaris和SCO等UNIX系统以及主流Linux系统的架构、部署、管理、运维及性能优化;他是一位资深的系统架构师,不仅对数据库系统和UNIX/Linux系统的架构和设计有十分深入的研究,而且还极为擅长大型软件项目的架构和设计。他还是一位资深的技术顾问和培训师,长年为中石油、中海油等诸多超大型企业提供数据库和UNIX/Linux系统方面的技术咨询与培训支持,同时他还是国内各主要相关培训机构的特聘讲师。他在业界也颇具影响力,多次受邀在国内著名的数据库技术大会和系统架构师大会上发表重要的主题演讲,深受欢迎。 此外,他还是一位热衷于分享的技术作家,十多年来,精心撰写并出版了多部技术专著,广获读者好评。部分著作列举如下: 《Oracle大型数据库系统在AIX/UNIX上的实战详解》 《Sybase数据库在UNIX、Windows上的实施和管理》 《Oracle 8 系统开发与管理——iAS配置、管理与开发》 《Sybase Internet/Intranet解决方案:Web.SQL应用开发》 《PowerBuilder 开发中的数据库设计》 《AIX系统管理、维护与高可用集群建设》。 |
内容简介 |
《Oracle数据库性能优化的艺术》是资深数据库专家、UNIX系统专家、系统架构师近20年工作经验的结晶。 《Oracle数据库性能优化的艺术》内容高屋建瓴,用辩证法中的系统化分析方法,不仅从硬件(服务器系统、存储系统、网络系统等)、软件(操作系统、中间件系统、应用软件等)和应用场景(用户访问模式、用户使用频度、数据承载压力等)等多个相关联的维度深入阐述了具有普适意义的数据库性能评估与优化的思维方法和工作流程,而且还从流程的角度详细讲解了应该如何在数据库系统的架构阶段、设计阶段、开发阶段、部署阶段、运行阶段等各环节中去寻找性能问题的瓶颈和解决方案。 全书一共12章:第1章从系统工程的角度总结了性能问题可以分为哪些阶段去考虑、性能问题有哪些种类,以及性能改进的工程方法等;第2章详细讲解了在数据库的设计阶段如何去考虑数据库的性能问题;第3~6章从物理数据库部署、数据库访问设置、硬件资源设定、存储空间和内存资源的使用、实例配置与缓存优化等多方面讲解了数据库系统在部署阶段的性能优化问题;第7章探讨了如何平衡数据库可靠性和性能之间的矛盾;第8章完整呈现了Oracle数据库的表分区能力,是解决与大规模数据处理相关的性能问题的关键;第9章从索引和执行计划的角度讲解了数据库性能优化的方法;第10~12章着重介绍了在数据库系统部署并运行后,如何获得数据库运行时的性能状态,如何对正在使用的各种资源进行分析,分析时使用什么工具,以及如何解读这些工具返回的信息。 《Oracle数据库性能优化的艺术》重在“授人以渔”,虽然主要内容是围绕Oracle数据库系统展开的,但是书中的观点同样适用于DB2、SQL Server、MySQL、PostgreSQL等数据库系统。 |
目录 |
《Oracle数据库性能优化的艺术》 前言 第1章 综述:优化是一个系统工程 / 1 1.1 性能问题是一个系统工程 / 3 1.1.1 考虑性能问题的不同阶段 / 3 1.1.2 考虑性能问题的不同方面 / 4 1.1.3 性能架构中的问题分类 / 5 1.2 性能改进的工程方法 / 23 1.2.1 不要希望一步到位! / 23 1.2.2 有时也能一步到位? / 24 1.2.3 性能改进工作流程 / 26 1.2.4 建立性能分析流程图 / 28 1.2.5 编程中应尽量避免的问题 / 30 1.2.6 紧急事件性能处理 / 35 第2章 设计与优化:物理数据库结构设计 / 39 2.1 数据库的特定运行平台 / 40 2.2 物理设计与性能的关系 / 41 2.3 应用框架与性能特征 / 43 2.4 物理表设计的关注点 / 44 2.4.1 从逻辑模型到物理模型 / 44 2.4.2 物理数据库设计的范围 / 48 2.4.3 规范化的设计 / 49 2.4.4 反规范化设计 / 55 2.4.5 另类反规范化 / 59 2.4.6 是否反规范化 / 59 2.5 索引的初始设计 / 60 2.5.1 索引对象的基本结构 / 61 2.5.2 索引的可选择性指标 / 62 2.5.3 索引的双面性特征 / 62 2.5.4 索引的类型/ 64 2.5.5 索引的初始确定/ 69 2.5.6 临时表的使用 / 71 第3章 部署与优化:准备基本运行环境 / 73 3.1 性能问题在表象上的欺骗性 / 74 3.2 理解数据库需要的系统资源 / 76 3.2.1 I/O资源的使用/ 78 3.2.2 内存资源的使用 / 82 3.2.3 CPU资源的使用 / 86 3.2.4 解读内存与CPU状态 / 93 3.3 小型机数据库部署准备 / 94 3.3.1 AIX的部署准备 / 94 3.3.2 HP-UX的部署准备 / 98 3.3.3 Solaris的部署准备 / 102 3.4 X86系统数据库部署准备 / 107 3.4.1 Linux系统的部署准备 / 107 3.4.2 Windows系统的部署准备 / 110 第4章 部署与优化:数据库的优化部署 / 112 4.1 实例初始配置注意点 / 114 4.2 数据库空间使用关注 / 119 4.3 表空间的创建管理 / 130 4.4 创建表时的性能因素 / 135 4.5 数据导入与索引维护 / 144 第5章 实例优化:配置高效运行环境 / 145 5.1 实例配置与缓存优化 / 146 5.1.1 启用自动内存管理 / 148 5.1.2 主机内存分配原则 / 152 5.1.3 使用缓存顾问工具 / 155 5.1.4 缓存的命中率问题 / 158 5.1.5 缓存命中率分析 / 160 5.1.6 精细化缓存的配置/ 161 5.2 SQL与缓存的使用 / 165 5.2.1 缓存优化 / 165 5.2.2 查看数据缓存内容 / 165 5.2.3 共享池的效率检查 / 166 5.2.4 重做日志缓存问题 / 173 5.3 PGA内存分配原则 / 175 5.4 Oracle虚拟化关注点 / 176 5.4.1 I/O问题上的关注点 / 178 5.4.2 内存问题上的关注点 / 178 5.4.3 CPU问题上的关注点 / 179 5.4.4 故障恢复问题的解决 / 179 第6章 存储优化:配置高效存储环境 / 181 6.1 I/O问题的表象与内涵 / 182 6.2 存储介质的基础配置 / 183 6.2.1 使用逻辑卷技术 / 184 6.2.2 设定存储参数 / 187 6.3 存储I/O能力探究 / 197 6.3.1 Orion的安装 / 197 6.3.2 Orion的使用 / 198 第7章 综合部署:Oracle可靠性设置 / 201 7.1 数据库设置的综合考虑 / 202 7.1.1 设置数据库的内存使用 / 203 7.1.2 数据库的进程使用设置 / 208 7.1.3 设置数据库I/O模式 / 211 7.1.4 设置数据库的归档模式 / 213 7.1.5 使用闪回恢复区归档 / 214 7.1.6 设置冗余控制文件 / 215 7.1.7 保留控制文件信息 / 216 7.1.8 设置联机重做日志文件 / 217 7.1.9 设置联机重做日志组数 / 218 7.1.10 设置数据块校验和检查 / 220 7.1.11 打开性能时间统计 / 221 7.1.12 表空间和段管理方式 / 221 7.1.13 设定多临时表空间和组 / 222 7.1.14 使用自动撤销管理 / 223 7.1.15 设置空间错误延时 / 223 7.1.16 设置数据库闪回 / 224 7.2 RAC下的设置 / 225 7.2.1 注册远程监听器的实例 / 226 7.2.2 设置内部互联网络 / 226 7.3 加密表数据 / 227 7.4 加密表空间 / 231 第8章 对象优化:大表分区方式部署 / 232 8.1 分区技术适用的范围/ 233 8.2 分区技术的基本概念/ 234 8.2.1 分区表的结构 / 234 8.2.2 分区部署的收益 / 235 8.2.3 分区部署的成本 / 236 8.2.4 索引分区 / 237 8.3 分区表的管理操作 / 238 8.3.1 面向分区的管理 / 238 8.3.2 面向分区的操作 / 238 8.3.3 面向分区的恢复 / 239 8.4 分区的技术实现 / 239 8.4.1 基础分区的实现 / 240 8.4.2 组合分区的扩展 / 246 8.4.3 扩展分区技术 / 249 8.4.4 分区表的数据压缩 / 254 8.4.5 查看数据存储位置 / 255 8.4.6 分区键数据的改变 / 256 8.4.7 分区方式选择问题 / 257 8.4.8 使用分区顾问工具 / 258 第9章 索引定义:索引设置与执行计划 / 260 9.1 索引对象/ 261 9.2 Oracle优化器 / 263 9.2.1 优化器的选择/ 264 9.2.2 优化器的设置 / 266 9.2.3 数据扫描问题 / 268 9.3 索引的技术指标 / 285 9.3.1 索引的选择性/ 285 9.3.2 索引的簇化率 / 286 9.3.3 索引二元高度/ 289 9.3.4 直方图的使用/ 290 9.4 索引与SQL优化 / 294 9.5 避免索引不作为 / 296 9.5.1 非等式运算/ 297 9.5.2 Null值的比对/ 298 9.5.3 函数的调用/ 301 9.6 创建虚拟的索引 / 303 9.7 创建压缩的索引 / 305 9.8 索引的使用监测 / 305 9.8.1 创建不可视索引 / 305 9.8.2 索引的可用状态 / 308 9.8.3 监测索引的使用 / 309 9.9 对分区表建立索引/ 310 第10章 实例效率:识别数据库内部作为 / 312 10.1 研究数据库运行效率 / 313 10.1.1 定义和量化性能 / 314 10.1.2 统计分析的要素 / 314 10.1.3 性能状态的统计 / 327 10.1.4 其他相关统计 / 334 10.2 操作系统的使用方法 / 338 10.2.1 性能监视的手段 / 338 10.2.2 使用vmstat / 338 10.2.3 使用iostat / 341 10.2.4 使用sar / 345 10.2.5 使用nmon命令 / 347 10.3 调整计划探讨 / 349 第11章 优化践行:数据库层面的优化 / 351 11.1 Oracle自动统计 / 352 11.1.1 统计数据的解释/ 354 11.1.2 汇总的统计数据 / 355 11.2 使用AWR / 355 11.2.1 在OEM中访问AWR/ 357 11.2.2 用API管理AWR快照/ 359 11.2.3 使用度量基线 / 360 11.2.4 AWR工作报告 / 362 11.3 使用ADDM / 363 11.3.1 ADDM内部结构 / 364 11.3.2 ADDM使用示例 / 365 11.3.3 ADDM环境设置 / 367 11.3.4 ADDM手工获得 / 367 第12章 优化践行:操作系统层面的优化 / 369 12.1 平台的性能相关性 / 370 12.2 分配和调度内存资源 / 372 12.2.1 使用大的内存页面 / 373 12.2.2 设定内存替换阈值 / 375 12.2.3 设定内存空闲阈值 / 379 12.2.4 对应设置应用内存 / 380 12.3 设置系统进程资源 / 381 12.4 系统I/O资源的使用 / 382 12.4.1 优化使用异步I/O / 382 12.4.2 优化文件系统挂载 / 384 12.4.3 优化应用I/O模式 / 386 12.5 关闭系统中无用的服务 / 387 12.6 监控主机资源... |
编辑推荐 |
数据库系统的性能优化一直是困扰企业和DBA的一个大难题,因为它是一个复杂的系统工程,不仅与服务器系统、存储系统、网络设备等硬件关系密切,而且它也与操作系统、中间件系统等软件关系密切。更为复杂的情况是,不同企业的应用场景和不同数据库操作人员的使用方式都是极度个性化的,他们所面临的性能问题也会是个性化的。面对错综复杂的系统环境和高度个性化的用户需求,当数据库出现性能问题时,我们究竟应该从何处着手?有没有普遍适用的方法论?文平老师是国内Oracle数据库领域的**专家之一,在该领域潜心研究和实践近20年,他用系统化的思维方法总结出了Oracle数据库系统性能优化的方法论,而不只是专注于解决某些具体的问题,从技术层面上升到了艺术层面,是该领域难得的一本经典之作。 ——ITpub技术论坛 本书从系统工程和实践艺术的角度,阐释了数据库这一典型技术领域里的各种奥秘、招式和方法论。无论是过去,还是现在,应用系统的核心问题都是性能问题,而性能问题很大程度上又是数据库的性能问题。所以,一直以来,数据的性能库调优都是热门话题,备受关注。本书颠覆了同类书遵从Oracle官方文档(尤其是OCP教材)体系的写法,从性能优化问题现场的角度,从一线工程师怎样解决问题的角度,从用户看待性能瓶颈的角度,从架构设计的角度多视角进行阐述,使到本书极具现场感和实践感。本书是作者多年一线工作实践的精华,也是作者对多年来积累的优化心得的有感而发。个人一直认为,只有那些用心去写的书,投入了作者感情的书才是好书,而本书正是这样的一部作品,值得向广大读者推荐。 近年来,由于存储设备的单位成本以惊人的速度下降(1G硬盘空间的成本现在只需要几美分,这在过去难以想象),使得我们可以用更低的成本存储大量的数据。电信运营商,可以记录用户通话、短消息、无线上网产生的每一条信令,省级运营商每小时写入存储设备的数据量就可以达到几百G。电子商务网站,可以记录用户的每一次交易,甚至每一次点击,可以复原用户的完整访问路径,从而找出用户的兴趣点。在生命科学领域,对人体的DNA分析,一个个体就能产生几个G的数据,可以想象如果一个生物信息数据库里包含了数以亿计的个体数据,信息量将会是怎样一个规模,如此等等,不胜枚举。毫无疑问,我们正处于一个信息爆炸的大数据时代。以Oracle为代表的关系数据库诞生已经有30多年时间,经过这几十年的积累,很多应用的数据量已经非常可观。作为这些数据的载体、容器,数据库承受着日益增长的压力。对于存放这些数据的数据库的关注,被提到了一个新的高度,这完全是系统需求使然。而系统需求,即为用户需求,基于性能优化目标的海量数据库设计,不可避免地变成系统设计中的一个新领域。如何面对海量数据给存储、查询速度、灾备等方面带来的压力,是每位数据库工程师所必须面对的课题。希望本书在此领域可以起到抛砖引玉的作用。 ——ITPUB创始人 黄志洪 |