1

我有 35 个来自 dba_sys_privs 和 dba_tab_privs 表的被授权者,它们在 dba_users 表中没有作为用户名出现。它们没有被分配为 dba_role_privs 表中的角色。它们可以使用/登录吗?

4

1 回答 1

1

Justin Cave 的评论应该解释您的 35 个值中的 34 个:角色可以在DBA_ROLES但不能在DBA_ROLE_PRIVS.

最后一个值可能是PUBLIC,一个与其他角色不同的特殊角色。

--Grantees who are not users or roles.
select * from
(
    --Grantees
    select grantee from dba_sys_privs union
    select grantee from dba_tab_privs
)
minus
(
    --Users and roles
    select username from dba_users union
    select role from dba_roles
);

GRANTEE
-------
PUBLIC

如果你使用 PUBLIC,你可以让它看起来像是以 PUBLIC 身份登录的as sysoper,但这并不重要。

于 2013-09-16T23:30:01.220 回答