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

Oracle 性能调优学习笔记(五)-- buffer Cache调优C

 
阅读更多

Oracle Wait Interface检查瓶颈原因
         v$session_wait
      v$session_event
      v$system_event
      需要增加cache size的情况
         1.任何事件等待.
      2.SQL语句的优化
      3.操作系统换页严重
      4.比较低的命中率
     
    开启DB_CACHE_ADVICE设为on.
    根据v$DB_CACHE_ADVICE决定是否需要调整.
    调整DB_CACHE_SIZE.
    
    如果命中率很高,检查v$db_cache_advice查看
    是否可以减少db_cache_size大小.
    
    如果在不同的表空间的块大小不等,可以设置多个块大小.
    需要设置以下动态参数,可以动态调整:
    DB_CACHE_SIZE:
    DB_KEEP_CACHE_SIZE:
    DB_RECYCLE_CACHE_SIZE:
    尽量减少随机访问大表的large segs;
        
            第一种方法:
   select o.object_name,count(*) number_of_blocks
      from dba_objects o,v$bh bh
      where o.data_object_id=bh.objd
      and o.owner!='SYS'
      group by o.object_name
      order by count(*);
            方法二:
     1. select data_object_id,object_type
        from dba_objects
      where object_name =upper('segment_name');
     2. select count(*) buffers
         from v$bh
      where objd=data_object_id_value;
     3. select name ,block_size ,sum(buffers)
    from v$buffer_pool
     group by name,block_size
     having sum(buffers)>0;
     4.
     % cache userd by segment_name =[buffers(step2)/total buffers(step3)]
    
    keeP buffer pool 指导基线
     execute dbms_stats.gather_table_stats('HR','DEPTMENTS');
     select table_name ,blocks
        from dba_tables
       where owner='HR'
       and table_name='DEPTMENTS';
   
   RECYCLE BUFFER POOL:用于批处理情况下.
     select owner#,name ,count(*) blocks
        from v$cache
     group by owner#, name;
    查看会话的io命令中情况
     select s.username ,io.block_gets,io.consistent_gets,
        io.physical_reads
       from v$sess_io io,v$session s
       where io.sid=s.sid;
   所有buffer pool中的命中率
    select name, 1-(physical_reads/(db_block_gets+consistent_gets)) "HIT_RATIO"
        from v$buffer_pool_statistics
      where db_block_gets+consistent_gets>0;
    
    keep pool:重复访问的大小为小于default的10%,
    recycle pool:只能在事物中使用.segment大小为默认buffer pool的两倍.
    查看每一个buffer pool中block的多少
    select id,name ,block_size,buffers from v$buffer_pool;
    
   缓存常用表
      常见的全表扫描的block将放在LRU的尾部,那么这些block将很块
    被出局.CBO经常使用使用这个表但是很小,解决这种情况就需要使用
             缓存表,这是block将放在LRU头部.小表全部扫描其实是最快的.
             缓存表:
         创建表WITH Cache,
             create table phone
       (
         emp_id number,
      phoneNum number
       )tablespace tbs_data
       storage(
        initial 50k
        next 50k
        pctincrease 0
       )cache;
       默认表创建使用nocache,除非指定使用cache.
        
           SQL查询WITH Cache,
      select /*+CACHE */ last_name,first_name from employee;
     ALter修改表WITH Cache.
      alter table employee cache;
             缓存表建议不要放在buffer cache中,一般放在keep pool中. 
       ASSM
            管理空闲空间通过数据库segment的自动管理.
            跟踪segment空间使用bitmaps而不是free lists.
   提供空间利用率.
   创建表空间时候指定.
   OEM支持.
   
   create tablespace bit_seg_ts
     datafile ''
      size 1M
       extent management local
    segment space management auto;
   
   create table bit_seg_table
    (id number)
     tablespace bit_seg_ts;
               

分享到:
评论

