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:oracleproduct10.2.0db_1RDBMSADMINdbmspool.sql