ITPub博客

首页 > 数据库 > Oracle > 使用V$shared_pool_advice调整共享池

使用V$shared_pool_advice调整共享池

Oracle 作者:cqjzh1979 时间:2016-04-27 11:49:12 0 删除 编辑

从Oracle9i开始,引入了一个共享池顾问的新特性。DBA可以使用这个特性,对共享池的内存使用进行优化,进行正确地调整。

为什么需要共享池顾问
------------------------

+该顾问建议中关于library cache内存的信息,根据假设调整共享池大小,来预判对系统整体解析活动造成的影响。
+当需要解析时,如果无法分配连续的内存,该解析就被阻塞,造成数据库和应用的性能下降。
+另一方面,如果分配的内存远大于共享池所需要的那么系统服务器的资源就被无价值地浪费了。


什么是共享池顾问
------------------------

+共享池顾问在Oracle9.2被引入,持续对共享池的library cache的使用进行跟踪。
+持续对不同大小的共享池进行统计(从当前设置的50%到200%)
+DBA可以通过新视图V$SHARED_POOL_ADVICE了解不同共享池大小的相关性能。
+该视图(V$SHARED_POOL_ADVICE)给出的信息包括:评估library cache需要多少的内存,library cache中的对象大小,评估共享池大小变化时,解析消耗的时间。


如何使用共享池顾问
------------------------

+初始化参数STATISTICS_LEVEL需要设置为ALL或TYPICAL(不能是BASIC)
+该参数可以动态修改:
SQL> alter system set statistics_level=typical;


如何从V$SHARED_POOL_ADVICE中收集有用的信息
-------------------------------------------

在设置好所需的参数之后,在一个负载稳定的系统中运行一段时间后,可以通过简单的SQL语句查询该视图,如下:
SQL> SELECT shared_pool_size_for_estimate "Size of Shared Pool in MB",
              shared_pool_size_factor "Size Factor",
              estd_lc_time_saved "Time Saved in sec"
         FROM v$shared_pool_advice;

Size of Shared Pool in MB Size Factor Time Saved in sec
------------------------- ----------- -----------------
                       Size of Shared Pool in MB Size Factor Time Saved in sec
------------------------- ----------- -----------------
                      672       .4565            599736
                      832       .5652            605198
                      992       .6739            607924
                     1152       .7826            608063
                     1312       .8913            608089
                     1472           1            608103
                     1632      1.1087            608111
                     1792      1.2174            608112
                     1952      1.3261            608112
                     2112      1.4348            608112
                     2272      1.5435            608112


Size of Shared Pool in MB Size Factor Time Saved in sec
------------------------- ----------- -----------------
                     2432      1.6522            608112
                     2592      1.7609            608112
                     2752      1.8696            608112
                     2912      1.9783            608112
                     3072       2.087            608112


16 rows selected.

+从上面的输出可以看出当前的共享池设置为1.4G(Size factor为1)。
+将共享池增大到3072,才能在解析时节约1秒。
+使用该视图,DBA可以更有效地调节共享池


注意
-----------------------

+改变共享池大小引起的latch争用以及碎片问题,该顾问无法考虑。

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

请登录后发表评论 登录
全部评论

注册时间:2015-02-27

  • 博文量
    30
  • 访问量
    40868