我试图完全理解 ALL_OBJECTS 和 DBA_OBJECTS 之间的区别。我还是 Oracle 的新手,对整个 Access/Roles 的事情感到困惑。
从这里:
- ALL_OBJECTS 显示当前的所有对象以及您有权访问的对象。
- DBA_OBJECTS 显示所有用户的所有对象。
我的问题是,如果您有 DBA 角色,ALL_OBJECTS 是否应该等于 DBA_OBJECTS?我有 DBA 角色,在我正在处理的数据库中,ALL_OBJECTS 返回的元素比 DBA_OBJECTS 少。
如果我有 DBA 角色,我不应该有权访问 DBA_OBJECTS 中的所有对象,因此两个视图应该相等吗?
首先让我们在 oracle 中定义 ALL_OBJECTS 和 DBA_OBJECTS:
结果,如果您选择所有内容,它们就会有所不同,因为 Oracle 上有多个级别的 DBA 权限。例如,如果您拥有 SysDBA 权限,那么您拥有的访问权限要比普通 DBA 多得多。