Oracle Database 11g性能优化攻略

出版社:人民邮电出版社
出版日期:2013-4
ISBN:9787115309365
作者:[美] Sam R. Alapati,[美] Darl Kuhn,[美] Bill Padfield
页数:476页

章节摘录

版权页:   插图:   另一种在数据库中进行并行DML事务的方法就是使用DBMS—PARALLEL—EXECUTE PL/SQL包。尽管设置起来更复杂,但使用这个包运行并行事务具有一些很重要的优点。 总的事务被划分为多个块,每一个都有自己的提交点(commit point)。 事务可重新开始。 只会对相关行进行锁定。 减少了撤销(undo)的使用。 可以对如何划分工作进行更多的控制。可以有几种方法来划分工作: 按照列; 按照ROWID; 按照SQL语句。 显而易见,使用DBMS PARALLEL EXECUTE包的好处在于,对于大事务如何来运行有更多的控制权,并且增加了功能,更合理地使用了数据库资源。使用这个包最主要的缺点在于设置、安装和运行更复杂——但处理大数据量时很值得使用。 并行DML的限制条件 使用并行DML有大量的限制条件,即使是处理大数据,也需要理解这些限制。并行DML不能在下面这些环境中使用。 插入单独的数据行(使用VALUES子句)不能并行运行。 在一个事务中只能对一张表进行一次修改。 不能在具有触发器的表上运行。 具有某些特定约束的表可能不适合。 对于具有大对象(LOB)表中的列,并行DML功能会有限制。 对于临时表,并行DML功能会有限制。 分布式事务不能使用并行。 并行度 当提交了一个并行DML操作来执行,Oracle就会基于一系列的优先原则来确定对所提交的语句应该使用什么DOP值。理解这些原则很重要,这样才能为事务使用想要的DOP。 对于DML事务,Oracle使用下面的优先规则来确定DOP。 (1)检查在INSERT、UPDATE、MERGE或DELETE语句中是否指定了提示。 (2)检查是否有任何会话级的指令。 (3)检查目标对象上的对象级并行设置。 (4)选择语句(仅限于INSERT语句)的查询部分所使用的表或任何相关索引中,所指定的最大并行度。

内容概要

Sam R. Alapati    Oracle ACE,经验丰富的Oracle数据库管理员(Oracle Database11g OCP)。目前就职于得克萨斯州沃思堡的现金美国国际公司(Cash America International),担任高级数据库架构师和经理。撰写过多本数据库管理方面的图书,包括《Oracle Database 11g数据库管理艺术》、《Oracle Database 11g性能优化攻略》等。Darl Kuhn拥有美国科罗拉多州立大学研究生学位,Oracle公司高级数据库管理员。负责数据库管理的各个方面,从设计、开发到产品支持。同时,他还在美国科罗拉多的雷吉斯大学讲授高级数据库课程。Darl还是洛矶山Oracle用户组的DBA志愿者。Bill PadfieldOracle认证专家,具有近30年的IT行业从业将于,以及14年以上的Oracle数据库管理经验。目前他在科罗拉多州丹佛市的一家大型电信公司担任首席数据库管理员,协助控制和管理由75个数据库组成的大型数据仓库环境。同时,Bill也任教于雷吉斯大学,给研究生讲授数据库课程。

书籍目录

