zoukankan      html  css  js  c++  java
  • 关于PGA的动态性能视图

    V$PGASTAT动态性能视图中的常用列。
    aggregate PGA target parameter
    pga_aggregate_target初始化参数的当前值。如果该参数没有设置值是0,自动PGA管理将不会启动。默认值是10M与SGA的20%中较大的值。
    aggregate PGA auto target
    在自动PGA管理中,可用于oracle数据库SQL工作区的PGA内存大小。该参数的值,动态的衍生于pga_aggregate_target参数。如果该参数小很多,说明大量的PGA内存分配给了系统中的其他组件,这样分配给工作区的内存量就小了。DBA应该确保有足够的内存分配给SQL工作区。
    cache hit percentage
    反应自oracle实例启动以来PGA内存组件的性能的度量值。100%意味着自实例启动以来所有的各种操作都是在PGA的SQL工作区进行的。
    max processes count
    自实例启动以来的最大进程数。
    process count
    当前活动的进程数,该参数每3秒更新一次。
    maximum PGA allocated
    自实例启动以来分配给PGA的最大内大小。
    maximum PGA used for auto workareas
    在PGA内存自动化管理模式下,自实例启动以来分配给SQL工作区的最大内存大小。
    maximum PGA used for manual workareas
    在PGA内存手动管理模式下,自实例启动以来分配给SQL工作区的最大内存大小。
    over allocation count
    超过分配的次数,这是自实例启动以来积累的统计值。如果pga_aggregate_target的值设置的太小,那么oracle数据库将不会信任该值,将会额外的分配PGA需要的内存。如果该值出现,应该根据V$pga_target_advice调整ga_aggregate_target的值。
    PGA memory freed back to OS
    所有的进程可以释放归还给操作系统的内存大小总和。
    total PGA allocated
    当前PGA的内存大小。oracle会尝试让该值低于pga_aggregate_target初始化参数
    指定的值,但是当pga_aggregate_target参数指定的值太小的时候,或者SQL工作区快速增长的时候,可以小幅短期的超过pga_aggregate_target参数指定的值。
    total PGA inuse
    指示多少PGA内存被当前的SQL工作区消耗,该值可以用来确定多少内存是被别的PGA组件消耗的(PL/SQL or Java memory)。
    bytes processed
    该参数是自实例启动以来积累的处理内存密集SQL操作占用的内存大小。
    extra bytes read/written
    当SQL工作区设置的不是最佳时,会出现额外数据传输。该值是自实例启动以来额外的数据传输的大小。
    global memory bound
    在PGA内存自动管理模式下(即SQL工作执行区在auto模式下),分配给SQL工作区的上限内存大小。oracle会更加SQL工作区的负载情况动态的调整该参数值。当活跃的SQL工作区增加的时候该值,通常会减小。如果该值小于1MB,应该增大pga_aggregate_target的值。

    Oracle给出了一系列的自动优化的建议,PGA分配多大能给系统带来最大的性能?V$PGA_TARGET_ADVICE视图给出了很好的“预测”!


    SELECT pga_target_for_estimate / 1024 / 1024 "PGA(MB)", pga_target_factor,estd_pga_cache_hit_percentage,estd_overalloc_count FROM v$pga_target_advice;


    1.第一列表示不同的PGA的具体值

    2.第二列PGA_TARGET_FACTOR为“1”表示当前的pga_aggregate_target设置大小(其他数值都是以这个数据为基础的倍数),我这里是20M,通过pga_aggregate_target参数可以确认一下
    sys@ora10g> show parameter pga_aggregate_target;

    NAME TYPE VALUE
    ----------------------- -------------------- -----------
    pga_aggregate_target big integer 20M

    3.第三列表示PGA的估算得到的Cache命中率的百分比
    目前系统如果PGA为20M的时候,就可以达到100%的命中率

    4.第四列如果为“0”表示可以消除PGA的过载
    从上面的数据中可以得到,当PGA为36M的时候,可以消除PGA的过载。

    5.综合以上的结论,我们最终可以将PGA的大小设置为36M。
    sys@ora10g> alter system set pga_aggregate_target=36m;

  • 相关阅读:
    全排列问题(内测第0届第1题)
    提取字符串中的数字(C语言)
    尾递归=递归+迭代?
    Android各版本代号、版本号、API/NDK级别、发布时间及市场份额
    C语言中文件打开模式(r/w/a/r+/w+/a+/rb/wb/ab/rb+/wb+/ab+)浅析
    sizeof既是关键字,又是运算符(操作符),但不是函数!
    探寻main函数的“标准”写法,以及获取main函数的参数、返回值
    Scala比较器:Ordered与Ordering
    【Python实战】Pandas:让你像写SQL一样做数据分析(一)
    【Python实战】Scrapy豌豆荚应用市场爬虫
  • 原文地址:https://www.cnblogs.com/Wardenking/p/11288376.html
Copyright © 2011-2022 走看看