oraclesequence跳号。sequence作为共享对象保存在library cache中,order 选项表示我的sequence必须是连续的,order与cache是互斥的,cache选项会造成不连续。
sequnce
SQL> exec sys.dbms_shared_pool.keep(name=>'seq_t',flag=>'Q'); PL/SQL 过程已成功完成。 已用时间: 00: 00: 00.01 SQL> select seq_t.nextval from dual; NEXTVAL ---------- 596382 已用时间: 00: 00: 00.00 SQL> select seq_t.nextval from dual; NEXTVAL ---------- 596383 已用时间: 00: 00: 00.00 SQL> alter system flush shared_pool; 系统已更改。 已用时间: 00: 00: 00.02 SQL> select seq_t.nextval from dual; NEXTVAL ---------- 596384
如果是没有keep的话,在查询下一个值的时候会出现断号,不连续问题。
dbms_shared_pool的使用要先执行
SQL> @D:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\dbmspool.sql