这是正常的,是的.从

documentation for the all_sequences data dictionary view开始,last_number是:

Last sequence number written to disk. If a sequence uses caching, the number written to disk is the last number placed in the sequence cache. This number is likely to be greater than the last sequence number that was used.

这可以使用新的序列重新创建:

SQL> create sequence SEQ_PAGE_ID start with 2222292436 increment by 1 cache 20;

sequence SEQ_PAGE_ID created.

SQL> select sequence_name, increment_by, cache_size, last_number

2 from user_sequences where sequence_name = 'SEQ_PAGE_ID';

SEQUENCE_NAME INCREMENT_BY CACHE_SIZE LAST_NUMBER

------------------------------ ------------ ---------- -----------

SEQ_PAGE_ID 1 20 2222292436

SQL> select SEQ_PAGE_ID.nextval from dual;

NEXTVAL

----------

2222292436

SQL> select sequence_name, increment_by, cache_size, last_number

2 from user_sequences where sequence_name = 'SEQ_PAGE_ID';

SEQUENCE_NAME INCREMENT_BY CACHE_SIZE LAST_NUMBER

------------------------------ ------------ ---------- -----------

SEQ_PAGE_ID 1 20 2222292456

last_number跳过缓存大小,这是正常的.

SQL> alter sequence SEQ_PAGE_ID CACHE 5000;

sequence SEQ_PAGE_ID altered.

SQL> select sequence_name, increment_by, cache_size, last_number

2 from user_sequences where sequence_name = 'SEQ_PAGE_ID';

SEQUENCE_NAME INCREMENT_BY CACHE_SIZE LAST_NUMBER

------------------------------ ------------ ---------- -----------

SEQ_PAGE_ID 1 5000 2222292437

last_number下降,但现在反映了生成的实际最后序列号. DDL(显然)导致写入磁盘的数据被更新以反映当前值,而不是缓存的顶部 – 旧的20值缓存或新的5000值缓存.在你的情况下,你得到了2222292447,这意味着你通过缓存进一步的值比我运行alter时的十个值.

保存到磁盘的值大部分存在,因此如果数据库崩溃,它知道从哪里拿起.重新启动时,序列将开始从记录的last_number生成数字.在正常运行期间,它不需要再引用它,它只是在缓存新值时更新磁盘上的值.这可以防止序列号在崩溃后重新发布,而不需要进行昂贵的(慢速)锁定来实时维护该值 – 毕竟这是缓存所要避免的.

如果last_value低于实际生成的序列,则只会出现问题,但这不会发生. (好吧,除非序列设置为循环).

SQL> select SEQ_PAGE_ID.nextval from dual;

NEXTVAL

----------

2222292437

生成的下一个序列号从高速缓存大小改变之前的最后一个序列号开始;它没有重用旧值,因为你可能一直担心字典值.

SQL> select sequence_name, increment_by, cache_size, last_number

2 from user_sequences where sequence_name = 'SEQ_PAGE_ID';

SEQUENCE_NAME INCREMENT_BY CACHE_SIZE LAST_NUMBER

------------------------------ ------------ ---------- -----------

SEQ_PAGE_ID 1 5000 2222297437

last_number现在显示先前存储的值增加了5000的缓存大小.数据字典中的内容现在不会再次更改,直到我们从缓存中消耗了所有5000个值,或者其他地方发生了影响它的事情 – 数据库被弹跳,序列被再次改变,等等