目    录
第1章  优化表性能  1
攻略1-1  创建具有最优性能的数据库  1
攻略1-2  创建具有最优性能的表空间  4
攻略1-3  匹配表类型与业务需求  6
攻略1-4  选择有益于性能的表特性  8
攻略1-5  在创建数据表时避免盘区分配延迟  9
攻略1-6  数据加载速度最大化  11
攻略1-7  高效移除表中数据  13
攻略1-8  显示自动段顾问建议  15
攻略1-9  手工生成段顾问建议  18
攻略1-10  自动发送段顾问输出电子邮件  22
攻略1-11  重建跨多个数据块的数据行  23
攻略1-12  释放未使用的表存储空间  26
攻略1-13  压缩数据以进行直接路径加载  27
攻略1-14  为所有DML操作压缩数据  30
攻略1-15  在列级压缩数据  31
攻略1-16  监控表使用率  33
第2章  选择和优化索引  35
攻略2-1  理解B树索引  36
攻略2-2  选择需要建立索引的列  41
攻略2-3  创建主键索引  44
攻略2-4  创建唯一索引  45
攻略2-5  为外键列创建索引  48
攻略2-6  何时使用组合索引  49
攻略2-7  通过压缩减少索引大小  51
攻略2-8  实现基于函数的索引  52
攻略2-9  在虚拟列上创建索引  54
攻略2-10  平衡索引的I/O  56
攻略2-11  新增一个索引而不影响已有的应用  57
攻略2-12  创建支持星型架构的位图索引  58
攻略2-13  创建位图连接索引  59
攻略2-14  创建索引组织表  60
攻略2-15  监控索引使用  62
攻略2-16  索引创建速度最大化  63
攻略2-17  回收未使用的索引空间  64
第3章  优化实例内存  68
攻略3-1  自动内存管理  68
攻略3-2  管理多个缓冲池  71
攻略3-3  设定内存最小值  73
攻略3-4  监控内存调整操作  74
攻略3-5  优化内存使用  75
攻略3-6  调优PGA内存分配  77
攻略3-7  配置服务器查询缓存  79
攻略3-8  管理服务器结果缓存  81
攻略3-9  缓存SQL查询结果  83
攻略3-10  缓存客户端结果集  86
攻略3-11  缓存PL/SQL函数结果  88
攻略3-12  配置Oracle数据库智能闪存缓存  91
攻略3-13  调节重做日志缓冲区  93
第4章  监控系统性能  95
攻略4-1  实现AWR  95
攻略4-2  修改统计信息时间间隔和保存期限  97
攻略4-3  手工生成AWR报表  99
攻略4-4  通过企业管理器生成一份AWR报告  101
攻略4-5  为一条SQL语句生成AWR报告  102
攻略4-6  为数据库创建统计基线  103
攻略4-7  通过企业管理器管理AWR基线  106
攻略4-8  管理AWR统计信息库  109
攻略4-9  自动创建AWR基线  110
攻略4-10  快速分析AWR输出  112
攻略4-11  手工获取活动会话信息  113
攻略4-12  从企业管理器中获取ASH信息  117
攻略4-13  从数据字典中获取ASH信息  119
第5章  最小化系统资源争夺  123
攻略5-1  理解响应时间  123
攻略5-2  确定引起最多等待的SQL语句  126
攻略5-3  分析等待事件  126
攻略5-4  理解等待事件的分类  128
攻略5-5  检查会话等待  128
攻略5-6  按类型检查等待事件  130
攻略5-7  解决缓冲区忙等待  132
攻略5-8  解决日志文件同步等待  134
攻略5-9  被另一个会话读取等待事件的最小化  135
攻略5-10  减少直接路径读取等待事件  136
攻略5-11  恢复写入器等待最小化  137
攻略5-12  找出谁持有阻塞锁  138
攻略5-13  确定被阻塞和引起阻塞的会话  140
攻略5-14  处理引起阻塞的锁  141
攻略5-15  确定被锁定的对象  142
攻略5-16  解决enq:TM锁资源争夺  143
攻略5-17  确定最近被锁住的会话  145
攻略5-18  分析数据库中最近的等待事件  147
攻略5-19  确定由于锁定所花费的等待时间  149
攻略5-20  锁存器争夺的最小化  151
攻略5-21  通过Oracle企业管理器来管理锁  154
攻略5-22  通过Oracle企业管理器分析等待  155
第6章  分析操作系统性能  157
攻略6-1  检测磁盘空间问题  159
攻略6-2  确定系统瓶颈  161
攻略6-3  确定系统瓶颈(Solaris)  163
攻略6-4  确定消耗服务器资源最多的进程(top)  164
攻略6-5  确定CPU和内存瓶颈  166
攻略6-6  确定I/O瓶颈  167
攻略6-7  识别网络密集型进程  170
攻略6-8  检修数据库网络连接性  171
攻略6-9  将一个资源密集型进程映射到一个数据库进程  172
攻略6-10  终止一个资源密集型进程  175
第7章  检修数据库  177
攻略7-1  确定最优的撤销保留时间  177
攻略7-2  找出是什么消耗了最多的撤销空间  181
攻略7-3  解决ORA-01555错误  182
攻略7-4  监控临时表空间使用率  184
攻略7-5  确定是谁在使用临时表空间  185
攻略7-6  解决“无法扩展临时数据段”错误  186
攻略7-7  解决打开游标错误  188
攻略7-8  解决被挂起的数据库问题  190
攻略7-9  激活自动诊断库命令解释器  194
攻略7-10  从ADRCI中来查看报警日志  198
攻略7-11  使用ADRCI查看事件  200
攻略7-12  将事件打包发给Oracle技术支持团队  202
攻略7-13  运行一次数据库健康检查  203
攻略7-14  创建SQL测试用例  205
攻略7-15  生成一份AWR报告  208
攻略7-16  比较两个阶段的数据库性能  210
攻略7-17  分析一份AWR报告  212
第8章  创建高效的SQL  216
攻略8-1  获取一张表中的所有数据行  216
攻略8-2  获取一张表中的部分数据行  218
攻略8-3  通过相对应的行来连接表  220
攻略8-4  在没有相对应数据行的情况下连接表  222
攻略8-5  构造简单的子查询  224
攻略8-6  构建相关子查询  228
攻略8-7  比较两个表找出缺失的数据行  230
攻略8-8  比较两张表找出匹配的数据行  231
攻略8-9  将相似SELECT语句的结果集合并  232
攻略8-10  查找一定范围内的值  234
攻略8-11  处理空值  237
攻略8-12  搜索部分列值  240
攻略8-13  重用共享池中的SQL语句  243
攻略8-14  避免偶然的全表扫描  246
攻略8-15  创建高效的临时视图  248
攻略8-16  避免使用NOT子句  250
攻略8-17  控制事务大小  252
第9章  SQL手工调优  255
攻略9-1  显示查询的执行计划  256
攻略9-2  定制执行计划输出  258
攻略9-3  图形化显示执行计划  261
攻略9-4  解读一份执行计划  262
攻略9-5  监控运行时间较长的SQL语句  264
攻略9-6  确定当前正在执行的耗占资源的SQL语句  265
攻略9-7  查看当前正在运行的SQL语句的统计信息  266
攻略9-8  监控一个SQL执行计划的处理过程  269
攻略9-9  确定过去执行的SQL语句中最耗占资源的语句  271
攻略9-10  比较系统修改后的SQL性能  273
第10章  追踪SQL执行  278
攻略10-1  环境准备  278
攻略10-2  追踪一个特定的SQL语句  280
攻略10-3  在你所拥有的会话中启用追踪  282
攻略10-4  找到追踪文件  283
攻略10-5  检查原始SQL追踪文件  284
攻略10-6  分析Oracle追踪文件  285
攻略10-7  使用TKPROF设置追踪文件的格式  286
攻略10-8  分析TKPROF输出  287
攻略10-9  使用Oracle追踪分析器分析追踪文件  290
攻略10-10  追踪一个并行查询  293
攻略10-11  追踪特定的并行查询进程  294
攻略10-12  在RAC系统中追踪并行查询  295
攻略10-13  合并多个追踪文件  296
攻略10-14  找出正确的会话来进行追踪  297
攻略10-15  追踪一个SQL会话  297
攻略10-16  通过进程ID来追踪会话  299
攻略10-17  追踪多个会话  300
攻略10-18  追踪一个实例或数据库  301
攻略10-19  为会话生成事件10046追踪  302
攻略10-20  为实例生成事件10046追踪  304
攻略10-21  在一个正在运行的会话上设置追踪  304
攻略10-22  登录之后启用会话追踪  305
攻略10-23  追踪优化器的执行路径  306
攻略10-24  生成Oracle错误自动追踪  309
攻略10-25  追踪后台进程  310
攻略10-26  启用Oracle监听器追踪  311
攻略10-27  为数据卫士设置归档追踪  312
第11章  SQL自动调优  314
攻略11-1  显示自动SQL调优工作详细信息  316
攻略11-2  显示SQL自动调优建议  318
攻略11-3  生成SQL脚本来实现自动调优建议  322
攻略11-4  修改SQL自动调优特性  323
攻略11-5  禁用和启用SQL自动调优  325
攻略11-6  修改维护窗口属性  326
攻略11-7  创建SQL调优集对象  327
攻略11-8  查看AWR中的资源密集型SQL语句  328
攻略11-9  查看内存中的资源密集型SQL语句  330
攻略11-10  用AWR中高资源消耗的SQL来填充优化集  332
攻略11-11  用内存中高资源消耗的SQL来填充调优集  333
攻略11-12  将内存中所有SQL语句填充到SQL调优集  334
攻略11-13  显示SQL调优集的内容  335
攻略11-14  有选择地从SQL调优集中删除语句  337
攻略11-15  传输SQL调优集  338
攻略11-16  创建调优任务  340
攻略11-17  手工运行SQL调优顾问  342
攻略11-18  从数据库自动诊断监视器中获得SQL调优建议  345
第12章  执行计划优化与一致性  348
攻略12-1  创建并接受SQL概要  351
攻略12-2  自动接受SQL概要文件  354
攻略12-3  显示SQL概要文件信息  356
攻略12-4  禁用SQL概要文件  358
攻略12-5  删除SQL概要文件  360
攻略12-6  移动SQL概要文件  361
攻略12-7  自动增加计划基线  363
攻略12-8  为一条SQL语句创建计划基线  365
攻略12-9  为包含在SQL调优集中的SQL语句创建计划基线  366
攻略12-10  修改计划基线  368
攻略12-11  确认是否存在计划基线  370
攻略12-12  显示计划基线执行计划  371
攻略12-13  在计划基线中加入一个新的计划(扩展)  372
攻略12-14  禁用计划基线  375
攻略12-15  移除计划基线信息  376
攻略12-16  迁移计划基线  377
第13章  优化器配置  380
攻略13-1  选择优化器目标  380
攻略13-2  启用统计信息自动收集  381
攻略13-3  为统计信息收集设置首选参数  383
攻略13-4  手工生成统计信息  388
攻略13-5  锁定统计信息  389
攻略13-6  处理统计信息的缺失  390
攻略13-7  导出统计信息  392
攻略13-8  还原以前版本的统计信息  393
攻略13-9  收集系统统计信息  394
攻略13-10  验证新的统计信息  397
攻略13-11  强制优化器使用某个索引  399
攻略13-12  启用查询优化器特性  400
攻略13-13  阻止数据库创建柱状图  402
攻略13-14  不使用绑定变量提高性能  403
攻略13-15  理解自适应游标共享  406
攻略13-16  在表达式上创建统计信息  411
攻略13-17  为相关列创建统计信息  412
攻略13-18  自动创建列组  413
攻略13-19  维护分区表统计信息  415
攻略13-20  为大表并行收集统计信息  416
第14章  实现查询提示  419
攻略14-1  编写一个提示  419
攻略14-2  改变访问路径  420
攻略14-3  改变连接顺序  424
攻略14-4  改变连接方法  425
攻略14-5  改变优化器版本  428
攻略14-6  在快速响应和整体优化之间进行选择  428
攻略14-7  进行直接路径插入  430
攻略14-8  在视图中加入提示  432
攻略14-9  缓存查询结果  434
攻略14-10  将分布式查询引导到一个特定的数据库  437
攻略14-11  收集查询执行的扩展统计信息  441
攻略14-12  启用查询改写  442
攻略14-13  提升星型架构查询的性能  444
第15章  并行执行SQL  447
攻略15-1  为特定查询启用并行  447
攻略15-2  在创建对象时启用并行  451
攻略15-3  为已经存在的对象启用并行  452
攻略15-4  实现并行DML  453
攻略15-5  并行创建表  456
攻略15-6  并行创建索引  458
攻略15-7  并行重建索引  459
攻略15-8  并行移动分区  460
攻略15-9  并行拆分分区  461
攻略15-10  启用自动并行度  462
攻略15-11  检查并行解释计划  463
攻略15-12  监控并行操作  466
攻略15-13  找出并行进程中的瓶颈  468
攻略15-14  获取并行会话的详细信息  469
索引  471