相关推荐

    老相Oracle DBA学习笔记

    Oracle数据库管理员(DBA)学习笔记详细记录了Oracle数据库中SQL语句执行的过程,包括用户连接、服务器进程分配、PGA空间、SQL解析、执行计划缓存、shared pool、buffer cache、逻辑IO和物理IO、重做日志等关键知识...

    oracle10g学习笔记

    ### Oracle 10g 学习笔记:深入理解与配置要点 #### 一、Oracle 10g系统架构与配置参数 Oracle 10g作为一款成熟的关系型数据库管理系统,其内部架构主要由共享内存区域(SGA)和程序全局区(PGA)组成。在学习与...

    Oracle原理学习笔记.docx

    ### Oracle原理学习笔记知识点概述 #### 一、Oracle的工作机制及体系结构 ##### 实例概念 - **定义**: Oracle在运行时会在内存中开辟一个区域,即系统全局区(SGA),用于缓存从磁盘读取的数据。同时,还需要一些...

    oracle原厂培训笔记

    - **Database Buffer Cache**: 数据库缓冲区,用于缓存数据块。 - **Java Pool**: 存储运行Java代码所需的资源。 - **Streams Pool**: 用于Oracle Streams功能。 - **Large Pool**: 用于存储大型内存对象,如...

    ORACLE DBA学习笔记(约100万字)

    ### ORACLE DBA 学习笔记关键知识点解析 #### 一、限制用户访问进程数量 在Oracle数据库管理中,为了防止因某个用户的异常操作导致整个数据库性能下降甚至挂起,通常需要对用户的连接数进行限制。这可以通过设置...

    Oracle 认证学习笔记

    ### Oracle 认证学习笔记 #### 第一章 Oracle 数据库体系结构基础 本文将深入探讨 Oracle 9i DBA 认证教程中的基础知识,并重点分析 Oracle 数据库的体系结构及其核心概念。 ### 1. Oracle 数据库系统 Oracle ...

    韩顺平oracle课程 word版笔记,ppt

    【Oracle性能调优】 Oracle性能优化涉及多个方面,包括SQL语句优化、数据库参数调整、索引策略优化等。通过监控和分析系统性能,可以找出瓶颈并采取相应措施,提高数据库的整体性能。 【安全与权限管理】 Oracle...

    oracle学习笔记.doc

    本文将基于“Oracle学习笔记”进行深入解析,主要涵盖Oracle的基础概念、数据文件管理、SGA组件、数据库启动与关闭、用户管理、SQL*Plus命令、视图以及同义词。 1. **数据文件管理**: - 数据文件(Datafile)是...

    Oracle课堂笔记(很全很详细的Oracle笔记)

    - **Buffer Cache**: 用于缓存数据块。 - **Large Pool**: 为特定操作分配内存,例如并行查询处理。 - **Java Pool**: 存储Java代码和数据。 - **PGA (Program Global Area)**: 程序全局区,为每个会话分配的专用...

    最牛逼的Oracle11gOCP学习笔记

    Oracle11g是甲骨文公司推出的数据库产品版本之一,OCP指的是Oracle Certified Professional,即Oracle认证的专家。学习Oracle11g OCP,首先需要了解Oracle的体系结构及组件,这是数据库管理的基础知识。 Oracle...

    oracle学习笔记

    ### Oracle学习笔记知识点详解 #### 一、Oracle内存结构 Oracle数据库在运行时会占用大量内存,这些内存被划分为不同的区域,每种区域都服务于特定的目的。 ##### 1. SGA (System Global Area) SGA是Oracle实例...

    Oracle DBA学习笔记

    ### Oracle DBA 学习笔记知识点总结 #### 一、限制用户访问进程数量 在Oracle数据库管理中,可能会遇到因为连接池的问题导致某些用户的连接数超出预期,甚至达到数据库进程的最大值的情况。为了应对这种情况,可以...

    oracle_学习笔记.pdf

    从提供的文件内容中,我们可以提炼出关于Oracle数据库管理以及性能监控和优化的多个知识点。以下是对这些知识点的详细说明: ### Oracle数据库用户访问进程限制 在Oracle数据库中,可以通过配置资源限制来控制用户...

    oracle11g体系架构学习文档

    Oracle数据库作为企业级应用的主流数据库管理系统,其11g版本是相当知名并且广泛使用的一个版本。Oracle 11g体系架构涉及许多核心组件和概念,下面将根据文档提供的内容详细解释这些知识点。 首先,Oracle 11g体系...

    精通oracle 10g系统管理学习笔记

    1. 数据高速缓存(Buffer Cache):这是SGA中最大的部分,用于存储从数据文件中读取的数据块,以减少磁盘I/O操作,提高查询速度。 2. 重做日志缓冲区(Redo Log Buffer):记录对数据库的所有修改,保证事务的ACID...

    oracle学习笔记(1)

    ### 缓冲区缓存(Buffer Cache) 缓冲区缓存是Oracle实例中的一个重要内存结构,用于缓存数据块,以便于快速访问。当应用程序请求数据时,Oracle首先尝试从缓冲区缓存中读取数据,而不是直接从磁盘读取,这样可以...

Global site tag (gtag.js) - Google Analytics