Oracle 序列,表空间
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语句