编辑推荐

由三位经验丰富的顶级Oracle DBA联手打造。由表及里地深入分析Oracle数据库性能问题,给出标本兼治的性能调优方案。数据库性能疑难杂症各个击破。

作者简介

《Oracle Database 11g性能优化攻略》由三位经验丰富的顶级OracleDBA再次联手,为读者呈现这本Oracle数据库性能优化攻略。《Oracle Database 11g性能优化攻略》由表及里地深入分析了造成Oracle数据库性能缓慢的各种原因,然后给出标本兼治的性能调优方案。作者将多年的实践经验和个人智慧与读者分享,帮助读者诊治影响数据库性能的各种疑难杂症。


 Oracle Database 11g性能优化攻略下载



发布书评

 
 


精彩短评 (总计7条)

  •     1.这书内容不错,我很喜欢,2.送的非常快,周日拍,周一就到货3.书质量也不错,很新
  •     此书没有比较好的案例,只是一些概念性的东西,这些百度里面都有,什么地方不明白还没网上来的方便呢。只有有了好点的案例驱动才能更理解这些概念性的东西吧,不然买书都没什么意义了
  •     关于oracle调优的非常详尽的一本书,强烈推荐
  •     本书从性能优化角度介绍了Oracle优化的方方面面,从现象、原因到解决的方法和脚本都提供了,对使用oracle的程序员和DBA都是非常有帮助的
  •     内容丰富,实例简洁。每个攻略都明确解决方案和工作原理,很适合有一定工作经验的童鞋。
  •     书还没时间看.大体看了一下目录.内容还是可以的.至于内容的深浅要看了才知道.给个满星吧.多少应该可以学点东西.
  •     挺不错的,纯正版,就是封皮有好几处挤压的划痕
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024