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

ORACLE的CONNECT和RESOURCE角色權限,oracleconnect

編輯:Oracle教程

ORACLE的CONNECT和RESOURCE角色權限,oracleconnect


最近在處理數據庫的用戶權限問題,之前慣性思維,覺得給用戶授權RESOURCE權限之後,用戶的一般權限都會有,等到發現用戶有RESOURCE角色,卻沒有創建視圖的權限之後,才發現這部分還是一知半解啊,所以此處整理了一下相關的CONNECT角色和RESOURCE角色的內容。

一般情況下,在新建數據庫用戶後,都會習慣性的給用戶授權CONNECT角色和RESOURCE角色:

GRANT connect,resource TO 用戶;

但是擁有這兩個角色的用戶都擁有什麼權限呢?可以使用如下語句查看一下:

SELECT * FROM dba_sys_privs WHERE grantee IN ('RESOURCE', 'CONNECT') ORDER BY 1;

從查詢結果可以看到:

GRANT CREATE VIEW TO 用戶;

 

那麼,一個用戶,如果查看他擁有什麼權限呢?

方法一:PLSQL Developer工具

在PLSQL Developer中可以很方便的查看用戶的各種類型權限(包括對象權限,角色權限,系統權限),如下圖:

SELECT * FROM dba_tab_privs a WHERE a.grantee = '用戶名';

 

查詢角色權限:

SELECT * FROM dba_role_privs a WHERE a.GRANTEE = '用戶名';

 

查詢系統權限:

SELECT * FROM dba_sys_privs a WHERE a.GRANTEE = '用戶名';

oracle 10g中權限分配問題 對於角色CONNECT,RESOURCE的權限我查看了, 我賦予一個用戶這兩個角色

RESOURCE 權限就包括了創建表和刪除,dml 該用戶下面的對象的功能的!
UNLIMITED TABLESPACE 是 用戶可以對default tablespace 有無限的使用權限!
這是我賦予 getl 的CONNECT,RESOURCE權限後查看的:
sys@TB> select privilege from dba_sys_privs where grantee=upper('&U');
Enter value for u: getl
old 1: select privilege from dba_sys_privs where grantee=upper('&U')
new 1: select privilege from dba_sys_privs where grantee=upper('getl')
PRIVILEGE
----------------------------------------
UNLIMITED TABLESPACE
CREATE ANY VIEW
CREATE ANY TABLE
DEBUG ANY PROCEDURE
SELECT ANY TABLE
DEBUG CONNECT SESSION
CREATE SESSION
7 rows selected.
 

oracle 角色 的權限不同?CONNECT角色與 RESOURCE角色均有 CREATE SEQUENCE 權限

看名稱就知道不一樣
 

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