欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle对象与系统权限小测

程序员文章站 2022-06-06 13:47:07
...

--系统权限表select * from dba_sys_privs p where p.privilege like

--系统权限表
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;

Oracle对象与系统权限小测