1

据报道,当前Oracle 11g schema 用户的权限超出了限制,例如,用户对整个数据库具有完全的导入/导出权限,用户可以对其他schema 进行DDL。

那么我们如何找出当前用户的权限并使用查询进行清理呢?我知道有三个

SELECT * FROM USER_SYS_PRIVS; 
SELECT GRANTEE, TABLE_NAME, PRIVILEGE FROM USER_TAB_PRIVS WHERE GRANTOR='USERNAME';
SELECT * FROM USER_ROLE_PRIVS;

但是哪一个是最想要的以及如何清理?目前似乎没有人给予产生问题的当前用户的全部权限。

4

1 回答 1

2

最危险的特权是名称中带有 ANY 的特权——SELECT ANY TABLE、ALTER ANY VIEW 等。它们应该仅限于 DBA 和支持人员。

您正在寻找的角色是 DATAPUMP_EXP_FULL_DATABASE 和 DATAPUMP_IMP_FULL_DATABASE 我相信。

于 2013-06-05T18:59:43.340 回答