oracle sequence last_number,关于oracle序列的LAST_NUMBER相关推荐

  1. oracle sequence使用多,Oracle中Sequence使用的限制

    在使用Oracle序列的currval和nextval时的限制 创建一个序列 create sequence test_seq minvalue 1 maxvalue 10000000 start w ...

  2. oracle SEQUENCE 创建, 修改,删除

    oracle创建序列化: CREATE SEQUENCE seq_itv_collection             INCREMENT BY 1  -- 每次加几个               S ...

  3. 【转】oracle sequence

    原文链接  http://www.cnblogs.com/hyzhou/archive/2012/04/12/2444158.html ORACLE SEQUENCE用法 在oracle中sequen ...

  4. oracle 查询公有同义词,Oracle序列(sequence),OracleRUNNUM和Oracle同义词(synonyms)

    一团网资讯 一团资讯 > oracle > Oracle序列(sequence),OracleRUNNUM和Oracle同义词(synonyms)... Oracle序列(sequence ...

  5. sequence oracle mysql,oracle sequence转mysql(mysql实现oracle的sequence功能)

    最近项目上在做数据转移工作,需要把oracle转为mysql,在转换oracle储存过程中遇见这样一句sql,查的是序列号的下一个值 由于mysq只有递增列的概念没有oracle的sequence功能 ...

  6. Oracle Sequence

    Sequence是数据库系统按照一定规则自动增加的数字序列.这个序列一般作为代理主键(因为不会重复),没有其他任何意义. Sequence是数据库系统的特性,有的数据库有Sequence,有的没有.比 ...

  7. [数据库] Navicat for Oracle设置唯一性和递增序列实验

    这篇文章主要讲述Navicat for Oracle设置唯一性约束和设置某字段为递增序列.文章主要以图文为主,虽然都是非常简单基础的文章,但还是希望对你有所帮助. 推荐前一篇文章:[数据库] Navi ...

  8. oracle sequence 应用,oracle应用之使用sequence批量写数据

    本博客是对之前写的博客Oracle批量新增更新数据的补充,oracle的知识真是多,其实要学精任何一门知识都是要花大量时间的,正所谓: 学如逆水行舟,不进则退 先介绍oracle sequence的一 ...

  9. oracle 视图、索引、序列、同义词

    目录 1.视图对象 1.1创建视图 1)简单视图 2)建立只读视图 3)复杂视图 1.2管理视图 1)查看视图定义 2)修改视图定义 3)重新编译视图 4)删除视图 2.索引 2.1索引概述 2.2创 ...

最新文章

  1. Python 基础三:基础数据类型和字符串的常用函数操作
  2. 为什么Python是数据科学领域最受欢迎的语言
  3. 六边形溯源追踪算法编程思想与代码
  4. 【白话机器学习】算法理论+实战之关联规则
  5. boost::system::generic_category相关的测试程序
  6. 腾讯大数据星火计划--Angel技术沙龙 对外报名正式启动!
  7. php包括web前端,web前端包括什么技术?
  8. VSCode配合eslint进行JavaScript质量检查
  9. char a[]和char *a的比较,数组名,数组首地址,a,a,a[0]
  10. MySQL 数据库导出导入操作
  11. 不规则对话框的又一实现
  12. Python入门8_方法,属性,迭代器
  13. TutorialGateway 中文系列教程【翻译完成】
  14. 产品管理有行业特殊性吗
  15. DXGI_FORMAT enumeration (dxgiformat.h)
  16. Unity坦克大战完整源码
  17. copy uncode Cstring
  18. UVALive - 8270 A Partial Order Relation 哈斯图边数
  19. 为什么用于开关电源的开关管一般用MOS管而不是三极管
  20. 炔烃/NH2/COOH/NHS ester/N3/酰胫/马来酰亚胺/四嗪/DBCO/C12/鬼笔环肽等基团修饰BODIPY558/568

热门文章

  1. python字符串字面量有哪四种定义方式_Python学习笔记(四)字符串型
  2. flock lock ex php,php – flock有可能用LOCK_EX返回false吗?
  3. arcore之路-unity开发从入门到实践_Unity游戏开发——单例模式的最佳实践
  4. python dropna失败_使用Python部署机器学习模型的10个实践经验
  5. 3d人脸识别算法opencv_热招职位算法类
  6. Spring开发环境搭建和第一个示例程序
  7. 计算机学院寝室文明风景线活动,小猿关注 | 营造良好学风 打造和谐宿舍 ——计算机学院开展学风主题教育暨文明宿舍评选活动...
  8. 你每隔多久使用计算机上网查找资料英文,牛津英语8B Unit3导学案
  9. php调用数据二行一组,PHPCMS v9指定行数从第2条或第N条开始调用数据的方法
  10. 擦窗机器人测试标准_擦窗机器人,我选择玻妞的三个理由!