数据库应用调优概述
技术要点: |
数据库优化的基本思路和一些误区
数据库优化遵循的基本原则
了解整个系统构建过程中各部分对性能的影响以及有哪些可以优化的部分
优化的基本步骤和方法 |
优化工具介绍
技术要点: |
利用系统信息收集工具对数据库进行性能诊断
如何利用最根本的性能信息工具——数据库数据字典和动态性能视图进行信息收集和诊断
AlertLog与TraceFiles对性能故障诊断有哪些帮助,如何利用10046事件对性能信息进行更细致的收集
诊断性能问题的法宝:9i的Statspack与10g的awr/addm对比
如何利用Oracle性能诊断的又一利器——等待事件进行性能分析
基于10g自动化收集的性能指导工具介绍——自动内存优化指导、自动SQl优化指导、自动回滚段指导、段指导等 |
SGA的内存调整
技术要点: |
SGA内存管理的变化——动态的VS自动管理的
SGA各个内存组件大小的建议 |
数据高速缓存区的优化
技术要点: |
数据高速缓存区的性能诊断工具
数据高速缓存区的性能诊断指标——命中率与等待事件
数据高速缓存区的性能优化方法——大小、多池与cache表 |
共享池的优化
技术要点: |
共享池的库高速缓存性能诊断工具
共享池的库高速缓存性能诊断指标——命中率与重载率
共享池的库高速缓存性能优化方法——调整语句代码、共享池大小、绑定变量
字典高速缓存的性能指标和判断依据 |
数据文件I/O的优化
技术要点: |
数据库数据文件、重做日志文件、归档文件的I/O性能特点分析
数据库I/O优化原则
存储级的I/O性能优化方法——Raid
检测点的原理及优化
使用多DBWR进程增加I/O能力
异步I/O的性能考虑
LGWR与ARC进程的优化
加速归档的方法 |
锁存器(LATCH)竞争优化
技术要点: |
锁存器的主要功能和工作原理
如何判断和解除锁存器竞争 |
锁竞争的解决
技术要点: |
数据库的锁机制原理
锁的分类和各种模式
锁竞争的诊断和优化 |
回滚段竞争优化
技术要点: |
回滚段的主要作用和工作原理
Oracle的自动撤销段管理方式
如何判断回滚段竞争以及如何解决回滚段竞争
对回滚段使用中Ora01555故障的分析与处理 |
应用存储参数的优化
技术要点: |
了解Oracle的存储层次结构
对比DMT与LMT的性能特点
分析数据库段、区、块的存储设置对于数据库的数据访问的性能影响
掌握HWM的含义和对性能的影响
找出存储结构不合理的表和索引,将这些对象重组,从而得到更好的访问性能
选择合适的块大小,并考虑多种多块大小对性能的影响
设置合理的块空间参数,以减少I/O数量并且合理的存储数据
注意行链与行迁移对性能的影响,解决行迁移
选择ASSM存储方式以减少段头竞争 |
选择合适的数据存储方法
技术要点: |
了解数据库应用的特点,并根据分区表、索引组织表、聚簇表或者普通表对性能的影响,合理选择数据存储方法
分区表的使用和维护,选择合适的分区类型以加快查询性能 |
SQL语句的处理过程
技术要点: |
了解SQL语句运行的过程及相关的数据库组件
掌握优化SQL语句的基本步骤和相关概念 |
SQL语句解析的优化
技术要点: |
了解SQL语句硬解析的过程和对性能的影响
分析如何减少硬解析
分析绑定变量对性能的影响 |
排序操作的优化
技术要点: |
SQL语句排序的运行机制和性能分析
确定与排序相关的操作,并减少这些排序操作
确定优化排序的方法和对性能的影响 |
优化SQL语句的相关工具
技术要点: |
通过相关工具定位具有高影响力的SQL,收集SQL语句的统计信息和执行计划
分析执行计划的正确性,对比统计信息,选择最佳执行计划
涉及到的SQL优化工具包括:
提供SQL优化集的Statspack与awr
使用Explainplan分析执行计划
通过autotrace分析故障语句的执行计划和统计信息
通过Sqltrace查找有性能问题的SQL语句
通过10g的Sqltunningadvise自动分析语句性能
通过10g的Sqlaccessadvise自动分析语句算法 |
CBO和RBO介绍
技术要点: |
优化模式对SQL语句执行计划的影响
通过参数或者hint选择适合的优化模式以便得到正确的执行计划 |
数据访问方法概述
技术要点: |
分析索引原理
对比索引访问与全表扫描
确定哪些因素影响索引访问的性能
对比hashjoin、nestloop、sortmerge这三种夺表连接算法的优劣
物化视图对性能的影响,以及适用的场景 |
收集统计信息
技术要点: |
通过analyze或者dbms_stats方法收集统计信息
理解各种统计信息对性能有何种影响 |
强制执行计划
技术要点: |
通过对语句的修改影响RBO下的执行计划
通过修改参数值影响CBO生成的执行计划
通过hints直接强制执行计划 |
Sql语句优化经验
技术要点: |
结合实际经验总结高效的Sql书写方法和优化经验 |