Oracle查詢用戶擁有所有系統(tǒng)權(quán)限的方法
Oracle查詢用戶擁有所有系統(tǒng)權(quán)限
SQL> desc dba_sys_privs; 查詢對(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ò)用戶查找擁有的角色 select * from dba_role_privs grantee granted_role -b 通過(guò)角色查找擁有的權(quán)限 select * from role_sys_privs 1-2 role granted_role -c 通過(guò)用戶查找擁有的系統(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ò)集合更好查找用戶有啥權(quán)限 ****補(bǔ)充: --什么是對(duì)象權(quán)限,設(shè)計(jì)到具體的針對(duì)某一個(gè)對(duì)象的權(quán)限; grant select on scott.dept to hr; 查詢會(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查詢用戶擁有所有系統(tǒng)權(quán)限的文章就介紹到這了,更多相關(guān)Oracle查詢用戶擁有權(quán)限內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- oracle創(chuàng)建新用戶以及用戶權(quán)限配置、查詢語(yǔ)句
- oracle數(shù)據(jù)庫(kù)如何給用戶授權(quán)查詢權(quán)限
- Oracle數(shù)據(jù)庫(kù)scott用戶創(chuàng)建view視圖權(quán)限的操作方法
- Oracle創(chuàng)建設(shè)置查詢權(quán)限用戶的方法
- Oracle的用戶、角色及權(quán)限相關(guān)操作
- MySQL與Oracle 差異比較之七用戶權(quán)限
- Oracle中sys和system用戶、系統(tǒng)權(quán)限和角色的區(qū)別
- Oracle刪除當(dāng)前用戶下所有表的方法適用于有或沒(méi)有刪除權(quán)限
- oracle用戶權(quán)限管理使用詳解
相關(guān)文章
詳解oracle中通過(guò)觸發(fā)器記錄每個(gè)語(yǔ)句影響總行數(shù)
這篇文章主要介紹了詳解oracle中通過(guò)觸發(fā)器記錄每個(gè)語(yǔ)句影響總行數(shù)的相關(guān)資料,需要的朋友可以參考下2017-06-06oracle group by語(yǔ)句實(shí)例測(cè)試
本文將詳細(xì)介紹oracle group by語(yǔ)句,以實(shí)例進(jìn)行測(cè)試,需要的朋友可以參考下2012-11-11Oracle配置dblink訪問(wèn)PostgreSQL的操作方法
本文給大家介紹下Oracle配置dblink訪問(wèn)PostgreSQL的操作方法,通過(guò)dblink訪問(wèn)PostgreSQL的詳細(xì)過(guò)程,對(duì)Oracle?dblink訪問(wèn)PostgreSQL相關(guān)知識(shí)感興趣的朋友一起看看吧2022-03-03Oracle數(shù)據(jù)庫(kù)創(chuàng)建dblink的過(guò)程及其用法實(shí)例詳解
這篇文章主要給大家介紹了Oracle數(shù)據(jù)庫(kù)創(chuàng)建dblink的過(guò)程及其用法的相關(guān)資料,dblink是Oracle數(shù)據(jù)庫(kù)中用于連接不同數(shù)據(jù)庫(kù)實(shí)例的機(jī)制,允許用戶在一個(gè)數(shù)據(jù)庫(kù)實(shí)例中直接查詢或操作另一個(gè)數(shù)據(jù)庫(kù)實(shí)例中的數(shù)據(jù),需要的朋友可以參考下2024-12-12Oracle用戶密碼含有特殊字符導(dǎo)致無(wú)法登陸解決方法
在客戶端上使用sqlplus用普通用戶可以登錄,但是system以及sys用戶均無(wú)法登錄,提示ORA-12154: TNS: 無(wú)法解析指定的連接標(biāo)識(shí)符,本文將提供詳細(xì)的解決方法,需要了解的朋友可以參考下2012-11-11Oracle使用in語(yǔ)句不能超過(guò)1000問(wèn)題的解決辦法
最近項(xiàng)目中使用到了Oracle中where語(yǔ)句中的in條件查詢語(yǔ)句,在使用中發(fā)現(xiàn)了問(wèn)題,所以下面這篇文章主要給大家介紹了關(guān)于Oracle使用in語(yǔ)句不能超過(guò)1000問(wèn)題的解決辦法,需要的朋友可以參考下2022-05-05