標籤:
1.暫存資料表空間和資料表空間的區別
資料表空間:此空間是用來進行資料存放區的(表、function、預存程序等),所以是實際實體儲存體地區。
暫存資料表空間:主要用途是在資料庫進行排序運算[如建立索引、order by及group by、distinct、union/intersect/minus/、sort-merge及join、analyze命令]、
管理索引[如建立索 引、IMP進行資料匯入]、訪問視圖等操作時提供臨時的運算空間,當運算完成之後系統會自動清理。
因為用途不同所以才有了區分,實際上資料庫都是有預設臨時空間的,但實際應用中很難滿足需求,所以才需要自己建立臨時空間。
2. 建立暫存資料表空間
CREATE TEMPORARY TABLESPACE test_tempTEMPFILE ‘D:\Oracle_Database\oradata\orcl\test_temp01.dbf‘SIZE 32MAUTOEXTEND ONNEXT 32M MAXSIZE 2048MEXTENT MANAGEMENT LOCAL;
SIZE:初始大小
AUTOEXTEND ON NEXT :自動成長,當初始大小不足時,再分配多少空間。
MAXSIZE:最大空間,空間大小上限。
3.建立資料表空間
CREATE TABLESPACE test_dataLOGGINGDATAFILE ‘D:\Oracle_Database\oradata\orcl\TEST_DATA01.DBF‘ SIZE 32M AUTOEXTEND ON NEXT 32M MAXSIZE 2048MEXTENT MANAGEMENT LOCAL;
SIZE:初始大小
AUTOEXTEND ON NEXT :自動成長,當初始大小不足時,再分配多少空間。
MAXSIZE:最大空間,空間大小上限。
4.建立使用者並分配資料表空間
CREATE USER username IDENTIFIED BY passwordDEFAULT TABLESPACE TEST_DATATEMPORARY TABLESPACE TEST_TEMP;
另註:為已建好的使用者更改資料表空間
ALTER USER USERNAME DEFAULT TABLESPACE TABLESPACENAME;
5.給使用者授予許可權
在Oracle資料庫中,許可權分為兩類:系統許可權、實體許可權(對象許可權)。
系統許可權:系統規定使用者使用資料庫的許可權(系統許可權是對使用者而言)。
實體許可權:某種許可權使用者對其它使用者的表或視圖的存取許可權(是針對錶或視圖而言的)。
通產情況下,我們建立好了一個使用者後,直接賦予系統許可權,在普通使用者常見完成後,一般使用下面語句進行許可權的賦予
便可滿足要求:
GRANT CONNECT,RESOURCE TO USER;
常用的系統管理許可權:
DBA: 擁有全部特權,是系統最高許可權,只有DBA才可以建立資料庫結構。
RESOURCE:擁有RESOURCE許可權的使用者只可以建立實體,不可以建立資料庫結構。
CONNECT:擁有CONNECT許可權的使用者只可以登入Oracle,不可以建立實體,不可以建立資料庫結構。
對於普通使用者:授予CONNECT, RESOURCE許可權。
對於DBA系統管理使用者:授予CONNECT,RESOURCE, DBA許可權。
系統許可權授權命令:
系統許可權只能由DBA使用者授出:SYS, SYSTEM(最開始只能是這兩個使用者)
授權命令:grant connect, resource, dba to 使用者名稱1 [,使用者名稱2]...;
GrANT CONNECT,RESOURCE,DBA TO 使用者名稱1 [使用者名稱2]...;
注:普通使用者通過授權可以具有與system相同的使用者權限,但永遠不能達到與sys使用者相同的許可權,system使用者的許可權也可以被回收。
相關許可權查詢語句:
查詢使用者擁有那些許可權:
SELECT * FROM DBA_ROLE_PRIVS;SELECT * FROM DBA_SYS_PRIVS;SELECT * FROM DBA_SYS_PRIVS;
查自己擁有哪些系統許可權
SELECT * FROM SESSION_PRIVS;
常用的實體許可權:
grant create session to zhangsan;//授予zhangsan使用者建立session的許可權,即登陸許可權 grant unlimited tablespace to zhangsan;//授予zhangsan使用者使用資料表空間的許可權 grant create table to zhangsan;//授予建立表的許可權 grante drop table to zhangsan;//授予刪除表的許可權 grant insert table to zhangsan;//插入表的許可權 grant update table to zhangsan;//修改表的許可權 grant all to public;//這條比較重要,授予所有許可權(all)給所有使用者(public)
oralce對許可權管理比較嚴謹,普通使用者之間也是預設不能互相訪問的,需要互相授權:
grant select on tablename to zhangsan;//授予zhangsan查看指定表的許可權 grant drop on tablename to zhangsan;//授予zhangsan刪除指定表表的許可權 grant insert on tablename to zhangsan;//授予zhangsan插入指定表的許可權 grant update on tablename to zhangsan;//授予修改表的許可權 grant insert(id) on tablename to zhangsan; grant update(id) on tablename to zhangsan;//授予zhangsan對指定表特定欄位的插入和修改許可權,注意,只能是insert和update grant alert all table to zhangsan;//授予zhangsan使用者alert任意表的許可權
一般情況下,使用下面一句便可滿足:
GRANT CONNECT,RESOURCE TO USER;
6.撤銷許可權
基本文法同grant,關鍵字為revoke
參考:
Oracle 使用者、對象許可權、系統許可權
Oracle許可權管理詳解(原創)
ORACLE暫存資料表空間總結
Oracle建立資料表空間、建立使用者以及授權、查看許可權
oracle使用者建立及使用權限設定
Oracle資料庫添加使用者