ITPub博客

首页 > Linux操作系统 > Linux操作系统 > dbms_shared_pool之aborted_request_threshold,sizes

dbms_shared_pool之aborted_request_threshold,sizes

原创 Linux操作系统 作者:杨奇龙 时间:2011-07-08 20:27:50 0 删除 编辑

继续介绍dbms_shared_pool的用法:

dbms_shared_pool.aborted_request_threshold(5000);
作用:当共享池满无足够内存来满足给定请求时,它将开始释放对象,知道有了足够内存。如果释放出足够多的对象,有可能会影响到性能。我们可以设定当至少超出THESHOLD个字节时,才释放。
设定报错阀值,该值在5000 - 2147483647之间,
只要load的对象大小大于该值而shared pool中没有满足要求的空闲空间时,
不会从lru中flush对象出去,直接以一个ORA-4031错误结束。

yang@rac1>exec sys.dbms_shared_pool.aborted_request_threshold(1000);
BEGIN sys.dbms_shared_pool.aborted_request_threshold(1000); END;

*
ERROR at line 1:
ORA-20000: threshold_size not in valid range: (5000 - 2147483647)
ORA-06512: at "SYS.DBMS_SHARED_POOL", line 91
ORA-06512: at line 1

----------------------------------------------------------
dbms_shared_pool.sizes

列出当前share_pool中大于给定参数k的对象
下面的例子表示shared pool 中没有大于5000k的对象
yang@rac1>exec sys.dbms_shared_pool.aborted_request_threshold(5000);
PL/SQL procedure successfully completed.
有很多大于200k的对象 。
yang@rac1>exec sys.dbms_shared_pool.sizes(200);
SIZE(K) KEPT   NAME
------- ------ ---------------------------------------------------------------
635        SYS.STANDARD                  (PACKAGE)
631        SYSMAN.MGMT_JOB_ENGINE        (PACKAGE BODY)
458        APEX_030200.WWV_FLOW          (PACKAGE BODY)
372        SYSMAN.MGMT_GLOBAL            (PACKAGE)
341        SYS.DBMS_AQADM_SYS            (PACKAGE BODY)
315        SYS.DBMS_ISCHED               (PACKAGE BODY)
------------------------------------------------------
将对象pin入shared_pool,而不进入LRU 机制,被keep的对象可以是数据库对象,也可以是sql。
unkeep为keep的反操作。
关于dbms_shared_pool.keep/unkeep 的例子

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

请登录后发表评论 登录
全部评论
MySQL DBA NoSQL DEVOPS

注册时间:2009-10-07

  • 博文量
    1026
  • 访问量
    8206236