好久沒有用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