ORACLE创建表空间、创建用户并授权

好久没有用Oracle了,快要忘的差不多了,今天没事整理一下,留个记录,便于以后查看。

ORACLE数据库被划分成称作为表空间的逻辑区域——形成ORACLE数据库的逻辑结构。一个ORACLE数据库能够有一个或多个表空间,而一个表空间则对应着一个或多个物理的数据库文件。表空间是ORACLE数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等。

例如:便于理解,把oracle数据库看作一个实在房间,表空间可以看作这个房间的空间,是可以自由分配,在这空间里面可以堆放多个箱子(箱子可以看作数据库文件),箱子里面再装物件(物件看作表)。用户指定表空间也就是你希望把属于这个用户的表放在那个房间(表空间)里面。

表空间是一个虚拟的概念可以无限大,但是需要由数据文件作为载体。

1、建立表空间

--建立临时表空间
CREATE TEMPORARY TABLESPACE temp_name
TEMPFILE 'D:\app\super\oradata\oracle\temp_name.DBF'
SIZE 50M
AUTOEXTEND ON
NEXT 50M MAXSIZE 20480M
EXTENT MANAGEMENT LOCAL;

--建立表空间
CREATE TEMPORARY TABLESPACE test_name
TEMPFILE 'D:\app\super\oradata\oracle\test_name.DBF'
SIZE 50M
AUTOEXTEND ON
NEXT 50M MAXSIZE 20480M
EXTENT MANAGEMENT LOCAL;

2、创建用户并关联表空间

CREATE USER userName IDENTIFIED BY password
DEFAULT TABLESPACE test_name  --表空间
TEMPORARY TABLESPACE temp_name; -- 临时表空间,关联任意一个都行

-- 创建表的时候没有关联表空间
CREATE USER userName IDENTIFIED BY PASSWORD;

--修改用户表空间
ALTER USER username DEFAULT TABLESPACE test_name;

3、用户授权\撤销授权

Oracle提供三种标准角色(role):connect/resource/dba。

a、connect role(连接角色)

临时用户,特指不需要建表的用户,通常只赋予他们connect role.

connect是使用oracle简单权限,这种权限只对其他用户的表有访问权限,包括select/insert/update和delete等。
拥有connect role 的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym)、回话(session)和其他 数据的链(link)。

b、resource role(资源角色)

更可靠和正式的数据库用户可以授予resource role。

resource提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。

c、dba role(数据库管理员角色)

dba role拥有所有的系统权限。

--给用户授权
GRANT CONNECT,RESOURCE,DBA TO userName;

--撤销用户权限
REVOKE CONNECT,RESOURCE FROM userName;

4、删除表空间

--删除表空间
DROP TABLESPACE test_name INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章