时间:2021-07-01 10:21:17 帮助过:32人阅读
select ‘drop sequence ‘||sequence_owner||‘.‘||sequence_name||‘;‘||CHR(10)|| ‘create sequence ‘||sequence_owner||‘.‘||sequence_name || ‘ start with ‘||to_char(last_number+1) || ‘ increment by ‘||increment_by || ‘ minvalue ‘||min_value || ‘ MAXVALUE ‘|| MAX_VALUE || ‘ cache ‘||decode(cache_size,0,20,cache_size) || decode(cycle_flag,‘N‘,‘ NOCYCLE‘,‘ CYCLE‘) || decode(order_flag,‘N‘,‘ NOORDER‘,‘ ORDER‘) || ‘;‘ from dba_sequences where sequence_owner not in (‘SYS‘,‘SYSTEM‘,‘OUTLN‘,‘TSMSYS‘,‘ORACLE_OCM‘,‘DBSNMP‘, ‘SYSMAN‘,‘XDB‘,‘OLAPSYS‘,‘APEX_030200‘,‘MDSYS‘,‘ORDDATA‘,‘CTXSYS‘, ‘WMSYS‘,‘DBMON‘,‘EXFSYS‘,‘HR‘,‘SCOTT‘,‘IX‘);
在创建序列的语句中有两个参数需要关注,[no]cache 和[no]order.
下面是测试结果:
节点1, # 号后面的内存是我后面添加的注释。
# 创建序列,采用noorder . SQL> create sequence sq1 start with 1 increment by 1 cache 2000 noorder; Sequence created. # 取出本节点的第一个序列值。 SQL> select sq1.nextval from dual; NEXTVAL ---------- 1 # 查看实例编号,然后去节点2查看序列的下一个值 SQL> select instance_number from v$instance; INSTANCE_NUMBER --------------- 1
节点2:
# 查看序列的下一个值。 SQL> select sq1.nextval from dual; NEXTVAL ---------- 2001
节点1示例如下:
# 删除之前创建的序列 SQL> drop sequence sq1; Sequence dropped. # 创建序列,cache 设置为2000,与上一次测试一致。不同的是 noorder 改为 order. SQL> create sequence sq1 start with 1 increment by 1 cache 2000 order; Sequence created. # 取当前实例的序列值,然后去节点2执行相同的语句 SQL> select sq1.nextval from dual; NEXTVAL ---------- 1 # 查看实例编号 SQL> select instance_number from v$instance; INSTANCE_NUMBER --------------- 1 # 去节点2查看序列的下一个值,修改时间显示格式, SQL> alter session set nls_date_format=‘yyyy-mm-dd hh24:mi:ss‘; Session altered. # 由于只查询序列值,无法判断两次查询的先后,所以加了查询时的时间 SQL> select sq1.nextval,sysdate from dual; NEXTVAL SYSDATE ---------- ------------------- 3 2019-12-15 21:48:16
节点2查询:
# 查看实例编号 SQL> select instance_number from v$instance; INSTANCE_NUMBER --------------- 2 # 查看序列的下一个值,此操作在节点1的第一次查询后执行。 SQL> select sq1.nextval from dual; NEXTVAL ---------- 2 # 查看序列的下一个值。由于此语句执行加上了时间,可以判断是在序列值为3后操作的。 SQL> select sq1.nextval,sysdate from dual; NEXTVAL SYSDATE ---------- ------------------- 4 2019-12-15 21:48:23
Created: 2019-12-15 Sun 22:50
Validate
Oracle Sequence
标签:自己的 session 先后 修改时间 oge ace contain sas family