Oracle Database 10g性能调整与优化

出版时间:2009-1  出版社:清华大学  作者:尼米克  页数:869  译者:薛莹  
Tag标签:无  

前言

0.1  64位和Oracle打破了时空连续性许多人认为20世纪90年代中期Internet的出现是我们一生中再也不会遇到的事件。他们的这个观点完全错误!在本书的上一版中,我提到TB级的数据库将在不久后普及,几乎没有人相信我的观点。但是现在确实发生了这种情况——TB级的数据库现在非常普遍。随着Oracle 10g的发布,PB(1000TB)级的数据库将开始被人们所使用;而在Oracle 11g中,甚至可能出现EB(1 000 000TB)级的数据库(在Oracle 12g中,几乎可以确定会出现这种数据库)。很少有人了解到Internet时代的出现直接归因于32位计算机和32位计算提供的理论可能性所产生的连锁反应。Oracle于1983年引入了32位计算,然而直到20世纪90年代中期硬件功能可满足32位计算的需求时,许多公司才开始完全地利用32位计算(经过了大约12年)。信息时代是往前跨越的另一大步,其前进步伐无限大于Internet时代。我们现在正在使用功能非常全面(除了不能挑战重力)的Oracle 10g,同时正在步入将来的64位计算世界。64位计算于1995年在Oracle 7中引入,通过又一个12年的发展,64位计算于2007年开始普及。下一个时代(Generation 64)和64位计算将前所未有地改变世界,这种改变就从2007年开始。考虑IDC/EMC和位于伯克利的加利福利亚大学的如下研究:2K:一张打印页面1M:1000K1M:一部小说5M:莎士比亚的所有著作10M:一分钟高保真度的音频100M:一米高架子上的书籍1G:1000M1G:一辆装满书的轻型货车(或您的SGA(2007年))100G:一层楼的学术杂志(或者新的笔记本硬盘(2007年))1T:1000G2T:一个学术研究图书馆(或者您的世界500强数据库(2007年))2T:YouTube上一天内生成的信息量2P:所有学术研究图书馆(或者您的Grid SGA(2010年))10T:美国国会图书馆中530 000 000英里的书架730T:YouTube上一年内生成的信息量1P:1000T20P:1995年所有硬盘驱动器的容量(或者您的数据库(2010年))700P:收入少于2亿美元的700 000家公司的所有数据1E:1000P1E:世界1000强公司的所有数据库(平均每个公司1P)1E:接下来世界9000强公司的数据库(平均每个公司大约100T)2E:世界上最大型的10 000个公司(使用的全部数据库)2E:1999年生成的所有信息(可全部容纳在一个Oracle 10g数据库中(2007年))3E:世界上最大型的1 0000 000个公司(使用的全部数据库)5E:2003年生成的所有新信息(估计值,大多数图像没有存储在数据库中)6E:2006年生成的所有电子邮件8E:一个Oracle 10g数据库的容量(当前)12E-16E:1999年之前生成的所有信息(64位驻留内存)16E:64位可寻址的内存(当前)161E:2006年生成的新信息(估计值,大多数图像/视频没有存储在数据库中)246E:2007年生产的所有硬盘驱动器的容量(估计值)255E:2007年生成的新信息(估计值,大多数图像/视频没有存储在数据库中)1000E:2010年生成的新信息(估计为1Z)1Z:1000E(1Z可估计为世界所有沙滩上的沙粒数量——125个Oracle数据库)1Y:1000Z(1Y可估计为1000个人体中的原子数量)100TY:100万亿的YB,128位可寻址内存(将来)如果考虑可寻址内存的理论限制,则可以设想64位计算的能力。在无符号16位计算中,可以直接寻址64K(216字节)的内存。随着这种技术的巨大进步,于1985年出现Windows 1.0(1987年出现弱化图形的Windows 2.0版本),1990年出现Windows 3.0,不久之后出现客户端-服务器版本。我记得在我将SGA增加到超过1M后遇到内存问题时,Oracle技术支持告诉我说“您不会需要大于1M的SGA”。在无符号的32位计算中,我们可以直接寻址4G(232字节)的内存(+/-符号将占用2G内存)。对于标准的Oracle数据库,直接寻址4G内存可以极大地增加系统全局区域(SGA)。在SGA中存储最常用的数据,这些数据保留在内存中以供快速访问。我们现在一般会看到GB级的SGA和TB级的数据库。32位Linux和Windows的DBA会寻求关于如何将其SGA增加到超过2G或4G的支持。当发展到64位计算时,相比于Internet时代的发展速度,信息时代的发展速度以指数级增长。通过使用64位,可寻址内存的理论限制(264)变成16E(EB)或18 446 744 073 709 551 616(264字节)字节的直接可寻址内存。查看如下数字以了解可寻址内存的巨大飞跃。

