Howto: Pin Oracle objects in the shared pool to improve performance

文章编号 : 20504
软件: ArcSDE 8.0.1, 8.0.2, 8.1, 8.3, 8.1.2, 8.2, 9.0, 9.1, 9.2, 9.3, 9.3.1
操作系统: N/A
已邀请:

易智瑞技术支持

赞同来自:

摘要: 在Oracle数据库中可以将数据库对象Pin到共享池中来提高数据库性能 建议Esri所有的存储过程和序列都被Pin,一旦对象驻留在Oracle的共享池中,他们不需要对其进行分析,从而节省大量资源。 在共享池中Pin对象所使用的可用内存可能会被其他进程占用,所以为共享池分配额外的内存是非常必要的,一般情况下,做不Pin对象很少使用 ;这可能会对数据库性能的不利影响。
内容: 1:在执行Pin数据库对象之前,需要将SYS用户的共享池(DBMS_SHARED_POOL)权限赋予SDE用户

GRANT execute ON dbms_shared_pool TO sde;

2:在共享池Pin对象

EXECUTE dbms_shared_pool.keep ('STANDARD', 'P');
可以对SYS用户下的以下包进行Pin
STANDARD
DBMS_STANDARD
DBMS_UTILITY
DBMS_DESCRIBE
DBMS_OUTPUT

3:作为SDE用户,可以将频繁使用的对象进行Pin


EXECUTE dbms_shared_pool.keep ('VERSION_UTIL', 'P');
EXECUTE dbms_shared_pool.keep ('LOCK_UTIL', 'P');


4:数据库对象并不限于存储过程。数据库序列、 触发器和游标可以全部PIN在共享池中。ESRI 建议PIN经常使用的序列。

EXECUTE dbms_shared_pool.keep ('SDE.CONNECTION_ID_GENERATOR', 'Q');





创建时间:2001-09-14
最近更新: 2011-05-03


原文链接
http://support.esrichina.com.c ... .html

要回复问题请先登录注册