ITPub博客

首页 > 数据库 > Oracle > RAC_Sequence序列号的使用

RAC_Sequence序列号的使用

原创 Oracle 作者:lusklusklusk 时间:2017-09-01 11:18:52 0 删除 编辑
[CACHE integer | NOCACHE] --指定数据库内存中预分配的序列值个数,最小cache值为2 |不指定缓存数
默认值是cache 20
[ORDER | NOORDER] --指定order条件保证序列按请求顺序生成|不保证序列按请求顺序生成
默认值是NOORDER


单机 sequence都是order的。就算加了noorder,结果还是order。
RAC sequence才有真正的order和noorder
order:两个节点保持一样的order
noorder:如果使用了nocache,两个节点保持一样的order
     如果使用了cache,两个节点不order,但各节点内部order



SQL> show parameter instance_name
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
instance_name                        string      PLMDB2
SQL> create sequence SEQ_T1 start with 10 maxvalue 100000 cache 2000 noorder;
Sequence created.
SQL> select SEQ_T1.nextval from dual;
   NEXTVAL
----------
        10
SQL> select SEQ_T1.nextval from dual;
   NEXTVAL
----------
        11

SQL> show parameter instance_name
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
instance_name                        string      PLMDB1
SQL> select SEQ_T1.nextval from dual;
   NEXTVAL
----------
      2010
SQL> select SEQ_T1.nextval from dual;
   NEXTVAL
----------
      2011





SQL> show parameter instance_name
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
instance_name                        string      PLMDB2
SQL> create sequence SEQ_T2 start with 10 maxvalue 100000 nocache noorder;
Sequence created.
SQL> select SEQ_T2.nextval from dual;
   NEXTVAL
----------
        10
SQL> select SEQ_T2.nextval from dual;
   NEXTVAL
----------
        11

SQL> show parameter instance_name
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
instance_name                        string      PLMDB1
SQL> select SEQ_T2.nextval from dual;
   NEXTVAL
----------
        12
SQL> select SEQ_T2.nextval from dual;
   NEXTVAL
----------
        13




SQL> show parameter instance_name
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
instance_name                        string      PLMDB2
SQL> create sequence SEQ_T3 start with 10 maxvalue 100000 noorder;
Sequence created.
SQL> select SEQ_T3.nextval from dual;
   NEXTVAL
----------
        10
SQL> select SEQ_T3.nextval from dual;
   NEXTVAL
----------
        11

SQL> show parameter instance_name
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
instance_name                        string      PLMDB1
SQL> select SEQ_T3.nextval from dual;
   NEXTVAL
----------
        30
SQL> select SEQ_T3.nextval from dual;
   NEXTVAL
----------
        31



SQL> show parameter instance_name
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
instance_name                        string      PLMDB2
SQL> create sequence SEQ_T4 start with 10 maxvalue 100000 order;
Sequence created.
SQL> select SEQ_T4.nextval from dual;
   NEXTVAL
----------
        10
SQL> select SEQ_T4.nextval from dual;
   NEXTVAL
----------
        11

SQL> show parameter instance_name
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
instance_name                        string      PLMDB1
SQL> select SEQ_T4.nextval from dual;
   NEXTVAL
----------
        12
SQL> select SEQ_T4.nextval from dual;
   NEXTVAL
----------
        13

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30126024/viewspace-2144396/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Welcome to Lukes DB HOME。 Oracle OCM、Mysql OCP, 10年DBA工作经验,博客仅记录自己的一个学习过程,不代表完全准确,如有需要,欢迎转载。

注册时间:2015-02-02

  • 博文量
    348
  • 访问量
    1175008