oracle priviledges


我们知道”系统权限”的信息,如果你用sys / as sysdba登陆的话,可以通过查询dba_sys_privs来查询,
而”角色”则可以通过dba_role_privs来查询,这两个是我比较熟悉的,也同时是经常被使用的。而例如某个用户
test被赋予了另外用的视图的访问权限,如何来查这些被授予的权限?可以通过dba_tab_privs来查询
SQL> desc dba_tab_privs;
名称 是否为空? 类型
—————————————————————– ——– ————————–
GRANTEE NOT NULL VARCHAR2(30)
OWNER NOT NULL VARCHAR2(30)
TABLE_NAME NOT NULL VARCHAR2(30)
GRANTOR NOT NULL VARCHAR2(30)
PRIVILEGE NOT NULL VARCHAR2(40)
GRANTABLE VARCHAR2(3)
HIERARCHY VARCHAR2(3)

SQL> select * from dba_tab_privs where grantee=’USER’;
这样就能得到USER的对象权限,例如能够访问的表、视图等等

所以如下三个视图可以一起来记忆,主要就是涉及到广义的权限,系统权限,角色,对象权限
dba_sys_privs

dba_role_privs

dba_tab_privs