`
longgangbai
  • 浏览: 7331310 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Oracle 性能调优学习笔记(九)-- 优化排序操作A

 
阅读更多

优化排序操作
  SQL内存使用:
     排序操作:sort, group-by ,rollup
     hash-join
     bitmap 操作(merge ,bitmap索引等)
   性能调优
    1.将数据放在缓存中.
    2.将一次扫描数据放在磁盘上
    3.将多次扫描的数据放在磁盘(尽量避免)
  PGA是一个私有内存区域,被服务器进程控制.PGA内存管理可以自动管理.
  oracle动态调整PGA内存的大小.大约为SGA的20%,最小为10MB.
  
  自动排序区管理
  动态调整SQL内存
    PGA内存可用
    SQL操作可用.
    系统负载
  动态排序区域管理
   不需要设置set*_area_size(不推荐使用):
   dba只需要设置pga_aggregate_target为初始化参数,取决分配oracle
   实例的内存大小,
      其中20%内存提供给其他进程使用.
          80%内存给Oracle实例.
       OLTP系统:
          pga_aggregate_target=(total_mem*80%)*20%
     DSS系统:
       pga_aggregate_target=(total_mem*80%)*50%
   WORKAREA_SIZE_POLICY=AUTO| MANUAL
 
     PGA资源管理
       监控PGA的视图
      v$pgastat:pga的统计信息
     over allocation count:统计PGA,过度申请(超过pga_aggregate_target)内存的次数.
                    total bytes processed:
     cache hit percentage:命令率百分比         
        extra bytes read/written:不能允许理想状态时候,读写磁盘的总的字节数.
      select * from v$pgastat where name ='cache hit percentage';
     
      v$process_memory:
      v$sysstat:
     
      v$sql_workarea_histogram
      v$sql_workarea_active
      v$sql_workarea
      v$tempseg_usage
      v$sql_plan
      v$sql

     
    查看pga的建议信息
    v$pga_target_advice
    v$pga_target_advice_histogram
   
    PGA 工作负载工作状态
    select low_optimal_size/1024 as low_kb,
         (high_optimal_size+1)/1024 as high_kb,
      round(100*optimal_executions/total_executions) as optiomal,
      round(100*onepass_executions/total_executions) as onepass,
      round(100*multipasses_executions/total_executions) as multipass
      from v$sql_workarea_histogram
      where total_executions!=0
      order by low_kb;
     
   2.查询工作区的执行情况分布图
       select low_optimal_size "Low" ,high_optimal_size "Hight" ,
                      optimal_executions "Opt",
                      onepass_executions "One" ,
                      multipasses_executions "Multi",
                      total_executions "total"
                     from v$sql_workarea_histogram;
     
       11g的查询总的内存分布情况
    select optimal_count,round(optimal_count*100/total,2) optimal_perc,
           onepass_count,round(onepass_count*100/total,2) onepass_perc,
     multipasses_count,round(multipasses_count*100/total,2) multipass_perc
     from
       ( select decode(sum(total_executions),0,1,sum(total_executions)) total,
                       sum(optimal_executions) optimal_count,
                       sum(onepass_executions) onepass_count,
                       sum(multipasses_executions) multipasses_count
        from v$sql_workarea_histogram
          where low_optimal_size>64*1024        
       )
       /
    
    v$sql_workarea_active:当前活动工作区
           查看排序操作的当预期大小大于实际大小,那么一次(onepass).
    预期大小小于实际大小,那么多次(multipass).
    select to_number(decode(sid,65535,null,sid)) sid,
      operation_type oper,trunc(expected_size/1024) esize,
      trunc(actual_mem_used/1024) mem,
      trunc(max_mem_used/1024) " max mem"
      from v$sql_workarea_active
      order by 1,2;

分享到:
评论

相关推荐

    玩转oracle学习笔记(四)-数据库操作

    这篇笔记主要聚焦于"玩转Oracle学习笔记(四)",作者通过文档分享了他在数据库管理、查询优化、数据处理等方面的经验。以下是对这些知识点的详细解析: 1. 数据库创建与连接: - Oracle数据库的安装与配置:学习...

    SQL开发指南 第16章 SQL Tuning优化调优技巧--felix笔记.pdf

    ### SQL优化调优技巧概述 本章节主要围绕SQL性能优化这一主题进行展开,详细介绍了多种提升SQL查询效率的方法。在数据库应用中,SQL查询的性能直接影响到系统的响应速度及资源利用率,因此掌握有效的SQL调优技巧...

    Oracle查询操作的学习笔记

    ### Oracle查询操作学习笔记知识点详解 #### 一、Oracle用户管理与权限分配 - **创建用户**:在Oracle中创建用户的基本语法为`CREATE USER username IDENTIFIED BY password`。例如,`CREATE USER xiaoming ...

    ORACLE调优笔记

    ### ORACLE调优笔记知识点详解 #### 一、Oracle错误代码与解决方法 在Oracle数据库管理及优化过程中,经常会遇到一些常见的错误代码,这些错误往往能够帮助我们快速定位问题所在。 1. **ORA-01652: 无法分配临时...

    oracle学习笔记

    Oracle学习笔记涵盖了数据库管理、SQL查询以及PL/SQL编程等多个方面。Oracle是全球最广泛使用的商业关系型数据库管理系统之一,其高效稳定性和强大的数据处理能力使其在企业级应用中占据了重要地位。以下是对"oracle...

    ORACLE入门到精通笔记

    九、Oracle数据库监控与性能调优 通过使用SQL*Plus、企业管理器(EM)或其他第三方工具,你可以监控数据库的性能指标,如CPU使用率、I/O等待时间等。通过对这些指标的分析,可以找出性能瓶颈并进行调优。 十、...

    Oracle 笔记 详解 资料 用例

    这份"Oracle笔记详解资料用例"涵盖了Oracle数据库的核心概念、安装配置、SQL语言、表和索引、存储结构、备份恢复、性能优化等多个方面,是学习和掌握Oracle数据库的宝贵资源。 首先,Oracle数据库的基础部分包括...

    达内学习oracle 笔记

    ### 达内学习Oracle笔记知识点总结 #### 一、Oracle数据库概述 - **数据库与关系数据库**:数据库是用来存储和管理数据的一种系统。关系数据库通过使用关系或二维表来存储数据,这种表由行(row/record)和列...

    oracle培训18天笔记

    1. SQL基础:学习SELECT语句,包括选择、投影、分组、排序等操作。 2. DML操作:INSERT、UPDATE、DELETE语句的使用,以及事务处理的概念。 3. SQL高级特性:子查询、连接查询、集合操作、游标、存储过程和函数。 第...

    oracle 全套笔记

    通过以上笔记的学习,读者将能够全面掌握Oracle数据库的基本操作和管理技巧,为进一步深入学习Oracle的性能调优、数据仓库、数据库设计等高级主题打下坚实基础。这些笔记对于想成为Oracle DBA或者提升数据库管理能力...

    oracle sql语句学习

    此外,理解Oracle SQL的性能调优也非常重要,这涉及到查询优化、索引策略、表设计和存储优化等方面。在深入学习过程中,你可能会接触到SQL执行计划、EXPLAIN PLAN等工具,这些都是提升SQL性能的关键。 总的来说,...

    oracle数据库练习题

    通过这份“Oracle数据库练习题及笔记”,你将有机会实践上述知识点,不断巩固理论知识,并提升实际操作技能。记得在解决每个问题后,不仅要理解答案,还要理解为何这样解答,这样你的Oracle数据库知识将更加扎实。

    oracle培训笔记

    通过“Oracle培训笔记”,学习者可以深入了解Oracle数据库的各个方面,并通过实践例子加强理解和应用。对于希望在IT领域从事数据库管理或开发工作的初学者来说,这是一份非常有价值的参考资料。

    oracle学习大全-从简单的入门sql到复杂备份

    Oracle性能优化涉及索引创建、查询优化、数据库调优等方面,以提高系统响应速度和资源利用率。这包括使用EXPLAIN PLAN分析查询执行计划,监控V$视图以诊断问题,以及使用SQL Tuning Advisor等工具。 通过这个全面的...

    oracle性能检测

    Oracle性能检测是数据库管理员(DBA)日常工作中至关重要的一环,其目的是确保数据库系统...这本书可能会涵盖Data Guard的创建、管理、性能监控以及在性能优化中的应用,是DBA们学习和实践Oracle Data Guard的宝贵资源。

    Oracle培训18天老师笔记

    学习者会理解如何管理这些组件以优化性能和存储。 4. **数据库对象**:Oracle支持多种数据库对象,如表、视图、索引、存储过程、触发器、函数等。课程将详细讲解创建、修改和删除这些对象的方法,以及如何管理和...

    oracle 学习资料

    Oracle学习笔记通常包括了更具体的实践操作和高级特性,例如: 1. SQL语言:Oracle SQL是查询、操作和管理Oracle数据库的关键。笔记中会详细介绍DDL(Data Definition Language)用于定义表结构,DML(Data ...

    Oracle笔记

    Oracle笔记是针对数据库管理系统Oracle的学习资料集合,涵盖了Oracle的基本语法和关键概念。Oracle数据库系统是全球广泛使用的商业级关系型数据库管理系统,尤其在大型企业中应用广泛。本笔记旨在帮助初学者和进阶...

    oracle 培训笔记

    Oracle数据库是世界上最流行的数据库管理系统之一...综上所述,Oracle数据库的管理和使用涵盖了广泛的领域,从基本架构到高级性能调优,都需要深入理解和实践。通过持续学习和培训,可以提升在Oracle环境中的专业技能。

Global site tag (gtag.js) - Google Analytics