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中的一个数字。

时间: 2024-10-05 09:24:09

oracle序列的缓存的相关文章

oracle 序列 详解

序列: 是oacle提供的用于产生一系列唯一数字的数据库对象. l  自动提供唯一的数值 l  共享对象 l  主要用于提供主键值 l  将序列值装入内存可以提高访问效率 创建序列: 1.  要有创建序列的权限 create sequence 或 create any sequence 2.  创建序列的语法 CREATE SEQUENCE sequence  //创建序列名称        [INCREMENT BY n]  //递增的序列值是n 如果n是正数就递增,如果是负数就递减 默认是1

ORACLE序列的使用总结

1.创建序列ORACLE序列的语法格式为: CREATE SEQUENCE 序列名[INCREMENT BY n][START WITH n][{MAXVALUE/ MINVALUE n|NOMAXVALUE}][{CYCLE|NOCYCLE}][{CACHE n|NOCACHE}]; 1)INCREMENT BY用于定义序列的步长,如果省略,则默认为1,如果出现负值,则代表Oracle序列的值是按照此步长递减的. 2)START WITH 定义序列的初始值(即产生的第一个值),默认为1. 3)

Oracle序列和主键映射

前言 每张表都有主键,可分别简单主键和组合主键,简单主键为表中的一列,组合主键为表中的几列.主键的生成策略有许多种,其中,序列是oracle常见的主键生成策略之一.本文主要讲解JPA映射主键的技术细节.其中,主键生成策略是oracle序列,JPA实现是Hibernate. oracle序列 创建序列 drop sequence testsequence; Create sequence testsequence Increment by 1 Start with 1 NOMAXVALUE NOM

oracle序列的创建、删除和使用

创建序列 create sequence TEST --序列名minvalue 1 --定义序列生成器能产生的最小值.选项NOMAXVALUE是默认选项,代表没有最小值定义,这时对于递减序列,系统能够产生的最小值是?10的26次方;对于递增序列,--最小值是1.maxvalue 999999999999999999999999999 --定义序列生成器能产生的最大值.选项NOMAXVALUE是默认选项,代表没有最大值定义,这时对于递增Oracle序列,系统能够产生的最--大值是10的27次方;对

Oracle 序列,表空间

oracle 数据库将表空间划分成逻辑区域,形成逻辑结构,一个oracle有一个或多个表空间,一个表空间对应着多个数据库文件,表空间是oracle恢复数据的最小单元 ,容纳着很多数据库实体,聚簇,回退段 表空间作用: 决定数据库的数据分配 备份和恢复 分布于不同数据设备之间,提高性能 CREATE CLUSTER --建立聚簇 CREATE PROCEDURE --建立过程 CREATE SEQUENCE --建立序列 CREATE TABLE --建表 CREATE TRIGGER --建立触

oracle序列中cache是什么

create sequence name increment by x //x为增长间隔 start with x //x为初始值 maxvalue x //x为最大值 minvalue x //x为最小值 cycle //循环使用,到达最大值或者最小值时,从新建立对象 cache x //制定存入缓存(也就是内存)序列值的个数 序列是一数据库对象,利用它可生成唯一的整数.一般使用序列自动地生成主码值.一个序列的值是由特别的Oracle程序自动生成. 如果不设定cycle循环的话,每一个序列号是

oracle 序列 视图 索引 同义词

序列 Oracle 12C 之后,Oracle 之中提供的是一种手工的自动增长列控制,而这样的控制在 Oracle 之中使用序列(对象)完成. 序列的创建: CREATE SEQUENCE 序列名称 [INCREMENT BY 步长] [START WITH 开始值] [MAXVALUE 最大值 | NOMAXVALUE] [MINVALUE 最小值 | NOMINVALUE] [CYCLE | NOCYCLE] [CACHE 缓存大小 | NOCACHE] 在此数据字典之中主要包含如下列的数据

Oracle序列使用:建立、删除

在开始讲解Oracle序列使用方法之前,先加一点关于Oracle client sqlplus的使用,就是如果执行多行语句的话一定要加“/”才能表示结束,并执行!本篇文章的主题是通过创建Oracle序列和触发器实现表的主键自增. 1.首先创建序列,Oracle序列的语法格式为:CREATE SEQUENCE 序列名[INCREMENT BY n][START WITH n][{MAXVALUE/ MINVALUE n|NOMAXVALUE}][{CYCLE|NOCYCLE}][{CACHE n|

SQL server 和Oracle 序列

1,SQL Server序列创建与使用 BEGIN IF EXISTS (SELECT * FROM sysobjects WHERE name = 'event_seq') DROP SEQUENCE event_seq END CREATE SEQUENCE event_seq MINVALUE 1 MAXVALUE 999999999999999999 START WITH 1 INCREMENT BY 1 CACHE 20; --使用时 GO select next value for