共享池中保留池的调整(shared_pool_reserved_size)

試著忘記壹切 提交于 2020-03-05 05:39:05

--*************************************************

-- 共享池中保留池的(shared_pool_reserved_size)

--*************************************************

 

1.保留池

        言之,保留一部分存空之需。通常情下,Oracle会将大的求分割成小的块来满足需求。而于大的

    存且为连续存空间请求,如果在共享池中未找到,则会动共享池中的保留池。然,共享池在力的情下,也使用到

    保留池中的部分。保留池部分大的存需求更高效。缺省情下,Oracle配置小的保留池,部分可以用作PL/SQL触发

    编译使用或用于装JAVA象的临时些分配出去的存一旦放后返回保留池。

        任意大于"_shared_pool_reserved_min_alloc = 4400" 连续内存分配求,如果shared_pool中分配不能解,且

    shared_pool有可用的aged out保留池被使用。

       

2.值对象在共享池中分配空

    a.共享池中非保留池找可用空

    b.如果共享池中非保留池有所需的可用空则从保留池行分配

    c.如果共享池非保留池保留池都有所需的空一些象需要按LRUaged out,然后再按a,b骤来进行分配。

 

    共享池的中的保留池大小不能超共享池的50%,一般情下建议为共享池的5%10%

   

        SQL> select * from v$version;

       

        BANNER

        ----------------------------------------------------------------

        Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi

        PL/SQL Release 10.2.0.4.0 - Production

        CORE    10.2.0.4.0      Production

        TNS for Solaris: Version 10.2.0.4.0 - Production

        NLSRTL Version 10.2.0.4.0 - Production

           

        SQL> show parameter reserved

       

        NAME                                 TYPE                             VALUE

        ------------------------------------ -------------------------------- ------------------------------

        _shared_pool_reserved_pct            integer                          10

        shared_pool_reserved_size            big integer                      512M  --修改该参数来设置保留池的大小

 

 

3.保留池的视图

    v$shared_pool_reserved

    SELECT * from v$shared_pool_reserved;

 

    SQL> desc v$shared_pool_reserved;

     Name                                      Null?    Type

     ------------------------------ -------- ----------------------------

     --以下字段只有当参数SHARED_POOL_RESERVED_SIZE置了才有效

     FREE_SPACE                   NUMBER  -->保留的空间数

     AVG_FREE_SIZE                NUMBER  -->保留的空平均

     FREE_COUNT                   NUMBER  -->保留的空闲内块数

     MAX_FREE_SIZE                NUMBER  -->最大的保留间数

     USED_SPACE                   NUMBER  -->保留使用空间数

     AVG_USED_SIZE                NUMBER  -->保留使用空平均

     USED_COUNT                   NUMBER  -->保留使用块数

     MAX_USED_SIZE                NUMBER  -->最大保留使用空间数

     REQUESTS                     NUMBER  -->求在保留区查找空闲内的次

     REQUEST_MISSES               NUMBER  -->无法找保留闲内块请求,需要LRU列表中象的次

     LAST_MISS_SIZE               NUMBER  -->求的存大小,求是最后一次需要LRU列表来满足的

     MAX_MISS_SIZE                NUMBER  -->所有需要LRU列表来满足的求中的存最大大小

    

     --以下字段无论参数SHARED_POOL_RESERVED_SIZE是否置了都有效

     REQUEST_FAILURES             NUMBER  -->存能足的求次4031错误求)

     LAST_FAILURE_SIZE            NUMBER  -->存能足的求所需的存大小(4031错误求)

     ABORTED_REQUEST_THRESHOLD    NUMBER  -->象的情下,4031错误的最小求大小

     ABORTED_REQUESTS             NUMBER  -->象的情下,4031错误求次

     LAST_ABORTED_SIZE            NUMBER  -->象的情下,最后一次4031错误求大小

     --可以根据后面4字段值来决定如何置保留的大小以避免4031错误

   

        SQL> select requests,request_misses,request_failures,last_failure_size,aborted_request_threshold ab_re_th,

          2  aborted_requests,last_aborted_size lst_ab_sz

          3  from v$shared_pool_reserved;

       

          REQUESTS REQUEST_MISSES REQUEST_FAILURES LAST_FAILURE_SIZE   AB_RE_TH ABORTED_REQUESTS  LST_AB_SZ

        ---------- -------------- ---------------- ----------------- ---------- ---------------- ----------

                 1              0              542              4112 2147483647                0          0

    

4.保留池整策略

    a.根据视图v$shared_pool_reserved 来查看保留池是否

        SQL> select free_space,free_count,used_space,avg_used_size from v$shared_pool_reserved;

   

        FREE_SPACE FREE_COUNT USED_SPACE AVG_USED_SIZE

        ---------- ---------- ---------- -------------

         505926544        347   14618016    5826.23196

        

    b.使用包dbms_shared_pool aborted_request_threshold 来调阙值

    c.修改参数shared_pool_reserved_size

   

        alter system set shared_pool_reserved_size=integer [K | M | G]

 

            如果shared_pool_reserved_size参数值设置的太小,则视图v$shared_pool_reservedrequest_failures值将大于零

        增加,即存失的次数会增加,解法是增加保留池的大小,相的增大共享池的大小。

 

            共享池shared_pool_size太小视图v$shared_pool_reserved也可以表明参数shared_pool_size值设置的小。即

        视图v$shared_pool_reservedrequest_failures大于零或持增加。

       

            如果定了保留池,shared_pool_size不能增加的情下,可以shared_pool_reserved_size的大小。

            如果未定保留池,而request_failures大于零或持增加,增加共享池的大小。

 

    d.保留池

        下列两种存在,保留池可能

            request_misses终为零,且有持增加

            free_memory大于等于保留池的50%

 

    e.下面的表用于判如何整保留池的空

 

    IF Request_failures    Conjuction  Condition                                      Action

    -------------------    ----------  ----------------                               --------------

     >0 and increasing        AND      Request_misses>0                               Increase shared_pool_reserved_size

     >0 and increasing        AND      Free_memory>=50% of shared_pool_reserved_size  Increase shared_pool_size

     =0                       OR       Free_memory>=50% of shared_pool_reserved_size  Decrease shared_pool_reserved_size

 

 

