如何在一个角色的所有表上找到缺失的授权
How to find missing grant on all tables for one role
我的学生数据库架构有一些问题。我想通过查询查找哪些表没有:例如 'SELECT' 授予角色 XXX。第二个例子是,在表中,我喜欢删除、更改的授权,但现在我想用一个查询检查所有表,以查找哪些表没有 Select 授予角色 'STUDENT_DBA' 或这个角色在哪里没有 Select 的资助...
请帮助
SELECT table_name
FROM dba_tables
WHERE owner = 'STUDENT'
AND table_name NOT IN
(SELECT table_name
FROM dba_tab_privs
WHERE owner = 'STUDENT'
AND privilege = 'SELECT'
AND grantee = 'STUDENT_DBA');
这将 return STUDENT 架构中没有 select 权限的所有表直接 授予 STUDENT_DBA 角色。
我的学生数据库架构有一些问题。我想通过查询查找哪些表没有:例如 'SELECT' 授予角色 XXX。第二个例子是,在表中,我喜欢删除、更改的授权,但现在我想用一个查询检查所有表,以查找哪些表没有 Select 授予角色 'STUDENT_DBA' 或这个角色在哪里没有 Select 的资助... 请帮助
SELECT table_name
FROM dba_tables
WHERE owner = 'STUDENT'
AND table_name NOT IN
(SELECT table_name
FROM dba_tab_privs
WHERE owner = 'STUDENT'
AND privilege = 'SELECT'
AND grantee = 'STUDENT_DBA');
这将 return STUDENT 架构中没有 select 权限的所有表直接 授予 STUDENT_DBA 角色。