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

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

 
阅读更多

buffer Cache调优
   buffer cache命中率没有共享池的命中率要求那么高.
   BD_BLOCK_SIZE:
  SGA中两个队列:
 LRU lists:监控buffer cache的使用.基于访问次数和时间的排列.
   头部为最近最新(MIU),尾部(LIU)为最旧的数据.实现LRU原则.
   buffer cache状态:
   Pinned:只能一个个会话同一个时间写同一个块.
   Clean:block的内容和磁盘一直,可能有效清除.
   Free/unused:buffer没有使用.
   Dirty:数据已经改变,需要写到磁盘.
   服务器进程使用buffer cache中的buffer.DBWn写完毕数据之后,buffer设置为可用状态.
   DB_BLOCK_CHECKSUM设置为true,每一个块将有一个校验码检查,设置参数增加负荷1%-2%.推荐使用.
 Checkpoint Queue:每一个都是脏block,数据被datafiles;
          buffer cache数据来自datafile,所有的用户共享数据块.
      服务器进程从datafile文件中读取block到buffer cache中空闲块.为了提供性能,
   可以一次读多个块.DBWn写脏数据写到数据文件中.任何一个时刻,一个buffer cache
   可能有多个数据块的拷贝(隔离机制存在).
   Cache大小的调整:
   buffer  cache可以多个子缓存池和多个block size.但是DB_BLOCK_SIZE决定主block大小.
   决定system表空间和主buffer cache(recycle,keep,default)大小.
     以下参数决定主buffer cache参数的缓存大小.
  BD_CACHE_SIZE:
  BD_KEEP_CACHE_SIZE:
  DB_RECYCLE_CACHE_SIZE:
  DB_BLOCK_CHECKSUM:
  
  动态bufer cache advisory:启用之后,收集系统情况.
    初始化参数:DB_CACHE_ADVICE开启
     ALTER SYSTEM SET DB_CACHE_ADVICE=ON SCOPE=SPFILE;
     Oracle推荐可以先有
    ALTER SYSTEM SET DB_CACHE_ADVICE=ready SCOPE=SPFILE;
        ALTER SYSTEM SET DB_CACHE_ADVICE=on SCOPE=SPFILE;
    v$db_cache_advice收集信息的视图:
   
    select size_for_estimate "Cache Size(MB)",
           buffers_for_estimate "buffer",
     estd_physical_read_factor as "Estd Phys Read Factor",
      estd_physical_reads "Estd Phys reads"
      from v$db_cache_advice
      where name ='DEFAULT'
      and block_size=(
        select value
      from v$parameter
      where name='db_block_size'
      )
      and advice_status='ON';
     DBWn管理buffer cache将脏数据写到数据文件中,使用服务器有空闲块.
     DBWn相应实例的不同事件,一些事件触发DBWn将block写到磁盘:
      1.服务器进程发现checkpoint队列中长度超过一定的限制,通知DBWn写数据.
      2.在LRU队列中没有空闲块的时候.
      3.执行alter tablespace offline或者alter tablespace begin backup时候.
        DBWn将checkpoint对象脏数据写到磁盘上.
      4.删除数据块segement的时候.
      5.每三秒
      6.检查点时间
      6.关机时(normal,immediate,transactional)
     buffer cache目标:
     查找数据在buffer cache 内存中.
     在buffer cache中减少等待.
     诊断
        等待事件(Wait Event)
     缓存命中率
     优化技术:
        减少SQL的全表读扫描.
     增加缓存大小.
     使用多队中缓存池
     排序和并行读不用使用缓存.
     常用表(相对比较小的表)缓存到内存中.

分享到:
评论

相关推荐

    老相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数据库管理的关键技术,如限制用户连接数、监控数据库性能等。这对于DBA来说是非常宝贵的资源。希望通过对这些知识点的...

    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的体系结构及组件,这是数据库管理的基础知识。 Oracle数据库体系结构是建立在实例(instance)和数据库(database)这两个核心概念之上的。实例是一个在服务器上运行的内存和...

    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