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

Oracle權限分類及其具體內容

編輯:Oracle數據庫基礎

權限是用戶對一項功能的執行權力。在Oracle中,根據系統管理方式不同,將Oracle權限分為系統權限與實體權限兩類。系統權限是指是否被授權用戶可以連接到數據庫上,在數據庫中可以進行哪些系統操作。而實體權限是指用戶對具體的模式實體(schema)所擁有的權限。

一、Oracle權限分類: 

系統權限:系統規定用戶使用數據庫的權限。(系統權限是對用戶而言)。
實體權限:某種權限用戶對其它用戶的表或視圖的存取權限。(是針對表或視圖而言的)。

二、Oracle權限管理中的系統權限管理:

1.系統權限分類:
DBA: 擁有全部特權,是系統最高權限,只有DBA才可以創建數據庫結構。
RESOURCE:擁有Resource權限的用戶只可以創建實體,不可以創建數據庫結構。
CONNECT:擁有Connect權限的用戶只可以登錄Oracle,不可以創建實體,不可以創建數據庫結構。
對於普通用戶:授予connect, resource權限。
對於DBA管理用戶:授予connect,resource, dba權限。

2.系統權限授權命令:
[系統權限只能由DBA用戶授出:sys, system(最開始只能是這兩個用戶)]
授權命令:SQL> grant connect, resource, dba to 用戶名1 [,用戶名2]...;
[普通用戶通過授權可以具有與system相同的用戶權限,但永遠不能達到與sys用戶相同的權限,system用戶的權限也可以被回收。]
例:
SQL> connect system/manager
SQL> Create user user50 identifIEd by user50;
SQL> grant connect, resource to user50;
查詢用戶擁有哪裡權限:
SQL> select * from dba_role_privs;
SQL> select * from dba_sys_privs;
SQL> select * from role_sys_privs;
刪除用戶:SQL> drop user 用戶名 cascade;  //加上cascade則將用戶連同其創建的東西全部刪除

4.系統權限傳遞:
增加WITH ADMIN OPTION選項,則得到的權限可以傳遞。
SQL> grant connect, resorce to user50 with admin option;  //可以傳遞所獲權限。

5.系統權限回收:系統權限只能由DBA用戶回收
命令:SQL> Revoke connect, resource from user50;
系統權限無級聯,即A授予B權限,B授予C權限,如果A收回B的權限,C的權限不受影響;系統權限可以跨用戶回收,即A可以直接收回C用戶的權限。

三、Oracle權限管理中的實體權限管理
 
1.實體權限的授命令
語法如下:
GRANT 實體權限名|ALL TO 用戶|角色|PUBLIC
其中,ALL表示實體的所有實體權限。
如:SQL>GRANT SELECT ON BOOKS_QUTHORS TO USER1;

2.用來查詢表的實體權限的授權信息:SQL>SELECT * FROM USER_TAB_PRIVES

3.回收實體權限,使用REVOKE,其語法如下:
REVOKE 實體權限名|ALL ON 實體名 FROM 用戶名|角色名|PUBLIC。

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