NOORDER 如何在 Oracle 数据库上运行?

How does NOORDER work on Oracle databases?

我有一个定义如下的序列:

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 文档非常简短。

此选项只是消除了单独实例之间相互协调下一次发布的值的需要。

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

所以在多实例系统中,您使用 NOORDER 除非您希望序列号也指示记录分配给它们的序列号的顺序(通常, 它们的插入顺序)。

您是否正确输入了这些数字?它们似乎不太可能来自具有该序列的双实例系统,除非只有一个实例生成了最后 40,000 个左右的新值,而另一个实例几乎没有 activity。