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

 

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