ITPub博客

首页 > Linux操作系统 > Linux操作系统 > shared_pool保留区的判断

shared_pool保留区的判断

原创 Linux操作系统 作者:legend_oracle 时间:2013-07-19 06:37:41 0 删除 编辑
SQL> show parameter shared_pool
NAME                                 TYPE                                               VALUE
------------------------------------ -------------------------------------------------- ------------------------------
shared_pool_reserved_size            big integer                                        9227468
shared_pool_size                     big integer                                        0
 
共享池的保留区,默认的大小为共享池的5%,不能大于50%
 
SQL> select * from v$shared_pool_reserved;
 
FREE_SPACE AVG_FREE_SIZE FREE_COUNT MAX_FREE_SIZE USED_SPACE AVG_USED_SIZE USED_COUNT MAX_USED_SIZE   REQUESTS REQUEST_MISSES LAST_MISS_SIZE MAX_MISS_SIZE REQUEST_FAILURES LAST_FAILURE_SIZE ABORTED_REQUEST_THRESHOLD ABORTED_REQUESTS LAST_ABORTED_SIZE
---------- ------------- ---------- ------------- ---------- ------------- ---------- ------------- ---------- -------------- -------------- ------------- ---------------- ----------------- ------------------------- ---------------- -----------------
   9367072        212888         44        212888          0             0          0             0       0                 0              0             0                0                 0                2147483647                0                 0
 
如果request_misses持续增大,说明小了
如果request_misses总为零,说明大了
 
cursor_sharing参数
1.应用中有大量的相似语句
2.由于library cache的没有命中造成效应速度下降
语句完全相同才共享内存(默认)
EXACT
部分相同有可能共享(选择)
部分相同就共享(有潜在的问题)
force
建议:
最好保持该参数为EXACT,而是通过修改程序的办法来共享SQL
 
 
 
 V$SHARED_POOL_RESERVED视图 :存放了共享池保留区的统计信息
        --以下字段只有当参数SHARED_POOL_RESERVED_SIZE设置了才有效
select a.FREE_SPACE,--保留区的空闲空间数。
       a.AVG_FREE_SIZE,--保留区的空闲空间平均数。
       a.FREE_COUNT,--保留区的空闲内存块数
       a.MAX_FREE_SIZE,--最大的保留区空闲空间数
       a.USED_SPACE,--保留区使用空间数
       a.AVG_USED_SIZE,--保留区使用空间平均数
       a.USED_COUNT,--保留区使用内存块数
       a.MAX_USED_SIZE,--最大保留区使用空间数
       a.REQUESTS,--请求再保留区查找空闲内存块的次数
       a.REQUEST_MISSES,--无法满足查找保留区空闲内存块请求,需要从LRU列表中清出对象的次数
       a.LAST_MISS_SIZE,--请求的内存大小,这次请求是最后一次需要从LRU列表清出对象来满足的请求
       --以下字段无论参数SHARED_POOL_RESERVED_SIZE是否设置了都有效
       a.MAX_MISS_SIZE,--所有需要从LRU列表清出对象来满足的请求中的内存最大大小
       a.REQUEST_FAILURES,--没有内存能满足的请求次数(导致4031错误的请求)
       a.LAST_FAILURE_SIZE,--没有内存能满足的请求所需的内存大小(导致4031错误的请求)
       a.ABORTED_REQUEST_THRESHOLD,--不清出对象的情况下,导致4031错误的最小请求大小
       a.ABORTED_REQUESTS,--不清出对象的情况下,导致4031错误的请求次数
       a.LAST_ABORTED_SIZE--不清出对象的情况下,最后一次导致4031错误的请求大小
  from V$SHARED_POOL_RESERVED a
可以根据后面4个字段值来决定如何设置保留区的大小以避免4031错误的发生

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26700801/viewspace-766654/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2012-02-17

  • 博文量
    3
  • 访问量
    13966