程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle系統權限和角色權限

Oracle系統權限和角色權限

編輯:Oracle數據庫基礎

Oracle系統權限和角色權限都對用戶的權限作了相應的限制,這也在一定程度上保護了數據庫的訪問安全。下面就讓我們來一起了解一下。

Oracle系統權限

Oracle系統權限需要授予者有進行系統級活動的能力,如連接數據庫,更改用戶會話、建立表或建立用戶等等。你可以在數據字典視圖SYSTEM_PRIVILEGE_MAP上獲得完整的系統權限。

對象權限和Oracle系統權限都通過GRANT語句授予用戶或角色。需要注意的是在授予對象權限時語句應該是WITH GRANT OPTION子句,但在授予系統權象時語句是WITH ADMIN OPTION,所以在你試圖授予系統權限時,使用語句WITH GRANT OPTION系統會報告一個錯誤:ONLY ADMIN OPTION can be specifIEd。要特別注意這個語法和錯誤信息。

角色和角色權限

角色權限就是將屬於用戶的權限授予一個角色。任何權限都可以授予給一個角色。授予系統權限給被授予者必須使用WITH_ADMIN_OPTION子句,在會話期間通過SET ROLE語句授予或撤銷角色權限。

然而,角色權限不能依靠存儲在SQL中的權限。如果函數、程序、包、觸發器或者方法使用另一個計劃擁有的對象,那麼就必須直接給對象的擁有者授權,這是因為權限不會在會話之間改變。

授予和撤銷權限

給用戶或者角色授予權限使用GRANT 語句,GRANT語句的語法如下:

GRANT ROLE(或system privilege) TO user(role,Public) WITH ADMIN OPTION(可選)

對象權限被授予 WITH GRANT OPTION

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved