1、序列的创建:
CREATE SEQUENCE SEQUENCE_NAME
INCREMENT BY n
START WITH n
MAXVALUE n | NOMAXVALUE
MINVALUE n | NOMINVALUE
CYCLE | NOCYCLE
CACHE n | NOCACHE | ORDER;
相关参数说明:
INCREMENT BY n 序列递增幅度
START WITH n 序列开始值
MAXVALUE n 序列最大值
MINVALUE n 序列最小值
CYCLE 序列序号循环使用
CACHE n 序列序号缓存个数,默认20个,默认NOORDER模式。
CACHE n ORDER 在RAC中共用一个SEQUENCE的CACHE,NOORDER不共用CACHE。
数据字典:user_sequences,all_sequences,dba_sequences
SELECT * FROM USER_SEQUENCES WHERE SEQUENCE_NAME = 'SEQUENCE_NAME';
2、序列的管理:
可以修改的值:增幅、最大值、最小值、循环使用、缓存。
不能修改的值:开始值。
修改开始值必须删除重建。
ALTER SEQUENCE SEQUENCE_NAME
INCREMENT BY n
MAXVALUE n
MINVALUE n
CYCLE
CACHE n;
删除以及授权:
DROP SEQUENCE sequence_name;
GRANT SELECT ON sequence_name TO user_name;
GRANT ALTER ANY SEQUENCE;
3、序列的使用:
NEXTVAL 下一个序号
CURRVAL 当前的序号
例:
SELECT sequence_name.nextval FROM dual;
SELECT sequence_name.currval FROM dual;
发生回滚后,序列不能回滚,会发生序列号不连续的情况。
4、Cache设置注意事项:
NOCACHE不会造成序列跳号,但是并发性能比较差,会造成row cache lock等待事件。
在RAC环境中SEQUENCE CACHE适量的设置大一点,避免序列竞争导致,如每秒会有上万次SELECT,
并发量很大cache需要设置为100甚至1000以上。
不同cache模式的等待事件:
NOCACHE --> row cache lock
CAHCE+NOORDER --> enq: SQ-contention(SQ lock)
CACHE+ORDER(RAC) --> DFS look handle(SV lock)
CREATE SEQUENCE SEQUENCE_NAME
INCREMENT BY n
START WITH n
MAXVALUE n | NOMAXVALUE
MINVALUE n | NOMINVALUE
CYCLE | NOCYCLE
CACHE n | NOCACHE | ORDER;
相关参数说明:
INCREMENT BY n 序列递增幅度
START WITH n 序列开始值
MAXVALUE n 序列最大值
MINVALUE n 序列最小值
CYCLE 序列序号循环使用
CACHE n 序列序号缓存个数,默认20个,默认NOORDER模式。
CACHE n ORDER 在RAC中共用一个SEQUENCE的CACHE,NOORDER不共用CACHE。
数据字典:user_sequences,all_sequences,dba_sequences
SELECT * FROM USER_SEQUENCES WHERE SEQUENCE_NAME = 'SEQUENCE_NAME';
2、序列的管理:
可以修改的值:增幅、最大值、最小值、循环使用、缓存。
不能修改的值:开始值。
修改开始值必须删除重建。
ALTER SEQUENCE SEQUENCE_NAME
INCREMENT BY n
MAXVALUE n
MINVALUE n
CYCLE
CACHE n;
删除以及授权:
DROP SEQUENCE sequence_name;
GRANT SELECT ON sequence_name TO user_name;
GRANT ALTER ANY SEQUENCE;
3、序列的使用:
NEXTVAL 下一个序号
CURRVAL 当前的序号
例:
SELECT sequence_name.nextval FROM dual;
SELECT sequence_name.currval FROM dual;
发生回滚后,序列不能回滚,会发生序列号不连续的情况。
4、Cache设置注意事项:
NOCACHE不会造成序列跳号,但是并发性能比较差,会造成row cache lock等待事件。
在RAC环境中SEQUENCE CACHE适量的设置大一点,避免序列竞争导致,如每秒会有上万次SELECT,
并发量很大cache需要设置为100甚至1000以上。
不同cache模式的等待事件:
NOCACHE --> row cache lock
CAHCE+NOORDER --> enq: SQ-contention(SQ lock)
CACHE+ORDER(RAC) --> DFS look handle(SV lock)
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24070945/viewspace-711771/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24070945/viewspace-711771/