定义了一个sequence如下:MAXVALUE 90000000, MINVALUE 70000000,CYCLE, CACHE 100, NOORDER;在实际使用一段时间后,发现该sequence 的last_number的最后两位为非0和1的数值,如46,根据之前所知,last_number的数值取决于cache和last_number本身,那么如果每次都是以100个序号为一批提取的话,last_number的最后两位应该始终是01,但如今为何出现其它数值呢?注:该sequence已经历了一次到顶后的循环,其所在的数据库在期间也曾经历过正常关闭和启动。谢谢!
解决方案 »
- plsql或者其它oracle客户端工具连接oracle老是会断,要重新连接
- select 2>1 from dual 报错
- 请问:有关在10g版本中,Oarcle的官方文档明确指出增量备份只有0和1两种级别?
- 奇怪的事情,关于dblink在线等,高分相送....求救!!!
- oracle存储过程中用动态sql实现用户表名的改变(请oracle的pl/sql高手看看)
- 有关 oracle procedures 游标 语法问题
- ◆oracle解锁问题◆
- 软通动力成聘
- 在oracle中怎样实现sqlserver中的 isnull(tab.field,"aa") 请大家指教!!!!!!
- 求相老师oracle详细的七天体系结构视频
- 哪个有pl/sql函数和存储过程的练习题不?且有答案的,谢谢
- SQL语句执行速度慢
那么包含 20000001个值.没循环一次cache里的最大value就减1.
第一次99
第二次98
...
CREATE SEQUENCE test_seq
START WITH 70000000
INCREMENT BY 1
MAXVALUE 90000000
NOCYCLE
CACHE 100;
这个意思吗
那么包含 20000001个值.没循环一次cache里的最大value就减1.
第一次99
第二次98
...
”
没明白你的解释,你是指每循环一次,所能用到的序号总数就少1?我测试过一个小范围的循环sequence,从10到50,cache为10,多次循环后,last_number的末尾都是0,没有出现其它数值
oracle是按照cache截取sequence的.比如sequence长度为21,从10到30,cache为10.未使用时, last_number=10
第一次截取,10-19,last_number=20
第二次截取,20-29,last_number=30
第三次截取,30 ,last_number=31
第四次截取,10-19,last_number=10
-----以下循环.