Oracle 序列,表空间

Posted liuzhe01

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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语句

 

















以上是关于Oracle 序列,表空间的主要内容,如果未能解决你的问题,请参考以下文章

oracle修改表的表空间

oracle导入表结构时报表空间不存在,该怎么解决?

Oracle基本操作

Oracle 序列

Oracle基础入门

oracle的表空间是啥