内容概要

  本书提供了监控、分析和优化Oracle Database 10g的方法,由Oracle认证大师Richard J.Niemiec倾力打造。书中包含了详细的案例研究、最佳实践和丰富的0racle新的调整特性的代码示例。通过学习本书,读者可以了解到如何选择最优化的索引选项,有效地管理驱动器和磁盘阵列,对查询执行故障检修,以及可靠地预测将来的性能。本书也将详细介绍PL/SQL性能增强、初始化文件调整,以及最新的数据库调查和报告实用程序。

作者简介

作者:(美国)尼米克 (Richard J.Niemiec) 译者:薛莹Richard J.Niemiec Richard被Oracle公司授予Oracle认证大师——迄今为止,全世界仅有6人获得此殊荣,因此他是世界范围内公认的Oracle专家。他是独立Oracle用户组(IOUG)的前任主管以及中西部Oracle用户组的现任主管。Richard已经被5次命名为IOUG会议的最佳主讲人,并且是企业家名人纪念馆的成员。目前Richard J.Niemiec任TUSC公司的总裁,该公司旗下有500多个专业从事Oracle技术全方位服务咨询和培训的机构。

书籍目录

第1章  Oracle Database 10g新功能介绍(针对DBA和开发人员)	1.1  安装改进	1.2  SYSAUX表空间	1.3  自动存储管理	1.4  集群就绪服务(CRS)	1.5  服务器生成的警报	1.6  自动工作量仓库(AWR)	1.7  自动数据库诊断监控程序(ADDM)	1.8  SQL调整顾问	1.9  自动共享内存管理(ASMM)	1.10  闪回恢复区	1.11  回收站	1.12  恢复管理器的改动	1.13  透明数据加密(10gR2)	1.14  LogMiner的改动	1.15  新的DBMS_STATS选项	1.16  跟踪增强	1.17  DBMS_SCHEDULER	1.18  默认的(永久)表空间	1.19  临时表空间组	1.20  重命名表空间	1.21  大文件表空间	1.22  收缩段	1.23  数据泵(Data Pump)	1.24  跨平台的可移植表空间	1.25  写入外部表	1.26  自动撤消保留调整	1.27  包括新信息的V$SESSION	1.28  OEM的改动	1.29  网格控制	1.30  10g版本中的新后台进程	1.31  版本比较表	1.32  新特性回顾	1.33  参考文档	第2章  基本的索引原理(针对DBA和初级开发人员)	2.1  基本的索引概念	2.2  组合索引	2.3  限制索引	2.3.1  使用不等于运算符(、!=)	2.3.2  使用 IS NULL或IS NOT NULL	2.3.3  使用函数	2.3.4  比较不匹配的数据类型	2.4  选择性	2.5  集群因子(Clustering Factor)	2.6  二元高度(binary height)	2.7  使用直方图	2.8  快速全局扫描	2.9  跳跃式扫描	2.10  索引的类型	2.10.1  B树索引	2.10.2  位图索引	2.10.3  HASH索引	2.10.4  索引组织表	2.10.5  反转键索引	2.10.6  基于函数的索引	2.10.7  分区索引	2.10.8  位图连接索引	2.11  快速重建索引	2.12  技巧回顾	2.13  参考文档	第3章  磁盘实现方法和ASM(针对DBA)	3.1  成为规范的磁盘阵列	3.1.1  使用磁盘阵列改进性能和可用性	3.1.2  所需的磁盘数量	3.1.3  可用的RAID级别	3.1.4  更新的RAID 5	3.2  安装和维护传统文件系统	3.3  在硬件磁盘之间分布关键数据文件	3.3.1  分开存储数据和索引文件	3.3.2  避免I/O磁盘争用	3.3.3  通过移动数据文件来均衡文件I/O	3.4  本地托管的表空间	3.4.1  创建本地托管的表空间	3.4.2  把字典托管的表空间迁移到本地托管的表空间	3.4.3  Oracle大文件表空间	3.4.4  Oracle托管文件	3.5  ASM简介	3.5.1  I/O角色之间的通信	3.5.2  ASM实例	3.5.3  ASM init.ora参数	3.5.4  ASM的安装	3.5.5  ASM参数和SGA调整	3.5.6  ASM和权限	3.5.7  ASM磁盘	3.5.8  ASM和多路径	3.5.9  ASM磁盘组	3.5.10  ASM磁盘组和数据库	3.5.11  ASM冗余和故障组	3.5.12  Oracle Database 10g Release 2中新的空间相关列	3.5.13  集群同步服务	3.5.14  数据库实例和ASM	3.5.15  使用ASM进行数据库合并和集群化	3.5.16  支持ASM的数据库进程	3.5.17  大文件和ASM	3.5.18  支持ASM的数据库init.ora参数	3.5.19  ASM和数据库部署最佳实践	3.5.20  ASM存储管理和分配	3.5.21  ASM重新平衡和重新分布	3.6  使用分区来避免磁盘争用	3.6.1  获得关于分区的更多信息	3.6.2  其他类型的分区	3.6.3  其他分区选项	3.7  使用索引分区	3.8  导出分区	3.9  消除碎片	3.9.1  使用正确的盘区大小	3.9.2  创建一个新表空间并把数据移到其中	3.9.3  导出和重新导入表	3.9.4  正确设定比例以避免链化现象	3.9.5  自动段空间管理	3.9.6  重建数据库	3.10  增加日志文件尺寸和LOG_CHECKPOINT_INTERVAL以提高速度	3.10.1  确定重做日志文件的大小是否存在问题	3.10.2  确定日志文件的大小和检查点的时间间隔	3.11  闪回恢复	3.12  增加恢复的可能性:在每次批处理后提交	3.13  使用回滚段	3.13.1  避免回滚段之间的争用	3.13.2  监控回滚段的等待和争用	3.13.3  增加回滚段	3.13.4  把大的事务隔离到它们自己的回滚段上	3.13.5  更简便的方法:UNDO表空间	3.13.6  监控UNDO空间	3.14  结束有问题的会话	3.15  不要在SYSTEM或SYSAUX表空间中执行排序	3.16  在不同磁盘和控制器上存放多个控制文件	3.17  对写操作频繁的数据使用裸设备来提高I/O	3.17.1  使用裸设备的好处	3.17.2  使用裸设备的缺点	3.18  磁盘I/O的其他注意事项和提示	3.19  设计阶段需要注意的问题	3.20  技巧回顾	3.21  参考文档	第4章  用初始参数调整数据库(针对DBA)	4.1  标识重要的初始参数	4.2  不用重启就修改初始参数	4.3  用Enterprise Manager查看初始参数	4.4  调整DB_CACHE_SIZE来提高性能	4.4.1  在调整DB_CACHE_SIZE时使用V$DB_CACHE_ADVICE	4.4.2  保证数据缓存命中率超过95%	4.4.3  监控V$SQLAREA视图以查找较慢的查询	4.5  设定DB_BLOCK_SIZE来反映数据读取量的大小	4.5.1  调整SHARED_POOL_SIZE以优化性能	4.5.2  使用Oracle的多个缓冲池	4.5.3  调整PGA_AGGREGATE TARGET以优化对内存的应用	4.5.4  修改SGA大小以避免分页和交换	4.5.5  了解基于成本的优化	4.5.6  创建足够的调度程序	4.5.7  25个重要的初始化参数	4.5.8  查找未归档的初始参数	4.5.9  了解典型的服务器	4.5.10  典型的服务器模式	4.5.11  调整Oracle Application数据库	4.6  技巧回顾	4.7  参考文档	第5章  企业管理器和网格控制(针对DBA和开发人员)	5.1  企业管理器(EM)基础	5.2  从All Targets和其他分组开始	5.3  Policies (Violations)选项卡	5.4  监控数据库	5.4.1  Database Administration选项卡	5.4.2  Database Administration选项卡:Tablespace	5.4.3  Database Administration选项卡:实例级别	5.4.4  Database Administration选项卡:All Initialization Parameters	5.4.5  Database Administration选项卡:Manage Optimizer Statistics	5.4.6  Database Administration选项卡(实例级别):	5.4.7  Database Maintenance选项卡	5.4.8  Database Topology选项卡	5.4.9  Database Performance选项卡	5.5  监控主机	5.6  监控应用服务器	5.7  监控Web应用程序	5.8  Deployments选项卡(补丁选项)	5.9  Jobs选项卡	5.10  Reports选项卡	5.11  自动存储管理的性能	5.12  小结	5.13  技巧回顾	5.14  参考文档	第6章  使用EXPLAIN和STOREDOUTLINES(针对DBA和开发人员)	6.1  Oracle的SQL TRACE实用程序	6.1.1  对简单查询使用SQL TRACE的简单步骤	6.1.2  TRACE输出部分	6.1.3  更复杂的TKPROF输出	6.1.4  深入探讨TKPROF输出	6.1.5  使用DBMS_MONITOR(10g的新特性)	6.1.6  使用TRCSESS将多个跟踪文件保存到一个文件中(10g的新特	6.1.7  单独使用EXPLAINPLAN	6.1.8  EXPLAIN PLAN—— 从上至下读取和从下至上读取	6.1.9  阅读EXPLAIN PLAN	6.1.10  使用DBMS_XPLAN	6.1.11  另一种EXPLAIN PLAN输出方法:构建树结构	6.1.12  另一个使用树的例子	6.1.13  在开发产品中利用TRACE/EXPLAIN发现有问题的查询	6.1.14  PLAN_TABLE表中的重要列	6.1.15  Oracle支持的一些有用的程序包	6.1.16  适用于未记录入档的TRACE操作的初始参数	6.1.17  使用存储纲要	6.1.18  使用Plan Stability(存储纲要)	6.2  技巧回顾	第7章  基本的提示语法(针对DBA和开发人员)	7.1  最常用的提示	7.1.1  谨慎使用提示	7.1.2  首先修正设计方案	7.2  可用的提示和分组	7.2.1  改变执行路径	7.2.2  使用访问方法提示	7.2.3  使用查询转换提示	7.2.4  使用连接操作提示	7.2.5  使用并行执行	7.2.6  其他提示	7.3  指定提示	7.4  指定多个提示	7.5  使用别名时,提示别名而不是表名	7.6  使用提示	7.6.1  使用FIRST_ROWS提示	7.6.2  使用ALL_ROWS提示	7.6.3  使用FULL提示	7.6.4  使用INDEX提示	7.6.5  使用NO_INDEX提示	7.6.6  使用INDEX_JOIN提示	7.6.7  使用INDEX_COMBINE提示	7.6.8  使用INDEX_ASC提示	7.6.9  使用INDEX_DESC提示	7.6.10  使用INDEX_FFS提示	7.6.11  使用ORDERED提示	7.6.12  使用LEADING提示	7.6.13  使用NO_EXPAND提示	7.6.14  使用DRIVING_SITE提示	7.6.15  使用USE_MERGE提示	7.6.16  使用USE_NL提示	7.6.17  使用USE_HASH提示	7.6.18  使用PUSH_SUBQ提示	7.6.19  使用PARALLEL提示	7.6.20  使用NO_PARALLEL提示	7.6.21  使用APPEND提示	7.6.22  使用NOAPPEND提示	7.6.23  使用CACHE提示	7.6.24  使用NOCACHE提示	7.6.25  使用CLUSTER提示	7.6.26  使用HASH提示	7.6.27  使用CURSOR_SHARINGEXACT提示	7.6.28  使用QB_NAME提示	7.7  其他一些提示和注意事项	7.8  使用提示可能遇到的问题	7.9  提示一览表	7.10  技巧回顾	7.11  参考文档	第8章  调整查询(针对开发人员和初级DBA)	8.1  调整哪些查询?查询V$SQLAREA	8.1.1  在V$SQLAREA视图中选出最占用资源的查询	8.1.2  在V$SQL视图中选出最占用资源的查询	8.2  选出最占用资源的会话和查询的新10g视图	8.2.1  从V$SESSMETRIC视图中选出当前最占用资源的会话	8.2.2  查看可用的AWR快照	8.2.3  从DBA_HIST_SQLSTAT视图中选出最占用资源的查询	8.2.4  从dba_hist_sqlstat视图中选择查询文本	8.2.5  从DBA_HIST_SQL_PLAN视图中选出查询执行计划	8.3  确定何时使用索引	8.4  遗忘索引	8.5  创建索引	8.6  查看表上的索引	8.7  修正差的索引	8.8  在删除索引时保持谨慎	8.9  对SELECT和WHERE中的列使用索引	8.10  使用快速全局扫描	8.11  使查询魔术般加速	8.12  在内存中缓存表	8.13  使用多个索引(利用最佳选择性)	8.14  使用索引合并	8.15  处理受限制的索引	8.16  使用基于函数的索引	8.17  了解“古怪”的OR	8.18  使用EXISTS函数	8.19  表就是视图	8.20  SQL和“大一统”理论	8.21  Oracle Database 10g中的调整修改	8.22  10g自动SQL调整	8.22.1  保证调整用户能访问API	8.22.2  创建调整任务	8.22.3  查看顾问日志中的任务	8.22.4  执行SQL调整任务	8.22.5  查看调整任务的状态	8.22.6  显示SQL调整顾问报告	8.22.7  检查报告输出	8.23  技巧回顾	8.24  参考文档	第9章  表的连接和其他高级调整技术(针对DBA和开发人员)	9.1  连接方法	9.1.1  嵌套循环连接	9.1.2  排序合并连接	9.1.3  集群连接	9.1.4  散列连接	9.1.5  索引连接	9.2  表连接的初始化参数排序合并与散列连接参数	9.3  双表连接:等尺寸表(基于成本)	9.4  双表索引连接:等尺寸表(基于成本)	9.5  强制执行特殊的连接方法	9.6  在多表连接中除去连接记录(侯选行)	9.7  在大小不同的表间进行双表连接	9.8  三表连接(基于成本)	9.9  位图连接索引	9.10  第三方性能调整工具	9.11  调整分布式查询	9.12  一切就绪	9.13  各种调整技术摘要	9.13.1  外部表	9.13.2  数据快照太旧:开发人员的编程难题	9.13.3  设置事件以转储每次等待	9.13.4  使用EXISTS操作符有效缩短时间	9.14  在块级别进行调整	9.15  使用简单的数学方法调整性能	9.15.1  传统的数学分析	9.15.2  方法论的七个步骤	9.15.3  模式分析	9.15.4  数学方法总结	9.16  连接调整:关系模型与对象关系模型的性能	9.16.1  使用的模型	9.16.2  结果	9.16.3  总结	9.17  技巧回顾	9.18  参考文档	第10章  使用PL/SQL提高性能(针对DBA和开发人员)	10.1  使用DBMS_APPLICATIONINFO进行实时监控	10.2  在RAC环境中为实时监控使用自定义包代替DBMSAPPLICATION_INFO10.3  在数据库的表中记录计时信息	10.4  减少PL/SQL程序的单元迭代和迭代的时间	10.5  使用ROWID进行迭代处理	10.6  将数据类型、IF语句的排列和PLS_INTEGER	10.6.1  确保比较运算中的数据类型相同	10.6.2  根据条件出现的频率来排序IF条件	10.6.3  使用PLS_INTEGERPL/SQL数据类型进行整数运算	10.7  减少对SYSDATE的调用	10.8  减少MOD函数的使用	10.9  共享池和固定PL/SQL对象	10.9.1  将PL/SQL对象语句固定(缓存)到内存中	10.9.2  固定所有的包	10.10  标识需要固定的PL/SQL对象	10.11  使用和修改DBMS_ SHAREDPOOL.SIZES	10.12  从DBA_OBJECT_SIZE 中获取详细的对象信息	10.13  发现无效的对象	10.14  发现已禁用的触发器	10.15  将PL/SQL表用于快速参考表查询	10.16  查找和调整所使用对象的SQL	10.17  在处理DATE数据类型时使用时间信息	10.18  调整和测试PL/SQL	10.19  了解PL/SQL对象定位的含义	10.20  使用回滚段打开大型游标	10.21  使用数据库的临时表来提高性能	10.22  集成用户跟踪机制以定位执行位置	10.23  限制动态SQL的使用	10.24  使用管道表函数来建立复杂结果集	10.25  别管调试命令	10.26  为初学者提供的例子	10.26.1  创建PL/SQL代码	10.26.2  创建过程	10.26.3  执行PL/SQL过程	10.26.4  创建函数	10.26.5  在SQL中执行GETCUST_NAME函数	10.26.6  创建数据包	10.26.7  在数据库触发器中使用PL/SQL	10.27  技巧回顾	10.28  参考文档	第11章  调整RAC和使用并行特性	11.1  实时应用集群(RAC)	11.1.1  并行数据库	11.1.2  Oracle RAC的体系结构	11.1.3  Oracle RAC系统的内部工作方式	11.1.4  SCN 处理	11.1.5  RAC性能调整概述	11.1.6  RAC等待事件和互连统计数据	11.1.7  集群互连调整——硬件等级	11.1.8  使用企业管理器网格控制调整RAC	11.2  并行操作的基本概念	11.3  并行DML和DDL语句和操作	11.4  Oracle 9i的并行DML语句和操作	11.5  并行处理和分区	11.6  操作内部和操作之间的并行处理	11.7  使用并行操作生成表和索引的示例	11.8  并行DML语句和示例	11.8.1  并行DML的约束条件	11.8.2  并行DML语句示例	11.9  通过V$视图监控并行操作	11.9.1  V$PQ_TQSTAT	11.9.2  V$PQ_SYSSTAT	11.9.3  V$PQ_SESSTAT	11.10  在并行操作时使用EXPLAIN PLAN和AUTOTRACE	11.11  调整并行执行和Oracle 9i初始化参数	11.12  并行加载	11.13  性能比较和监控并行操作	11.14  优化RAC中的并行操作	11.14.1  并行操作的目标	11.14.2  RAC并行使用模型	11.14.3  初始化参数	11.14.4  查看并行统计数据的V$视图	11.14.5  并行配置和相关基线测试	11.14.6  并行查询测试示例	11.14.7  Create Table As	11.14.8  索引构建	11.14.9  性能考虑因素和小结	11.15  使用并行处理时的其他 注意事项	11.16  技巧回顾	11.17  参考文档	第12章  V$视图(针对开发人员和DBA)	12.1  V$视图的创建和访问	12.1.1  获得所有V$视图的数量和列表	12.1.2  查找用于创建V$视图的X$表	12.1.3  查找组成DBA_视图的底层对象	12.1.4  使用有帮助的V$脚本	12.1.5  内存分配摘要(V$SGA)	12.1.6  内存分配的细节(V$SGASTAT)	12.1.7  在V$PARAMETER中发现init.ora的设置	12.1.8  测定数据的命中率(V$SYSSTAT)	12.1.9  测定数据字典的命中率(V$ROWCACHE)	12.1.10  测定共享SQL和PL/SQL的命中率(V$LIBRARYCACHE)	12.1.11  确定需要固定的PL/SQL对象	12.1.12  通过V$SQLAREA查找有问题的查询	12.1.13  检查用户的当前操作及其使用的资源	12.1.14  查找用户正在访问的对象	12.1.15  使用索引	12.1.16  确定锁定问题	12.1.17  关闭有问题的会话	12.1.18  查找使用多会话的用户	12.1.19  查找磁盘I/O问题	12.1.20  查找回滚段的内容	12.1.21  检查空闲列表是否充足	12.1.22  检查角色和权限设置	12.1.23  等待事件V$视图	12.1.24  一些主要的V$视图种类	12.2  技巧回顾	12.3  参考文档	第13章  X$表(针对高级DBA)	13.1  X$表介绍	13.1.1  有关X$表的误解	13.1.2  授权查看X$表	13.2  创建V$视图和X$表	13.3  获得所有X$表的列表	13.4  获得所有的X$索引列表	13.5  对X$表和索引使用提示	13.6  共享池	13.7  监控共享池的查询	13.7.1  ORA-04031错误	13.7.2  空间分配过大而引起的争用	13.7.3  共享池碎片化	13.7.4  共享池和/或Java池中闲内存过低	13.7.5  库缓存命中率	13.7.6  大量的硬分析	13.7.7  闩锁等待和/或休眠	13.7.8  其他调整选项	13.8  重做	13.9  初始化参数	13.10  缓存/数据块	13.10.1  缓存状态	13.10.2  占用数据块缓存的段	13.10.3  热数据块/闩锁争用和等待事件	13.11  实例/数据库	13.12  高效使用X$表及其策略	13.13  相关的Oracle内部机制	13.13.1  跟踪	13.13.2  DBMS_TRACE包	13.13.3  事件	13.13.4  转储	13.13.5  ORADEBUG	13.13.6  trcsess工具	13.14  阅读跟踪文件	13.14.1  等待信息和响应时间	13.14.2  递归调用	13.14.3  模块信息	13.14.4  提交	13.14.5  Unmap	13.14.6  绑定变量	13.14.7  错误	13.15  X$表的分组	13.16  X$表及相关的非V$固定视图	13.17  常见的X$表连接	13.17.1  Oracle 10gR1中新增的X$表	13.17.2  Oracle 10gR2中新增的X$表	13.18  X$表的命名约定	13.19  技巧回顾	13.20  参考文档	第14章  使用STATSPACK和AWR报表调整等待和闩锁	14.1  10gR2 (10.2) STATSPACK的 新特性	14.2  10gR1 (10.1) STATSPACK的新特性	14.3  安装STATSPACK	14.3.1  PERFSTAT账户的安全管理	14.3.2  安装之后	14.3.3  搜集统计数据	14.3.4  运行统计数据报表	14.4  自动工作量仓库(AWR)和AWR报表	14.4.1  手动管理AWR	14.4.2  AWR自动快照	14.4.3  AWR快照报表	14.4.4  在Oracle企业管理器网格控制中运行AWR报表	14.5  解释STATSPACK的输出结果	14.5.1  报表头信息	14.5.2  负载简档	14.5.3  实例的效率	14.5.4  首要等待事件	14.5.5  Oracle Bugs	14.5.6  Oracle影子进程的生命周期	14.5.7  RAC等待事件和互连统计数据	14.5.8  首要的SQL语句	14.5.9  实例活动统计数据	14.5.10  表空间和文件I/O的统计数据	14.5.11  段统计数据	14.5.12  其他的内存统计数据	14.5.13  撤消统计数据	14.5.14  闩锁统计数据	14.5.15  在块级别调整和查看(高级)	14.5.16  数据字典和库缓存的统计数据	14.5.17  SGA内存统计数据	14.5.18  非默认的初始化参数	14.6  AWR报表和STATSPACK输出结果中需	14.6.1  管理STATSPACK数据	14.6.2  升级STATSPACK	14.6.3  删除STATSPACK	14.7  新ADDM报表的快速注释	14.8  10gR2脚本	14.9  技巧回顾	14.10  参考文档	第15章  执行快速系统检查 (针对DBA)	15.1  总体性能指数(TPI)	15.2  教育性能指数(EPI)	15.3  系统性能指数(SPI)	15.4  内存性能指数(MPI)	15.4.1  缓冲区命中率	15.4.2  数据字典缓存命中率	15.4.3  库缓存命中率	15.4.4  PGA内存排序命中率	15.4.5  空闲的数据缓冲区的比例	15.4.6  最浪费内存的前10个语句占所有语句的比例	15.4.7  调整前25个最浪费内存的语句	15.4.8  固定/缓存对象	15.5  磁盘性能指数(DPI)	15.5.1  调整滥用磁盘读操作的25个主要语句	15.5.2  最浪费磁盘读操作的前10个语句占所有语句的比例	15.5.3  表/索引的分离	15.5.4  关键任务表管理	15.5.5  分离关键的Oracle文件	15.5.6  自动撤消管理	15.5.7  临时段的平衡	15.6  总体性能指数(TPI)	15.7  系统综合检查的示例	15.7.1  评级系统	15.7.2  系统检查评级分类的示例	15.7.3  需要立刻解决的问题项	15.7.4  其他需要解决的问题项	15.8  系统信息列表	15.8.1  与内存有关的值	15.8.2  与磁盘有关的值	15.8.3  与CPU有关的值	15.8.4  与备份和恢复有关的信息	15.8.5  命名约定和/或标准以及安全信息	15.8.6  DBA知识评级	15.9  TPI和系统检查需要考虑的其他项	15.10  技巧回顾	15.11  参考文档	第16章  使用UNIX工具监控系统 (针对DBA)	16.1  Unix/Linux工具	16.2  使用sar命令监控CPU的使用	16.2.1  sar -u (检查CPU沉重程度)	16.2.2  sar -d命令(查找I/O问题)	16.2.3  sar -b命令(检查缓存)	16.2.4  sar -q命令(检查运行队列和交换队列的长度)	16.3  使用sar命令和vmstat命令监控分页/交换	16.3.1  使用sar命令的-p选项报告分页活动	16.3.2  使用sar命令的-w选项报告交换和切换活动	16.3.3  使用sar命令的-r选项报告空闲内存和空闲交换	16.3.4  使用sar命令的-g选项报告分页活动	16.3.5  使用sar命令的-wpgr选项	16.4  使用top命令发现系统中最影响性能的用户	16.5  使用uptime命令监控CPU的负载	16.6  使用mpstat命令确定CPU瓶颈	16.7  将ps命令与已选出的V$视图相结合	16.8  使用iostat命令确定磁盘I/O瓶颈	16.8.1  为磁盘驱动器sd15、sd16、sd17和sd18使用iostat的-d选项16.8.2  使用iostat的-D选项	16.8.3  使用iostat的-x选项	16.8.4  将iostat的-x选项与shell本中的逻辑相结合	16.9  使用ipcs命令确定共享内存的使用情况	16.10  使用vmstat命令监控系统的负载	16.11  监控磁盘空闲空间	16.12  监控网络性能	16.12.1  使用spray命令监控	16.12.2  使用nfsstat -c监控网络性能	16.12.3  使用netstat监控网络性能	16.12.4  显示可调整参数的当前值	16.12.5  修改配置信息文件	16.12.6  影响性能的其他因素	16.13  技巧回顾	16.14  参考文档	附录A  主要的初始化参数(针对DBA)	A.1  不再支持的初始化参数	A.2  不建议使用的初始化参数	A.3  25个最重要的初始化参数	A.4  必须记住的最重要的10个初始化参数	A.5  最重要的13个未入档的初始化参数	A.6  已入档的初始化参数列表(V$PARAMETER)	A.7  未入档的初始化参数列表(x$ksppi/x$ksppcv)	A.8  Oracle应用程序11i建议(注释: 216205.1)	A.9  不写书的10个重要原因	A.10  技巧回顾	A.11  参考文档	附录B  V$视图(针对DBA和开发人员)	B.1  V$视图、GV$视图和X$表的创建	B.2  Oracle 10g (10.2.0.1) GV$和V$视图列表	B.3  Oracle 10g (10.2.0.1) V$视图	B.4  用于创建V$视图的X$表的Oracle 10g脚本	附录C  X$表(针对DBA) 	C.1  按名称排序的Oracle10g X$表	C.2  Oracle 10g X$索引	C.3  交叉引用X$表的Oracle 10gV$视图	C.4  GV$视图没有引用的Oracle 10g X$表

章节摘录

插图:第1章 Oracle Database 10g新功能介绍(针对DBA和开发人员)1.1 安装改进对于10g版本,首先您将会注意到其较小的磁盘占用空间和更为简单的安装。数据库通过一张CD提供给用户,而一些组件,例如HTTP服务器和HTML DB(Application Express或最新版一中的APEX),则通过一张附带的CD提供给用户。

媒体关注与评论

“Rich再次完成了一本优秀的书籍,书中以大胆的、鼓舞他人的方式教导不同层次的读者。”  ——Ari Kaplan,独立Oracle用户组的总裁“Rich Niemiec是Oracle性能调整方面的“绝对”专家。每个Oracle DBA的书架上都应该放有本书——任何人都可以从中学到知识。这是一本被反复证明过有重要参考价值的优秀书籍。”  ——KimberIy Floss,PepsiCo的数据库服务经理,独立Oracle用户组的前任总裁“Rich是一名世界顶尖的Oracle优化专家。他的书籍为所有优化从业人员(从初级到高级)提供了大量提示和技巧;本书将使Oracle世界的每位优化从业人员的技能得到提升。”  ——Mohammed Abdul Samad,沙特阿拉伯教育部“我非常钦佩Rich在0racle技术方面的丰富知识。希望熟练掌握Oracle性能调整的任何人都可以从本书中获益。本书包含了Rich在Oracle方面的专家知识和经验,并且是所有Oracle专业人士必读的书籍。”  ——Hardik Bhatt,芝加哥城首席信息官“Rich Niemiec编写的任何书籍都是必须购买的书籍,他深入了解Oracle的方方面面。”  ——Karen Brownfield,Oracle Applications用户组董事

编辑推荐

通过学习《Oracle Database 10g 性能调整与优化》,读者可以了解到如何选择最优化的索引选项,有效地管理驱动器和磁盘阵列,对查询执行故障检修,以及可靠地预测将来的性能。《Oracle Database 10g 性能调整与优化》也将详细介绍PL/SQL性能增强、初始化文件调整,以及最新的数据库调查和报告实用程序。

图书封面

图书标签Tags

评论、评分、阅读与下载


    Oracle Database 10g性能调整与优化 PDF格式下载


用户评论 (总计22条)

 
 

  •   对于DBA入门, 相当不错, 由浅入深, 循序渐进
  •   全书涉及到Oracle调整的许多技巧,对于初学者来说,需要耐心看。大部分内容都不是特别难懂,当然也有难理解的地方。总的来,是挺不错的一本书。
  •   仔细阅读后,能让你对oracle的底层的东西有更深入的理解。
  •   书的质量很好。内容也很全面,最好配合别的书来看。但看这一本我是感觉有点吃力,不太好理解。
  •   很不错,优化技巧很多,很实用。对原理的解释也很到位,比国内很多垃圾书要好太多了!
  •   看了下,内容蛮不错的,可以对oracle有更深层次的了解
  •   很不错的学习资料,对优化有帮助
  •   中规中矩,适合当教材使用。对不论是初学者或中高级使用者都有很大帮助。
  •   实践中积累的优化经验,在经过这本书的总结指引下,我的优化能力得到系统的提升。
  •   这书真的是太畅销了,2次进货才排到给我发货,总算入手了,很高兴啊.
  •   知识很丰富的,很不错呀!
  •   发货慢,包装差,书角都磨坏了
  •   这本书缺页很严重,第八章缺了15页左右,第九章缺了2页,后面的还没看呢,不知道有没有缺页的了,书的质量也太差了。
  •   书本质量很好,内容很全面
  •   外文技术书的翻译始终是个问题,这本书写的很好,内容很NB,该基础的地方也讲的比较基础,就是翻译,英语长句子翻译的不好,一句话看半天偶尔才能看懂。假如你要找性能优化方面的书,也就那么三四本,这本绝对是值得一看的。
  •   装帧优良内容广泛,讲解精到
  •   好书啊!内容不错
  •   b0bqn31f5d54t0
  •   买了用来自学的
  •   正版书,很早就想要了!
  •   很好,需要好好研究
  •   性能调整与优化
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7