章节目录
目 录 第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 Database 11g性能优化攻略》由三位经验丰富的顶级OracleDBA再次联手,为读者呈现这本Oracle数据库性能优化攻略。《Oracle Database 11g性能优化攻略》由表及里地深入分析了造成Oracle数据库性能缓慢的各种原因,然后给出标本兼治的性能调优方案。作者将多年的实践经验和个人智慧与读者分享,帮助读者诊治影响数据库性能的各种疑难杂症。
下载说明
1、Oracle Database 11g性能优化攻略是作者[美] Sam R. Alapati,[创作的原创作品,下载链接均为网友上传的网盘链接!
2、相识电子书提供优质免费的txt、pdf等下载链接,所有电子书均为完整版!