我有一个名为“ADMINX”的非常老的用户,该用户几乎可以控制 Oracle 19c 数据库中的所有表空间。它被赋予了“DBA”角色,还有一个名为“APP_ADMIN_ROLE”的自定义角色,其中包含 DBA 角色。
如果我从 ADMINX 本身撤销 DBA 角色,但保留 APP_ADMIN_ROLE,表空间配额会被重置吗?我认为它应该保持无限配额,因为 APP_ADMIN_ROLE 仍然具有 DBA 角色,但我不确定 Oracle 在这种情况下会如何表现。遗憾的是,DBA_TS_QUOTAS 不显示 DBA 角色占用的无限配额。
不,不是。
配额授予个人账户,而不是角色。
这是两种观点之间的唯一区别。
在测试环境中测试了该场景。撤销了 ADMINX 的 DBA 角色。执行该操作后,ADMINX 不再是 DBA,因为“APP_ADMIN_ROLE”下的 DBA 不起作用。Oracle 这样做似乎是出于安全问题。因此,由于不再是 DBA 用户,因此无限制配额已不复存在。