5.保留池的几重要参数

    col ksppinm format a54

    col ksppstvl format a54

    SELECT KSPPINM, KSPPSTVL

    FROM X$KSPPI PI, X$KSPPCV CV

    WHERE CV.INDX = PI.INDX

    AND PI.KSPPINM LIKE '/_%' ESCAPE '/'                                              -- '--

    AND PI.KSPPINM LIKE '%&Para%';                            

   

   

    KSPPINM                                                KSPPSTVL

    ------------------------------------------------------ ------------------------------------------------------

    _shared_pool_reserved_pct                              10

    _shared_pool_reserved_min_alloc                        4400

   

    SQL> show parameter reserved

   

    NAME                                 TYPE                             VALUE

    ------------------------------------ -------------------------------- ------------------------------

    _shared_pool_reserved_pct            integer                          10

    shared_pool_reserved_size            big integer                      512M       

   

6. 快捷参考

性能请参

    Oracle 硬解析与软解析

    共享池的与优(Shared pool Tuning)

    Buffer cache 与优(一)

    Oracle (caching table)的使用

 

ORACLE体系结构请参

    Oracle 表空间与数据文件

    Oracle 文件

    Oracle 参数文件

    Oracle 机重做日志文件(ONLINE LOG FILE)

    Oracle 控制文件(CONTROLFILE)

    Oracle 归档日志

    Oracle (ROLLBACK)和撤(UNDO)

    Oracle 库实启动关闭过

    Oracle 10g SGA 的自化管理

    Oracle 例和Oracle(Oracle体系结构)

 

关闪回特性请参

    Oracle 回特性(FLASHBACK DATABASE)

    Oracle 回特性(FLASHBACK DROP & RECYCLEBIN)

    Oracle 回特性(Flashback Query、Flashback Table)

    Oracle 回特性(Flashback Version、Flashback Transaction)

 

基于用管理的备份备份请参

    Oracle 备份

    Oracle 热备份

    Oracle 备份复概

    Oracle 例恢

    Oracle 基于用管理恢(详细描述了介及其)

    SYSTEM 表空管理及备份

    SYSAUX表空管理及恢

 

RMAN备份复与管理请参

    RMAN 述及其体系结构

    RMAN 配置、管理

    RMAN 备份详

    RMAN

    RMAN catalog 建和使用

    基于catalog RMAN脚本

基于catalog 的RMAN 备份与

使用RMAN迁移文件系统数据库到ASM

    RMAN 备份困惑(使用plus archivelog)

 

ORACLE故障请参

    ORA-32004 错误处

    ORA-01658 错误

    CRS-0215 错误处

    ORA-00119,ORA-00132 错误处

    又一例SPFILE错误导无法启动

    对参数FAST_START_MTTR_TARGET = 0 解及

    SPFILE 错误导无法启动(ORA-01565)

 

ASM请参

    ASM例及ASM

    ASM 、目的管理

    使用 ASMCMD 工具管理ASM及文件

 

SQL/PLSQL请参

    SQLPlus 常用命令

    替代SQL*Plus

    使用Uniread实现SQLplus功能

    SQL -->SELECT 查询

    SQL --> NEW_VALUE 的使用

    SQL --> 集合(UNION UNION ALL)

    SQL --> 常用函

    SQL --> 视图(CREATE VIEW)

    SQL --> 建和管理表

    SQL --> 多表查询

    SQL --> 过滤和排序

    SQL --> 查询

    SQL --> 组与

    SQL --> 次化查询(START BY ... CONNECT BY PRIOR)

    SQL --> ROLLUPCUBE算符实现数汇总

    PL/SQL -->

    PL/SQL --> (Exception)

    PL/SQL --> 言基

    PL/SQL --> 流程控制

    PL/SQL --> PL/SQL记录

    PL/SQL --> 包的管理

    PL/SQL --> 式游(SQL%FOUND)

    PL/SQL --> 包重、初始化

    PL/SQL --> DBMS_DDL包的使用

    PL/SQL --> DML 触发

    PL/SQL --> INSTEAD OF 触发

    PL/SQL --> 储过

    PL/SQL -->

    PL/SQL --> 动态SQL

    PL/SQL --> 动态SQL的常见错误

 

ORACLE特性

    Oracle 常用目录结构(10g)

    使用OEM,SQL*Plus,iSQL*Plus 管理Oracle

    日志记录模式(LOGGING 、FORCE LOGGING 、NOLOGGING)

    表段、索引段上的LOGGINGNOLOGGING

    Oralce OMF 功能

    Oracle 限、系统权  

    Oracle 角色、配置文件

    Oracle

    Oracle 外部表

    使用外部表管理Oracle 告警日志(ALAERT_$SID.LOG)

    簇表及簇表管理(Index clustered tables)

    EXPDP 出工具的使用

    IMPDP 入工具的使用

    Oracle

    SQL*Loader使用方法

    用用程跟踪

    配置非默端口的动态

    配置ORACLE 接到

    system sys,sysoper sysdba 区别

    ORACLE_SID、DB_NAME、INSTANCE_NAME、DB_DOMIAN、GLOBAL_NAME

    Oracle 丁全集 (Oracle 9i 10g 11g Path)

    Oracle 10.2.0.1 10.2.0.4

    Oracle kill session

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!