Oracle查詢(xún)用戶(hù)擁有所有系統(tǒng)權(quán)限的方法
Oracle查詢(xún)用戶(hù)擁有所有系統(tǒng)權(quán)限
SQL> desc dba_sys_privs; 查詢(xún)對(duì)象擁有的系統(tǒng)權(quán)限
Name Null? Type
---------------------------------------- -------- ---------------------------
GRANTEE NOT NULL VARCHAR2(30)
PRIVILEGE NOT NULL VARCHAR2(40)
ADMIN_OPTION VARCHAR2(3)
SQL> select * from dba_sys_privs where grantee='HR';
GRANTEE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
HR UNLIMITED TABLESPACE NO
HR CREATE SESSION NO
HR CREATE TABLE NO
SQL> desc dba_role_privs;
Name Null? Type
---------------------------------------- -------- ---------------------------
USERNAME VARCHAR2(30)
GRANTED_ROLE VARCHAR2(30)
ADMIN_OPTION VARCHAR2(3)
DEFAULT_ROLE VARCHAR2(3)
OS_GRANTED VARCHAR2(3)
SQL> select * from dba_role_privs where grantee='HR';對(duì)象擁有的角色
GRANTEE GRANTED_ROLE ADM DEF
------------------------------ ------------------------------ --- ---
HR RESOURCE NO YES
SQL> select * from role_sys_privs where ROLE='RESOURCE'; 通過(guò)角色查找權(quán)限
ROLE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
RESOURCE CREATE TRIGGER NO
RESOURCE CREATE SEQUENCE NO
RESOURCE CREATE TYPE NO
RESOURCE CREATE PROCEDURE NO
RESOURCE CREATE CLUSTER NO
RESOURCE CREATE OPERATOR NO
RESOURCE CREATE INDEXTYPE NO
RESOURCE CREATE TABLE NO
SQL> select a.granted_role,b.privilege,c.privilege
From dba_role_privs a,role_sys_privs b ,dba_sys_privs c
Where a.granted_role=b.role and a.grantee=c.grantee and a.grantee='HR
RESOURCE CREATE SEQUENCE UNLIMITED TABLESPACE
RESOURCE CREATE INDEXTYPE CREATE SESSION
--看起來(lái)很美好,但是這是等值才返回結(jié)果,1=1=1 3*8=24t條記錄
select a.granted_role,b.privilege,c.privilege from dba_role_privs
a join role_sys_privs b on a.granted_role=b.role join dba_sys_privs
c on a.grantee=c.grantee and a.grantee='HR'; --一樣無(wú)法達(dá)到效果;
--a 通過(guò)用戶(hù)查找擁有的角色
select * from dba_role_privs grantee granted_role
-b 通過(guò)角色查找擁有的權(quán)限
select * from role_sys_privs 1-2 role granted_role
-c 通過(guò)用戶(hù)查找擁有的系統(tǒng)權(quán)限
select * from dba_sys_privs 1-3 grantee
--思路1+2=2 => 2+3=總
select * from (select a.grantee,b.privilege from
dba_role_privs a join role_sys_privs b on a.granted_role=b.role
union
select c.grantee,c.privilege from dba_sys_privs c)
where grantee='HR';
--于上一樣--where條件執(zhí)行速度更快
select a.grantee,b.privilege from
dba_role_privs a join role_sys_privs b
on a.granted_role=b.role where grantee='HR'
union
select c.grantee,c.privilege from dba_sys_privs c where grantee='HR';
意義:有些權(quán)限不是通過(guò)角色單獨(dú)授予、或者單獨(dú)授予權(quán)限:通過(guò)集合更好查找用戶(hù)有啥權(quán)限
****補(bǔ)充:
--什么是對(duì)象權(quán)限,設(shè)計(jì)到具體的針對(duì)某一個(gè)對(duì)象的權(quán)限;
grant select on scott.dept to hr;
查詢(xún)會(huì)有具體對(duì)象的權(quán)限;
select * from dba_tab_privs where grantee='HR';
HR SYS YANG SYS WRITE NO NO
HR SYS YANG SYS READ NO NO
HR SYS DBMS_STATS SYS EXECUTE NO NO
HR SCOTT DEPT SCOTT SELECT NO NO
回收: revoke execute on sys.DBMS_STATS from hr;到此這篇關(guān)于Oracle查詢(xún)用戶(hù)擁有所有系統(tǒng)權(quán)限的文章就介紹到這了,更多相關(guān)Oracle查詢(xún)用戶(hù)擁有權(quán)限內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- oracle創(chuàng)建新用戶(hù)以及用戶(hù)權(quán)限配置、查詢(xún)語(yǔ)句
- oracle數(shù)據(jù)庫(kù)如何給用戶(hù)授權(quán)查詢(xún)權(quán)限
- Oracle數(shù)據(jù)庫(kù)scott用戶(hù)創(chuàng)建view視圖權(quán)限的操作方法
- Oracle創(chuàng)建設(shè)置查詢(xún)權(quán)限用戶(hù)的方法
- Oracle的用戶(hù)、角色及權(quán)限相關(guān)操作
- MySQL與Oracle 差異比較之七用戶(hù)權(quán)限
- Oracle中sys和system用戶(hù)、系統(tǒng)權(quán)限和角色的區(qū)別
- Oracle刪除當(dāng)前用戶(hù)下所有表的方法適用于有或沒(méi)有刪除權(quán)限
- oracle用戶(hù)權(quán)限管理使用詳解
相關(guān)文章
oracle導(dǎo)出sql語(yǔ)句的結(jié)果集和保存執(zhí)行的sql語(yǔ)句(深入分析)
本篇文章是對(duì)oracle導(dǎo)出sql語(yǔ)句的結(jié)果集與保存執(zhí)行的sql語(yǔ)句進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
ORACLE中dbms_output.put_line輸出問(wèn)題的解決過(guò)程
最近用dbms_output.put_line來(lái)輸出變量的一些信息,卻總是看不到結(jié)果,所以這篇文章主要給大家介紹了關(guān)于ORACLE中dbms_output.put_line輸出問(wèn)題的解決過(guò)程,需要的朋友可以參考下2022-06-06
對(duì)比Oracle臨時(shí)表和SQL Server臨時(shí)表的不同點(diǎn)
這篇文章主要介紹了Oracle數(shù)據(jù)庫(kù)建立臨時(shí)表的相關(guān)知識(shí)以及和SQL Server臨時(shí)表的不同點(diǎn)的對(duì)比,希望能夠?qū)δ兴鶐椭?/div> 2015-09-09
oracle關(guān)閉數(shù)據(jù)庫(kù)的4種操作方法區(qū)別詳析
Oracle數(shù)據(jù)庫(kù)提供了幾種不同的數(shù)據(jù)庫(kù)啟動(dòng)和關(guān)閉方式,這篇文章主要介紹了oracle關(guān)閉數(shù)據(jù)庫(kù)的4種操作方法區(qū)別的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-10-10最新評(píng)論

