书籍详情

Oracle Database 11g 性能优化攻略

Oracle Database 11g 性能优化攻略

作者:(美)Sam R. Alapati Darl Kuhn Bill Padfield 译者,朱浩波

出版社:人民邮电出版社

出版时间:2013-04-01

ISBN:9787115309365

定价:¥99.00

购买这本书可以去
内容简介
  《Oracle Database 11g 性能优化攻略》自始至终围绕性能调优这一主线,由浅入深地介绍常见的Oracle数据库性能问题。每节分析一个具体的性能问题,并全部采用“问题描述”—“解决方案”—“工作原理”这种独特的介绍风格,针对性强,方便读者理解和查阅。同时,读者会发现作者从创建数据库伊始就未雨绸缪,在管理数据库的过程中更是时刻将改善数据库性能放在首位。三位作者都是经验丰富的Oracle数据库管理员,并且合作撰写过其他几本广受好评的Oracle数据库管理图书,在数据库性能调优方面颇有心得。作者不吝将多年的实践经验和智慧感悟汇集成册,与读者分享。读完本书,读者在解决数据库性能问题时,就能做到有的放矢,思路开阔。《Oracle Database 11g 性能优化攻略》既是绝佳的学习资源,也可作为案头必备手册随时翻阅。
作者简介
  Sam R. Alapati,Oracle ACE,经验丰富的Oracle数据库管理员,拥有Oracle OCP DBA证书和HP UNIX系统管理员证书。目前,他管理着美国童子军全国总部数据库。Alapati很早就开始接触数据库,包括20世纪80年代中期的Ingres关系型数据库管理系统。他还精通Microsoft SQL Server、Sybase和IBM DB2数据库管理系统。Darl Kuhn,Oracle公司高级数据库管理员,拥有美国科罗拉多州立大学研究生学位。他在Oracle从事过数据库管理的各个方面工作,从设计、开发到产品支持。同时,他还在美国科罗拉多的雷吉斯大学讲授高级数据库课程。Darl还是落基山Oracle用户组的DBA志愿者。Bill Padfield,Oracle认证专家,具有近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
猜您喜欢

读书导航