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

  • 购买积分:15 如何计算积分?
  • 作  者:(美)SamR·AlapatiDarlKuhnBillPadfield;朱浩波译者
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2013
  • ISBN:9787115309365
  • 页数:476 页
图书介绍:三位经验丰富的顶级Oracle DBA再次联手,为读者呈现这本Oracle数据库性能优化攻略。本书由表及里地深入分析了造成Oracle数据库性能缓慢的各种原因,然后给出标本兼治的性能调优方案。作者将多年的实践经验和个人智慧与读者分享,帮助读者诊治影响数据库性能的各种疑难杂症。

第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