dbms_shared_pool

该包提供了访问共享池的方法。通过执行@?/rdbms/admin/dbmspool.sql创建。能展示在共享池中的对象的大小,将对象keep或unkeep在共享池里,目的是减少碎片。

该存储过程对于加载大的pl/sql对象的时候很有用,当加载大pl/sql对象的时候,因为大量的小对象需要被交换出共享区来为大对象腾空间,所以用户的响应时间也是受影响。

dbms_shared_pool也对于频繁执行的触发器有影响。你也许回想要keep在频繁使用的表上的触发器在共享池中。另外dbms_shared_pool支持序列号。sequence在被交换出共享池的时候会中断。dbms_shared_pool将序号保存在共享池中,这样阻止了丢失序列号的问题。

下面是保存对象的例子

DBMS_SHARED_POOL.KEEP('scott.hispackage')

下面是显示一定大小对象的例子,这个方法显示了共享池中的大于指定尺寸的对象,在sqlplus中执行的时候,需要设置'SET SERVEROUTPUT ON SIZE XXXXX' 来显示返回的结果

DBMS_SHARED_POOL.SIZES (
   minsize NUMBER);

下面是unkeep的语法

DBMS_SHARED_POOL.UNKEEP (
   name VARCHAR2,
   flag CHAR     DEFAULT 'P');


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值