时间: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