zoukankan      html  css  js  c++  java
  • Oracle12c 性能优化攻略:攻略目录表

    注:本文来源于 【美】 Sam Alapati ,   Darl Kuhn ,  Bill Padfield  著   朱浩波 翻译 《Oracle Database 12C 性能优化攻略》一书。

                                                                                                                                                                                                ------整理者:刘军

     源码下载:oracle-db-12c-perf-tuning-recipes-master.zip 

    一:优化表性能

     

    1:创建具有优化性能的数据库

     

    2:创建具有最优性能的表空间安

     

    3:匹配表类型与业务需求

     

    4:选择有益于性能的表特性

     

    5:恰当选择数据类型

     

    6:在创建数据表时避免盘区分配延迟

     

    7:数据加载速度最大化

     

    8:高效移除表中的数据

     

    9:显示自动顾问建议

     

    10:手工生成段顾问建议

     

    11:自动发送段顾问输出点电子邮件

     

    12:重建跨多个数据块的数据行

     

     

    13:检测行链接和行迁移

     

    14:区分行迁移和行链接

     

    15:积极预防行迁移/行链接的产生

     

    16:检测表中未使用的空间

     

    17:追踪检测到位于高水位线下的空间

     

    18:使用DBWS_SPACE来检测于高水位线之下的空间

     

    19:释放未使用的表存储空间

     

    20:压缩数据以进行直接路径加载

     

    21:为所有的DML操作压缩数据

     

    22:在列级压缩数据

     

     

    二:选择和优化索引

    1:理解B树索引

    2:选择需要建立索引的列

    3:创建主键约束和索引

    4:确保唯一列值

    5:为 外键列创建索引

    7:决定何时使用组合索引

    8:实现基于函数的索引

    9:在虚拟列上创建索引

    10:在多个进程并行插入时限制索引争夺

    11:触发索引对优化器的可见性

    12:创建支持星型架构额位图索引

    13:创建位图连接索引

    14:创建索引组织表

    15:监控索引使用

    16:索引创建速度最大化

    17:回收未使用的索引空间

    三:优化实例内存

    1:自动内存管理

    2:关联多个缓冲池

    3:设定内存最小值

    4:监控内存调整操作

    5:优化内存使用

    6:调优PGA内存分配

    7:配置服务器查询缓存

    8:管理服务器结果缓存

    9:缓存SQL查询结果

    10:缓存客户端结果集

    11:缓存PL/SQL函数结果

    12:配置Oracle数据库智能闪存缓存

    13:调节重做日志缓冲区

    14:限制PGA内存分配

    四:监控系统性能

    1: 实现AWR

    2:修改统计信息时间间隔和保存期限

    3:手工生成AWR报表

    4:通过企业管理器生成一份AWR报告

    5:为一条SQL生成AWR基线

    6:为数据库创建统计基线

    7:通过企业管理器关联AWR基线

    8:管理AWR统计信息库

    9:自动创建AWR基线

    10:快速分析AWR输出

    11:手工获取活动会话信息

    12:从企业管理器中获取ASH信息

    13:从数据字典中获取ASH信息

    五:最小化系统资源争夺

    1:理解响应时间

    2:确定引起最多等待的SQL语句

    3:分析等待事件

    4:理解等待事件的分类

    5:检查会话等待

    6:按类型检查等待事件

    7:解决缓冲区忙等待

    8:解决日志文件同步等待

    9:被另一个会话读取等待事件的最小化

    10:减少直接路径读取等待事件

    11:恢复写入器等待最小化

    12:找出谁持有阻塞锁

    13:确定被阻塞和引起阻塞的会话

    14:处理引起的阻塞的锁

    15:确定被锁定的对象

    16:解决enq:TM锁资源争夺

    17:确定最近被锁住的会话

    18:分析数据库中最近的等待事件

    19:确定由于锁定所花费等待时间

    20:锁存器争夺的最小化

    六:分析操作系统性能

    1:检测磁盘空间问题

    2:确定系统瓶颈

    3:确定消耗服务器资源最多的进程

    4:检测CPU瓶颈

    5:确定CPU和内存瓶颈

    6:确定I/O瓶颈

    7:检测网络密集型进程

    8:将一个资源密集型进程映射到一个数据库进程

    9:终止一个资源密集型进程

    七:检修数据库

    1:确定最优的撤销保留时间

    2:找出是什么消耗最多的撤销空间

    3:解决ORA_01555错误

    4:监控临时表空间使用率

    5:确定是谁在使用临时表空间

    6:解决”无法扩展临时数据段”错误

    7:解决打开游标错误

    8:解决被挂起的数据库问题

    9:激活自动诊断库命令解释器

    10:从ADRCI中查看报警日志

    11:使用ADRCI查看事件

    12:将事件打包发给Oracle技术指出团队

    13:运行一次数据库健康检查

    14:创建SQL测试用例

    15:生成一份AWR报告

    16:比较两阶段的数据库性能

    17:分析一份AWR报告

    八:创建高效的SQL

    1:获取一张表中的所有数据行

    2:获取一张表中的部分数据行

    3:通过想到对应的行来连接表

    4:在没有相对应数据行的情况下连接表

    5:构造简单的子查询

    6:构建相关子查询

    7:比较2个表找出缺失的数据行

    8:关联2个表找出匹配的数据行

    9:将相似SELECT 语句结果集合并

    10:查找一定范围内的值

    11:处理空值

    12:搜索部分列值

    13:重用共享池中的SQL语句

    14:避免偶然的全表扫描

    15:创建高效的临时表

    16:避免使用NOT 子句

    17:控制事务大小

    九:SQL手工调优

    1:显示查询的执行计划

    2:定制执行计划输出

    3:图形化显示执行计划

    4:解读一份执行计划

    5:监控运行时较长的SQL语句

    6:确定当前正在执行的好占资源的SQL语句

    7:查看当前正在运行的SQL语句的统计信息

    8:监控一个SQL执行计划的处理过程

    9:确定过去执行的SQL语句中最耗占资源的语句

    10:比较系统修改后的SQL 性能

    十:追踪SQL执行

    1: 环境准备

         2:在追踪一个特定的SQL语句

        

    3:在你所拥有的会话中启用追踪

    4:找到追踪文件

    5:检查原始SQL追踪文件

    6:分析Oracle追踪文件

    7:使用TKPROF 设置追踪文件的格式

    8:使用TKPROF输出

    9:使用Oracle追踪分析器分析追踪文件

    10:追踪一个并行查询

    11:追踪特定的并行查询进程

    12:在RAC系统中追踪并行查询

    13:合并多个追踪文件

    14:找出正确的回话来进行追踪

    15:追踪一个SQL会话

    16:通过进程ID来追踪会话

    17:追踪多个会话

    18:追踪一个实例或数据库

    19:为会话生成事件10046追踪

    20:为实例生成10046追踪

    21:在一个正在运行的会话上设置追踪

    22:登录之后启用会话追踪

    23:追踪优化的执行路径

    24:生成Oracle错误自动追踪

        25:追踪后台进程

    26:启用Oracle 监听器追踪

    27:为数据卫士设置归档追踪

    十一:SQL自动调优

    1.   显示自动SQL调优工作详细信息

    2.显示sql自动调优建议

    3.生成SQL脚本实现自动调优建议

    4.修改SQL自动调优特性

    5.禁用和启用SQL自动调优

    6.修改维护窗口

    7.创建SQL调优集对象

    8.查看AWR中资源秘籍集型SQL语句

    9.用AWR中高资源消耗的SQL来填充优化集

    10.查看内存中资源密集型SQL语句

    11.用内存中高资源消耗SQL来填充调优集

    12.将内存中所有的SQL来填充调优集

    13.显示SQL调优集的内容

    14.有选择地从SQL调优集中删除语句

    15.传输SQL调优集

    16.创建调优任务

    17.手工运行SQL调优顾问

    18.从数据库自动诊断监视器中获取SQL调优建议

    十二:执行计划优化与一致性


         

       1:创建并接受SQL概要文件

        2:确认某个查询是否使用了SQL概要文件

      

      3:自动接受SQL概要文件

      

      4:显示SQL概要文件

     

       5:选择性测试SQL概要文件

     

       6:将SQL概要文件迁移到另外一个数据库中

         7:禁用SQL概要文件

      

      8:删除SQL概要文件

       

    9:为内存中的一条SQL语句创建计划基线

      

      10:为包含SQL调优集中的SQL语句创建计划基线

        

    11:自动增加计划基线

      

      12:修改计划基线

     

       13:确认是否存在计划基线

        14:确认某个查询是否使用了计划基线

        15:显示计划基线执行计划

        16:手工在计划基线中加入一个新的计划(扩展)

     

       17:阻止自动接受新的低成本执行计划

      

      18:禁用计划基线

       

    19:移除计划基线信息

      

      20:迁移计划基线

    十三:优化配置


        

    1:选择器优化目标

       

    2:启用统计信息自动收集

      

    3:为统计信息收集设置首选参数

      

    4:手工生成统计信息

       

    5:锁定统计信息

      

    6:处理统计信息的缺失

     

      7:导出统计信息

       

    8:还原以前版本的统计信息

       

    9:收集系统统计信息

     

      10:验证新的统计信息

     

      11:强制优化使用某个索引

       

    12:启用查询优化器特性

       

    13:阻止数据库创建柱形图

       

    14:不使用绑定定量提高性能

       

    15:理解自适应游标共享

      

    16:在表达式上创建统计信息

      

    17:为相关列创建统计信息

     

      18:自动创建列组

      

    19:维护分区表统计信息

       

    20:为大表并行收集统计信息

      

    21:确定统计信息何时过期

       

    22:预览统计信息收集对象

    十四:实现查询提示


      

    1:编写一个提示

     

    2:改变访问路径

     

    3:改变连接顺序

      

    4:改变连接方法

     

    5:改变优化器版本

      

    6:在快速响应和整体优化之间进行选择

     

    7:进行直接路径插入

     

    8:在视图中加入提示

      9:缓存查询结果

     

    10:将分布式查询引导到一个特定的数据库

    十五:并行执行SQL

      1:为特定查询启用并行

      

    2:在创建对象时启用并行

      3:为已经存在的对象启用并行

     

    4:实现并行DML

      

    5:并行创建表

     

    6:并行创建索引

      

    7:并行重建索引

     

    8:并行移动分区

     

    9:并行拆分分区

     

    10:启用自动解释计划

      11:检查并行解释计划

     

    12:监控并行操作

      

    13:找出并行进程中的瓶颈

      

    14:获取并行回话中详细信息

  • 相关阅读:
    Java-web——Cookie技术
    HttpServletRequest中文乱码处理、防盗链的使用、request的请求转发
    HttpServletRequest以及处理servlet映射路径名
    Delphi 错误:EvariantinvalidargError :invalid argument
    10种数据库获取当前时间/服务器时间(Oracle、Infomix、DB2、SQL Server、Access 、Sybase、MySQL、FoxPro、Sqlite、postgreSQL)
    Web-Apache-Tomcat 默认主页修改
    Delphi 中表示跳出关键字: break、continue、exit、abort、halt、runerror
    高斯的数学
    SQL 中的设定规则 SET ANSI_NULLS ON 和 SET QUOTED_IDENTIFIER ON
    Delphi 窗体函数 UpdateWindow
  • 原文地址:https://www.cnblogs.com/ios9/p/Oracle12c-performance-optimization-index.html
Copyright © 2011-2022 走看看