Oracle SQL 學(xué)習(xí)筆記13- 數(shù)據(jù)庫權(quán)限

在Oracle數(shù)據(jù)庫中,權(quán)限用于控制用戶存取,主要是為了保證系統(tǒng)安全和數(shù)據(jù)安全。根據(jù)系統(tǒng)管理方式的不同,可將權(quán)限分為系統(tǒng)權(quán)限對象權(quán)限兩類。

  • 系統(tǒng)權(quán)限:能夠存取數(shù)據(jù)庫的權(quán)限
  • 對象權(quán)限:操作數(shù)據(jù)庫對象的內(nèi)容

模式

這里模式指對象的集合,包括表、視圖、索引等。

系統(tǒng)權(quán)限

Oracle數(shù)據(jù)庫預(yù)定義的泛指權(quán)限,即對某一類對象的權(quán)限。DBA擁有最高的系統(tǒng)權(quán)限,典型的包括:

  • 創(chuàng)建用戶
  • 刪除用戶
  • 刪除表
  • 備份表
    等等

創(chuàng)建用戶

DBA使用 CREATE USER 語句來創(chuàng)建用戶。

CREATE  USER user
IDENTIFIED  BY  password; 

例如:

SQL> CREATE USER scott 
  2  IDENTIFIED BY tiger;
用戶的權(quán)限系統(tǒng)

一旦一個用戶被創(chuàng)建了,DBA就可以為這個用戶授予特殊的系統(tǒng)權(quán)限:

GRANT  privilege [, privilege...]
TO user [, user...]

一個應(yīng)用開發(fā)者可能有下列的系統(tǒng)權(quán)限:

  • 創(chuàng)建會話
  • 創(chuàng)建表
  • 創(chuàng)建序列
  • 創(chuàng)建視圖
  • 創(chuàng)建過程

角色

在數(shù)據(jù)庫中,為便于對用戶及權(quán)限進行管理,可以將一組具有相同權(quán)限的用戶組織在一起,這一組具有相同權(quán)限的用戶就稱為角色(Role)。


role.JPG
CREATE ROLE 【1】
GRANT DBA TO user_test;

改變密碼

DBA 創(chuàng)建用戶賬號,并初始化一個密碼。用戶可以使用ALTER USER語句來改變密碼。

ALTER USER scott
  IDENTIFIED BY lion;

對象權(quán)限

對某一個對象的權(quán)限。各種對象的權(quán)限是不同的。對象的擁有者具有該對象的所有權(quán)限,并且可以將該對象的部分權(quán)限授權(quán)給別人。

GRANT  object_priv [(columns)]
ON  object
TO  (user|role|PLULIC)
[WITH GRANT OPTION];

授予對象權(quán)限

授予在EMP表上進行查詢的權(quán)限:

SQL > GRANT select
  ON  emp
  TO  sue,  rich;

為用戶和角色授予Dept表上某些列的修改權(quán)限:

SQL > GRANT  update(dname,  loc)
  ON  dept
  TO  scott, manager;

驗證授權(quán)情況

數(shù)據(jù)字典表 描述
ROLE_SYS_PRIVS 授予角色的系統(tǒng)權(quán)限
ROLE_TAB_PRIVS 授予角色的表權(quán)限
USER_ROLE_PRIVS 授予當(dāng)前用戶的角色
USER_TAB_PRIVS_MADE 在用戶對象上所授予的系統(tǒng)權(quán)限情況
USER_TAB_PRIVS_RECD 授權(quán)給用戶的對象權(quán)限
USER_COL_PRIVS_MADE 在用戶對象的列上所授予的對象權(quán)限情況
USER_COL_PRIVS_RECD 授權(quán)給用戶的某些列的對象權(quán)限

回收權(quán)限

使用REOVKE來回收授權(quán)給其他用戶的權(quán)限。如果設(shè)置了CASCADE CONSTRAINTS ,那么將同時回收該用戶通過 WITH GRANT OPTION 語句授權(quán)給其他用戶的權(quán)限。

REVOKE {privilege [, privilege...]|ALL}
ON  object
FROM  {user[, user...] | role | PUBLIC}
[CASCADE CONSTRAINTS];

【1】詳細(xì)設(shè)置可以參考Oracle 官方文檔

賦予/回收權(quán)限生效

賦予/回收權(quán)限后可以立刻在session中生效。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容