oracle物件與系統許可權小測

wisdomone1發表於2012-10-25
--系統許可權表
select * from dba_sys_privs p where p.privilege like '%LINK%'
 
--物件許可權表
select * from dba_tab_privs tp where tp.owner='SCOTT'

--在網上看到的:
--- ALL_COL_PRIVS 表示列上的授權,使用者和PUBLIC是被授予者
 

select * from dba_col_privs
ALL_COL_PRIVS_MADE  表示列上的授權,使用者是屬主和被授予者
 

select * from all_col_privs_made

ALL_COL_RECD 表示列上的授權,使用者和PUBLIC是被授予者

ALL_TAB_PRIVS 表示物件上的授權,使用者是PUBLIC或被授予者或使用者是屬主
 

ALL_TAB_PRIVS_MADE  表示物件上的許可權,使用者是屬主或授予者

ALL_TAB_PRIVS_RECD  表示物件上的許可權, 使用者是PUBLIC或被授予者

DBA_COL_PRIVS  資料庫列上的所有授權

DBA_ROLE_PRIVS  顯示已授予使用者或其他角色的角色

DBA_SYS_PRIVS  已授予使用者或角色的系統許可權

DBA_TAB_PRIVS  資料庫物件上的所有許可權

ROLE_ROLE_PRIVS  顯示已授予使用者的角色

select * from role_role_privs;--role_role_privs;指授預此角色的角色
--測試上述 --經測試role_role_privs是授預此角色的角色
create role zxy_role;
create role zxy_role_1;
grant zxy_role_1 to zxy_role;
 

ROLE_SYS_PRIVS 顯示透過角色授予使用者的系統許可權
select * from role_sys_privs;--顯示角色所屬的系統許可權
--測試
grant create table to zxy_role;
 

ROLE_TAB_PRIVS 顯示透過角色授予使用者的物件許可權
select * from ROLE_TAB_PRIVS;--顯示角色所屬的物件許可權
--測試
grant select  on scott.emp to zxy_role;
 

SESSION_PRIVS  顯示使用者現在可利用的所有系統許可權
select * from session_privs;--顯示使用者可以使用的系統許可權
 

USER_COL_PRIVS 顯示列上的許可權,使用者是屬主、授予者或被授予者
select * from user_col_privs

USER_COL_PRIVS_MADE 顯示列上已授予的許可權,使用者是屬主或授予者

USER_COL_PRIVS_RECD  顯示列上已授予的許可權,使用者是屬主或被授予者

USER_ROLE_PRIVS  顯示已授予給使用者的所有角色
select * from dba_role_privs;--顯示已經給使用者授予的角色
--測試
grant zxy_role to scott;--顯示給scott使用者授予的角色

USER_SYS_PRIVS  顯示已授予給使用者的所有系統許可權

USER_TAB_PRIVS 顯示已授予給使用者的所有物件許可權

USER_TAB_PRIVS_MADE  顯示已授予給其他使用者的物件許可權,使用者是屬主

select * from USER_TAB_PRIVS_MADE ma where ma.grantee='SCOTT';--顯示授予者授予給被授予者的系統和物件許可權
--測試
grant  execute on SYS.BLASTN_MATCH to scott;--物件許可權
grant  select any table to scott;--系統許可權 --經測無系統許可權,僅顯示物件許可權
 

USER_TAB_PRIVS_RECD 顯示已授予給其他使用者的物件許可權,使用者是被授予者'
select * from user_TAB_PRIVS_RECD m where table_name='T_ONLY';--顯示
--測試
grant select on t_only to scott;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-747174/,如需轉載,請註明出處,否則將追究法律責任。

相關文章