oracle序列的缓存

Posted 每周向前一小步

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle序列的缓存相关的知识,希望对你有一定的参考价值。

在高并发的数据库系统中,序列的缓存也要相应的调大。现在看看数据库自己的一个高并发序列的定义。
当我们向数据库发送一个请求时,监听接待,然后oracle会启动一个后台进程(这个进程就是通常所说的数据库并发数,即数据库能够同时启动多少个进程对外提供服务,由processes参数决定)为之服务,然后就分配与之对应的会话sesson,会话的audsid字段(不为0的是外部请求,内部皆为0)由SYS.AUDSES$序列获取,该序列定义如下
CREATE SEQUENCE SYS.AUDSES$
START WITH 210016
MAXVALUE 2000000000
MINVALUE 1
CYCLE
CACHE 10000
NOORDER;
缓存为10000,会话分配在数据库中可以归为高并发的一类情况,因为业务繁忙时同一时刻会产生很多会话; 而开发定义的会话通常会在20至50之间,这种情况下如果发生高并发情况,有关序列的等待事件就会产生;如果出现有关序列等待事件, 建议初次可以由50调整为500至1000中的一个数字。

以上是关于oracle序列的缓存的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 序列 sequence

oracle数据库缓存保留多久

序列缓存和性能

oracle创建序列的语法

sql Oracle代码片段

Android获取各个应用程序的缓存文件代码小片段(使用AIDL)