NOORDER如何在Oracle数据库上工作?

时间:2015-08-19 08:25:40

标签: oracle sequence

我的序列定义如下:

CREATE SEQUENCE  "myseq"  MINVALUE 1 MAXVALUE 9999999999 INCREMENT BY 1 START WITH 1046 CACHE 20 NOORDER  NOCYCLE ;

现在我的客户报告系统生成了数字429521,42952,42967,42968,直到42972,42987,4307,4308。

序列在具有两个系统的集群数据库系统上运行。这种行为可能是由NOORDER关键字引起的吗? NOORDER的Oracle文档很短。

1 个答案:

答案 0 :(得分:2)

这个选项只是不需要单独的实例来相互协调它们下次发布的值。

相反,每个实例都会获得一个可以独立绘制的值的缓存,从而提高性能。

因此,在多实例系统中,您使用NOORDER ,除非您希望序列号也指示记录具有分配给它们的序列号的顺序(通常,顺序他们被插入了。

您是否正确输入了这些数字?它们似乎非常不可能来自具有该序列的双实例系统,除非只有一个实例产生了最后40,000个左右的新值,而另一个实际上根本没有任何活动。