oracle的用戶權(quán)限:1、系統(tǒng)權(quán)限,允許用戶執(zhí)行特定的數(shù)據(jù)庫動作的權(quán)限,包括了創(chuàng)建表、索引、連接實(shí)例等等;2、對象權(quán)限,允許用戶操作特定對象的權(quán)限,包括了讀取視圖、執(zhí)行存儲過程等等。
本教程操作環(huán)境:Windows10系統(tǒng)、Oracle 11g版、Dell G3電腦。
oracle的用戶權(quán)限有哪些
系統(tǒng)權(quán)限: 允許用戶執(zhí)行特定的數(shù)據(jù)庫動作,如創(chuàng)建表、創(chuàng)建索引、連接實(shí)例等(對用戶而言)
對象權(quán)限: 允許用戶操縱一些特定的對象,如讀取視圖,可更新某些列、執(zhí)行存儲過程等(是針對表或視圖而言的)
1.系統(tǒng)權(quán)限
超過一百多種有效的權(quán)限(SELECT * FROM SYSTEM_PRIVILEGE_MAP查)
數(shù)據(jù)庫管理員具有高級權(quán)限以完成管理任務(wù),例如:
-
–創(chuàng)建新用戶
-
–刪除用戶
-
–刪除表
-
–備份表
系統(tǒng)權(quán)限分類:
-
DBA: 擁有全部特權(quán),是系統(tǒng)最高權(quán)限,只有DBA才可以創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)。
-
RESOURCE:擁有Resource權(quán)限的用戶只可以創(chuàng)建實(shí)體,不可以創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)。
-
CONNECT:擁有Connect權(quán)限的用戶只可以登錄Oracle,不可以創(chuàng)建實(shí)體,不可以創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)。
-
對于普通用戶:授予connect, resource權(quán)限。
-
對于DBA管理用戶:授予connect,resource, dba權(quán)限。
a.常用的系統(tǒng)權(quán)限:
-
CREATE SESSION 創(chuàng)建會話
-
CREATE SEQUENCE 創(chuàng)建序列
-
CREATE SYNONYM 創(chuàng)建同名對象
-
CREATE TABLE 在用戶模式中創(chuàng)建表
-
CREATE ANY TABLE 在任何模式中創(chuàng)建表
-
DROP TABLE 在用戶模式中刪除表
-
DROP ANY TABLE 在任何模式中刪除表
-
CREATE PROCEDURE 創(chuàng)建存儲過程
-
EXECUTE ANY PROCEDURE 執(zhí)行任何模式的存儲過程
-
CREATE USER 創(chuàng)建用戶
-
DROP USER 刪除用戶
-
CREATE VIEW 創(chuàng)建視圖
2.對象權(quán)限
不同的對象具有不同的對象權(quán)限
對象的擁有者擁有所有權(quán)限
對象的擁有者可以向外分配權(quán)限
ORACLE一共有種對象權(quán)限
對象權(quán)限 表 視圖 序列 過程
-
修改(alter)
-
刪除(delete)
-
執(zhí)行(execute)
-
索引(index)
-
插入(insert)
-
關(guān)聯(lián)(references)
-
選擇(select)
-
更新(update)
另外,connect和resource的權(quán)限如下所示
CONNECT角色:僅具有創(chuàng)建SESSION的權(quán)限
RESOURCE角色:僅具有創(chuàng)建CLUSTER,INDEXTYPE,OPERATOR,PROCEDEURE,SEQUENCE,TABLE,TRIGGER,TYPE的權(quán)限。
同時(shí),當(dāng)把ORACLE resource角色授予一個(gè)user的時(shí)候,不但會授予ORACLE resource角色本身的權(quán)限,而且還有unlimited tablespace權(quán)限,但是,當(dāng)把resource授予一個(gè)role時(shí),就不會授予unlimited tablespace權(quán)限。
確實(shí)沒有創(chuàng)建視圖的權(quán)限,由此看來如果需要創(chuàng)建視圖權(quán)限,只能單獨(dú)授權(quán):
GRANT CREATE VIEW TO 用戶;
推薦教程:《Oracle視頻教程》