Oracle SGA优化

oracle的SGA:数据库的系统全局区,SGA主要由三部分构成:共享池、数据缓冲区、日志缓冲区。

  1. 共享池又由两部分构成:共享SQL区和数据字典缓冲区。

    共享SQL区专门存放用户SQL命令,oracle使用最近最少使用等优先级算法来更新覆盖;数据字典缓冲区(library cache)存放数据库运行的动态信息。数据库运行一段时间后,DBA需要查看这些内存区域的命中率以从数据库角度对数据库性能调优。通过执行下述语句查看:
    select
    (sum(pins - reloads))
    /
    sum(pins) "Lib Cache" from v$librarycache;
    --查看共享SQL区的重用率,最好在90%以上,否则需要增加共享池的大小。
    select
    (sum(gets - getmisses -
    usage
    - fixED))
    /
    sum(gets) "Row Cache" from v$rowcache;

    --查看数据字典缓冲区的命中率,最好在90%以上,否则需要增加共享池的大小。

  2. 数据缓冲区:存放sql运行结果抓取到的data block;

    select
    name,
    value

    from v$sysstat

    where
    name
    in
    (‘db block gets‘,
    ‘consistent gets‘,
    ‘physical reads‘);

    --查看数据库数据缓冲区的使用情况。查询出来的结果可以计算出来数据缓冲区的使用命中率=1 - ( physical reads / (db block gets + consistent gets) )。命中率应该在90%以上,否则需要增加数据缓冲区的大小。

  3. 日志缓冲区:存放数据库运行生成的日志。

    select
    name,
    value

    from v$sysstat

    where
    name
    in
    (‘redo entries‘,
    ‘redo log space requests‘);

    --查看日志缓冲区的使用情况。查询出的结果可以计算出日志缓冲区的申请失败率:申请失败率=requests/entries,申请失败率应该接近于0,否则说明日志缓冲区开设太小,需要增加ORACLE数据库的日志缓冲区。

时间: 2024-10-11 05:41:50

Oracle SGA优化的相关文章

Oracle SGA详解

SGA(SYSTEM Global Area )系统全局区 l 数据高速缓存 在Oracle进行数据处理的过程中,代价最昂贵的就是物理 I/O操作了.同样的数据从内存中得到要比从磁盘上读取快的多.因此,优化Oracle的一个重要的目标就是尽可能的降低物理 I/O操作. Oracle的 Buffer Cache用于缓存从磁盘中读取的数据,当 Oracle需要查找某些信息的时候,首先会在 BufferCache中寻找,如果找到了,则直接将结果返回.如果找不到,则需要对磁盘进行扫描, Oracle将在

oracle SGA

3.2 SGA系统全局区--System global area(SGA) 是一组共享的内存结构,它里面存储了oracle数据库实例(instance)的数据和控制文件信息.如果有多个用户同时连接到数据库,他们会共享这一区域,因此SGA也称之为Shared Global Area.当数据库实例启动时,SGA的内存被自动分配;当数据库实例关闭时,SGA内存被回收.SGA是占用内存最大的一个区域,同时也是影响数据库性能的重要因素.SGA主要包括以下几部分:? 共享池? 数据缓冲区? 大型池? Jav

53个Oracle语句优化规则详解(转)

Oracle sql 性能优化调整  1. 选用适合的ORACLE优化器        ORACLE的优化器共有3种:a. RULE (基于规则)   b. COST (基于成本) c. CHOOSE (选择性)    设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖.    为了使用基于成本的优化器(CBO,

浅析Oracle语句优化规则

1. 选用适合的ORACLE优化器 ORACLE的优化器共有3种: a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性) 设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖. 为了使用基于成本的优化器(CBO, Cost-Based Optimizer) , 你必须经常运行an

Oracle性能优化之执行计划管理_超越OCP精通Oracle视频教程培训31

Oracle性能优化之执行计划管理_超越OCP精通Oracle视频教程培训31 本课程介绍: Oracle视频教程,风哥本套oracle教程培训<<Oracle数据库性能优化培训教程>>的第1/10套:Oracle性能优化之执行计划管理.主要学习Oracle性能优化简介,SQL 语句处理流程,软解析和硬解析,绑定变量及案例,游标的介绍,Oracle的优化器,执行计划的查看,SQL语句访问路径,SQL语句的连接方式,Oracle驱动表,执行计划的干预,常用hint提示的使用. 视频教

Oracle性能优化之统计信息管理_超越OCP精通Oracle视频教程培训32

Oracle性能优化之统计信息管理_超越OCP精通Oracle视频教程培训32 本课程介绍: Oracle视频教程,风哥本套oracle教程培训<<Oracle数据库性能优化培训教程>>的第2/10套:Oracle性能优化之执行计划管理.主要学习Oracle性能优化,统计信息的作用与查看,收集统计信息的方法之analyze,收集统计信息的方法之DBMS_STATS,收集统计信息的方法之数据库,收集统计信息的方法之用户,收集统计信息的方法之表,收集统计信息的方法之索引,收集统计信息的

Oracle性能优化之性能诊断工具_超越OCP精通Oracle视频教程培训33

Oracle性能优化之性能诊断工具_超越OCP精通Oracle视频教程培训33 课程介绍 Oracle视频教程,风哥本套oracle教程培训<<Oracle数据库性能优化培训教程>>的第3/10套:Oracle性能优化之性能诊断工具.主要学习Oracle性能优化,Oracle自带性能诊断工具介绍,日常维护中的性能工具操作过程,awr性能数据的收集时间,awr自动收集性能报告如何实现,awr手工快照如何实现,awr baseline的手工调整与管理,awr性能相关的视图介绍,awr性

Oracle性能优化之性能跟踪工具_超越OCP精通Oracle视频教程培训34

Oracle性能优化之性能跟踪工具_超越OCP精通Oracle视频教程培训34 课程介绍 Oracle视频教程,风哥本套oracle教程培训<<Oracle数据库性能优化培训教程>>的第4/10套:Oracle性能优化之性能跟踪工具.主要学习Oracle性能优化,如何获取跟踪文件,sql_trace及案例,10046事件及案例,trace内容分析,oradebug及案例,dbms_system,dbms_monitor及案例,dbms_support,10053事件及案例,综合案例

Oracle性能优化之资源管理_超越OCP精通Oracle视频教程培训36

Oracle性能优化之资源管理_超越OCP精通Oracle视频教程培训36 课程介绍 风哥Oracle视频教程<<Oracle数据库性能优化培训教程>>的第6/10套:Oracle性能优化之资源管理.学习Oracle性能优化,为什么进行Oracle资源管理,如何对Oracle进行资源管理,Oracle资源管理技术如何使用,生产案例-限制数据库的CPU使用率,生产案例-限制服务器的CPU使用率. 视频教程学习地址: http://edu.51cto.com/course/course