zoukankan      html  css  js  c++  java
  • SGA 的自动管理

    在Oracle10g中,不必再如从前一样用下列各个参数分别指定SGA的每个部分的大小.也就是说不需要首先评估SGA各组件的大小,并且在init<SID>.ora初始参数文件中分组件指定.(当然某些组件如果不不使用是可以不指定的.比如java_pool_size).
    shared_pool_size
    java_pool_size
    large_pool_size
    db_cache_size

    在10g中可用一个新参数SGA_TARGET来设定实列所需的SGA最大值,并替代以上参数.
    假设,将SGA_TARGET设置为152M,则表明SGA最大为152M. 所有SGA组件如shared pool, buffer cache,large pool, java pool都需从其中分配. Oracle会自动为各组件指定初始值,并在运行过程中动态地调整各组件的
    大小.毋须人工干预.


    这样,只要设置了SGA_TARGET, 就毋须显式地定义shared pool,buffer pool,large pool和java pool的大小.

    例如:定义SGA_TARGET=152M(block size为8k).
    SQL> show parameter db_block_size

    NAME TYPE VALUE
    ------------------------------------ ----------- ------------------------------
    db_block_size integer 8192

    SQL> show parameter sga_target

    NAME TYPE VALUE
    ------------------------------------ ----------- ------------------------------
    sga_target big integer 152M
    Oracle会自动将内存分配给各组件:
    SQL> show sga

    Total System Global Area 159383552 bytes
    Fixed Size 1218268 bytes
    Variable Size 67111204 bytes
    Database Buffers 88080384 bytes
    Redo Buffers 2973696 bytes

    使用sga_target参数有几点需要注意:
    1. 当使用sga_target时, 若未设置sga_max_size,或设置了小于sga_target,则sga_max_size将等于sga_target. 
    SQL> show parameter sga

    NAME TYPE VALUE
    ------------------------------------ ----------- ------------------------------
    lock_sga boolean FALSE
    pre_page_sga boolean FALSE
    sga_max_size big integer 152M
    sga_target big integer 152M

    2. 当sga_target是可动态调整的,但其值不能大于sga_max_size.
    SQL> alter system set sga_target=160M; alter system set sga_target=160M * ERROR at line 1: ORA-02097: parameter cannot be modified because specified value is invalid ORA-00823: Specified value of sga_target greater than sga_max_size

    另外需要注意的是:
    SGA_TARGET参数不涉及以下内存的设置:
    Log Buffer.
    KEEP,RECYCLE或非数据库缺省db_block_size的buffer cache.
    Fixed SGA和其它内部分配的部分.

    准确地说:
    就是sga_target中减去log_buffer,db_keep_buffer_cache,db_recycle_buffer_cache,db_nk_cache_size.剩余的才能分配给shared_pool_size,db_buffer_cache,java_pool_size,large_pool_size,streams_pool_size.这个以前一直不知道,惭愧。。
    :)

  • 相关阅读:
    20145240《网络对抗》逆向及Bof基础实践
    20145239杜文超《网络对抗》- Web安全基础实践
    20145239杜文超《网络对抗》- Web基础
    20145239杜文超《网络对抗》- 网络欺诈技术防范
    20145239杜文超《网络对抗》- 信息搜集与漏洞扫描
    20145239杜文超《网络攻防》- MSF基础应用
    20145239杜文超《网络对抗》- 恶意代码分析
    20145239杜文超《网络对抗》- shellcode注入&Return-to-libc攻击深入
    20145239杜文超《网络对抗》- 免杀原理与实践
    20145239《网络对抗》- 后门原理与实践
  • 原文地址:https://www.cnblogs.com/leafcb/p/3449226.html
Copyright © 2011-2022 走看看