Oracle sequence的基本概念與理解
阿新 • • 發佈:2018-04-13
side frame create varchar2 inf sel *** 順序 -s
1.如何查看sequence的定義
2.dba_sequences相關字的定義
3.如何修改sequence
**********************************************************************************************************************************************************
**********************************************************************************************************************************************************
1.如何查看sequence的定義
SQL>SELECT DBMS_METADATA.GET_DDL(‘SEQUENCE‘,‘SEQ_SMECUSTPERIODINFO‘,‘CLMS01‘) FROM DUAL;
CREATE SEQUENCE "CLMS01"."SEQ_SMECUSTPERIODINFO" MINVALUE 1 MAXVALUE 999999
9999 INCREMENT BY 1 START WITH 8798675575 CACHE 20 ORDER NOCYCLE --START WITH 8798675575 此值為dba_sequneces中的LAST_NUMBER,比較奇怪!!
2.dba_sequences相關字的定義
Column | Datatype | NULL | Description |
---|---|---|---|
SEQUENCE_OWNER |
VARCHAR2(30) |
NOT NULL |
Owner of the sequence |
SEQUENCE_NAME |
VARCHAR2(30) |
NOT NULL |
Sequence name |
MIN_VALUE |
NUMBER |
Minimum value of the sequence | |
MAX_VALUE |
NUMBER |
Maximum value of the sequence | |
INCREMENT_BY |
NUMBER |
NOT NULL |
Value by which sequence is incremented |
CYCLE_FLAG |
VARCHAR2(1) |
Indicates whether the sequence wraps around on reaching the limit (Y ) or not (N ) |
|
ORDER_FLAG |
VARCHAR2(1) |
Indicates whether sequence numbers are generated in order (Y ) or not (N ) |
|
CACHE_SIZE |
NUMBER |
NOT NULL |
Number of sequence numbers to cache |
LAST_NUMBER |
NUMBER |
NOT NULL |
Last sequence number written to disk. If a sequence uses caching, the number written to disk is the last number placed in the sequence cache. This number is likely to be greater than the last sequence number that was used. |
- CYCLE_FLAG:標誌sequence是否循環使用(到最大值之後變為最小值)
- ORDER_FLAG:標誌sequence是否是按照順序生成。
- CACHE_SIZE:標誌內存中緩存的sequence個數(保存在shared pool中),設置較小時會出現row cache lock的等待事件。
- LAST_NUMBER:不太好理解。
3.如何修改sequence
Oracle sequence的基本概念與理解