1. 程式人生 > >Oracle 序列,表空間

Oracle 序列,表空間

sql 一個表 及其 sta 一個 oca 控制 數據 seq

oracle 數據庫將表空間劃分成邏輯區域,形成邏輯結構,一個oracle有一個或多個表空間,一個表空間對應著多個數據庫文件,表空間是oracle恢復數據的最小單元

,容納著很多數據庫實體,聚簇,回退段

表空間作用:

決定數據庫的數據分配

備份和恢復

分布於不同數據設備之間,提高性能

CREATE CLUSTER --建立聚簇
CREATE PROCEDURE --建立過程
CREATE SEQUENCE --建立序列
CREATE TABLE --建表
CREATE TRIGGER --建立觸發器
CREATE TYPE --建立類型
CREATE OPERATOR --創建操作者
CREATE INDEXTYPE --創建索引類型

******序列****

sequence序列號生成器

創建序列需要CREATE SEQUENCE系統權限。序列的創建語法如下:

CREATE SEQUENCE 序列名

  [INCREMENT BY n] 1.表示定義步長,則默認為1

  [START WITH n] 2.start with 產生的第一個值

  [{MAXVALUE/ MINVALUE n| NOMAXVALUE}] 3 定義序列中產生的最大值

  [{CYCLE|NOCYCLE}] 表示是否循環

  [{CACHE n| NOCACHE}]; 緩沖 定義存放內存的大小 默認為20 nocache 表示不對內存的序列緩存,對序列進行緩存可以改善數據的性能

7) NEXTVAL 返回序列中下一個有效的值,任何用戶都可以引用。

8) CURRVAL 中存放序列的當前值,NEXTVAL 應在 CURRVAL 之前指定 ,二者應同時有效。

對於普通用戶:授予connect, resource權限。
對於DBA管理用戶:授予connect,resource, dba權限。

在oracle中sequence就是所謂的序列號,每次取的時候它會自動增加,一般用在需要按序列號排序的地方。
1、Create Sequence
你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE權限,


CREATE SEQUENCE emp_sequence
INCREMENT BY 1 -- 每次加幾個
START WITH 1 -- 從1開始計數
NOMAXVALUE -- 不設置最大值
NOCYCLE -- 一直累加,不循環
CACHE 10;

權限和角色

可以控制在sql,和特定對象的授權

給用戶授權

grant connect,resource to [username] 給哪個用戶授權

同義詞***********************************************************

同義詞可以分為 公有同義詞,私有同義詞,不占用空間

作用:屏蔽對象的名字及其持有者,為用戶簡化SQL語句

Oracle 序列,表空間