Howto: Alter Oracle sequence cache sizes for specific SDE repository sequences

文章编号 : 32133
软件: ArcSDE 9.2, 9.3, 9.3.1
操作系统: N/A
已邀请:

EsriSupport

赞同来自:

摘要: ArcSDE用户中 • state_id_generator_nc • connection_id_generator • version_id_generator 三个序列经常使用,但是默认的Cache SIZE等于0
内容: Oracle 序列是一个数据库对象,提供唯一的整数值。序列高速缓存的大小决定多少 Oracle 预前分配在内存中,在共享池中的值。通过预分配值,Oracle 将返回下一个唯一值从内存提供更快地访问信息。

设置高速缓存大小 0 可能导致丢失的序列值,如果系统关机突然再大一点。当系统出现故障时,保留在内存中的值都将丢失的序列。

例如,假设已创建一个序列的高速缓存大小为 100。第一次使用序列,则 Oracle 缓存值 1- 100 的内存。随后,Oracle 会话使用高速缓存的信息,并使用值 1- 45。此时 Oracle 关闭突然。当序列用于启动、 Oracle 缓存值 101-200 的内存,从而在值中丢失了 46 -100 之后。

此外,已缓存共享池中的序列值在数据库的操作时可以造成老化。可以使用DMBS_SHARED_POOL 存储过程,避免老化序列。
更改序列的Cache SIZE值步骤
1:

ALTER SEQUENCE sde.connection_id_generator CACHE 1000
ALTER SEQUENCE sde.state_id_generator_nc CACHE 1000
ALTER SEQUENCE sde.version_id_generator CACHE 1000

2:

exec sys.DBMS_SHARED_POOL.KEEP('sde.connection_id_generator', 'Q')
exec sys.DBMS_SHARED_POOL.KEEP('sde.state_id_generator_nc', 'Q')
exec sys.DBMS_SHARED_POOL.KEEP('sde.version_id_generator', 'Q')




创建时间:2006-11-14
最近更新: 2011-05-03


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

要回复问题请先登录注册