Oracle 数据库性能优化3日实战(企业培训)

  1. 云栖社区>
  2. 博客>
  3. 正文

Oracle 数据库性能优化3日实战(企业培训)

leshami 2017-04-05 11:49:28 浏览764
展开阅读全文

课程名称一: Oracle性能优化及调整

  • 课程时长 1天
  • 课程深度: 高级
  • 上机实验: 10%-30%
  • 授课对象: Oracle开发人员、Oracle数据库管理人员,应用程序开发人员
  • 课程描述:
    • 本课程讲述Oracle数据库物理层规划,系统性能的监控,数据库性能参数调整,统计信息的收集,使用自动化调试工具优化数据库,I/O子系统的配置与设计以及性能优化方法论等。
  • 预备知识:
    • 熟悉操作系统相关(含Linux)基础知识,具备中级以上数据库相关的基础知识,对Oracle数据库体系结构有深入的理解, 熟悉SQL及PL/SQL常规用法等。

课程收获:

  1. 认识性能问题并合理的度量性能;
  2. 掌握数据库物理层面规划认识规划的重要性;
  3. 掌握从系统层面监控数据库性能;
  4. 掌握性能优化方法,定位性能关键区间;
  5. 掌握常用的性能调整参数及性能调整工具;
  6. 掌握统计信息的收集与管理。

课程大纲:

  1. 性能优化概述
    • 性能问题有哪些表征?
    • 性能优化从需求分析开始
    • 性能问题如何度量?
  2. 如何规划数据库物理层面?
    • 硬件配置调整
    • 操作系统内核设置
    • 网络层面的配置
    • 存储层面的配置
  3. 系统层面如何监控性能?
    • Oracle Enterprise Manager (Cloud Control)
    • OSWatch
    • Linux自带的sysstat工具包
  4. 从哪里着手开始优化?
    • 分而治之的方法论
    • 性能优化分析路线
    • 应用程序性能剖析
    • 数据库性能剖析
  5. 数据库级别有哪些性能诊断工具?
    • 实例Alert日志,集群日志
    • AWR(自动工作负载仓库)
    • ADDM(自动数据库调试监控)
    • ASH(活动会话历史)
    • Advisory组件
  6. Oracle数据库参数调整
    • 有哪些重要的系统参数?
    • 优化db_cache_size
    • 优化shared_pool_size
    • 优化pga_aggregate_target
  7. 收集系统及对象统计信息
    • 系统统计信息
    • 对象统计信息
    • 如何还原历史统计信息?

课程名称二:SQL,PL/SQL优化法则

  • 课程名称: SQL,PL/SQL优化法则
  • 课程时长 2天
  • 课程深度: 高级
  • 上机实验: 15%-35%
  • 授课对象: Oracle开发人员、Oracle数据库管理人员、应用程序或系统开发人员
  • 课程描述:
    • 本课程讲述SQL,PL/SQL性能优化相关的实战技巧。包括SQL优化器模式,SQL执行计划的获取及解读,寻找低效的SQL语句,编写高效SQL语句,提示的使用,访问路径的优化,表连接优化,SQL自动优化,批量SQL优化,AWR与ADDM报告解读,PL/SQL性能优化等等。
  • 预备知识: 具备数据库相关的知识,SQL相关知识,PL/SQL相关知识等等

课程收获:

  1. 掌握SQL语句执行过程的实质,绑定变量对于解析的影响;
  2. 掌握SQL优化的步骤及其指导原则;
  3. 掌握如何获取SQL执行计划以及解读执行计划;
  4. 掌握如何通过改写SQL以及使用提示来优化SQL;
  5. 掌握数据库访问路径,表连接相关技巧;
  6. 掌握阅读AWR,ADDM报告相关关键指标;
  7. 掌握PL/SQL以及批量SQL的优化技巧;

课程大纲:

  1. SQL语句如何被执行?
    • SQL语句执行过程
    • 硬解析与软解析
    • 如何使用绑定变量
  2. SQL优化的步骤
    • SQL优化器的模式
    • 自顶向下的优化方法
    • 配置查询优化器
    • SQL优化指导原则
  3. SQL执行计划
    • 获取SQL执行计划
    • 解释执行计划
  4. 寻找Top SQL
    • Top 10 SQL
    • 识别低效执行的SQL语句
    • Top 10 by Buffer Gets
    • Top 10 by Physical Reads
    • Top 10 by Executions
  5. 编写高效的SQL
    • 仅提取所需的数据列
    • 使用DECODE函数来减少处理时间
    • 使用TRUNCATE 代替 DELETE
    • 用WHERE子句替换HAVING子句
    • 避免比较不匹配的数据类型
    • 避免在索引列上使用NOT运算或不等于运算(<>,!=)
    • 避免索引列上使用 NULL 值
  6. 使用SQL提示(hint)
    • 改变执行路径的提示
    • 访问方法的相关提示
    • 表连接操作提示
  7. 优化数据访问路径
    • 寻找低效的访问路径
    • 全表扫描
    • 全索引扫描
    • ROWID扫描
    • 基于函数的索引
    • INDEX FULL SCAN vs INDEX FAST FULL SCAN
  8. 表连接优化
    • 嵌套循环连接
    • 哈希连接
    • 合并排序连接
  9. 使用STA自动优化SQL
    • STA优化SQL用法
    • STA优化的本质
    • 基于物化视图的高级优化
    • 物化视图的运行机制
    • 何时使用物化视图
    • 查询重写与刷新
  10. AWR,ADDM报告解读
    • AWR报告提取及解读
    • ADDM报告提取及解读
    • Oracle Execute to Parse 执行解析比案例分析
  11. 定位PL/SQL性能瓶颈
    • 使用PL/SQL Developer剖析PL-SQL代码
    • 使用PL/SQL Profiler 剖析生成html报告
  12. 优化PL/SQL
    • 减少PL/SQL单元迭代
    • 使用RETURNING减少SQL执行次数
  13. 使用批量SQL提高性能
    • 认识批量SQL
    • FETCH 的BULK处理
    • FORALL的BULK处理
    • SELECT INTO的BULK处理

如有培训需求,请扫码联系:

这里写图片描述

网友评论

登录后评论
0/500
评论
leshami
+ 关注