我在OE架构中有一个表命令。我无法从scott或hr模式访问此表。但是当我尝试从这两个模式中选择oe.orders时,我得到的信息如下所示。为什么会这样?
SQL> connect scott/test
Connected.
SQL> select count(*) from oe.orders;
select count(*) from oe.orders
*
ERROR at line 1:
ORA-01031: insufficient privileges
SQL> connect hr/test
Connected.
SQL> select count(*) from oe.orders;
select count(*) from oe.orders
*
ERROR at line 1:
ORA-00942: table or view does not exist
答案 0 :(得分:1)
SCOTT可能对表oe.orders具有INSERT,UPDATE和/或DELETE权限,但不具有SELECT,而HR显然没有在oe.orders上授予任何权限。 SCOTT也可以有INSERT ANY TABLE,DELETE ANY TABLE和/或UPDATE ANY TABLE。
请务必查看dba_sys_privs以获取授予的系统权限,这些权限可能会使某个对象(如表存在)成为可能,而不会授予从中进行选择的权限。例如,CREATE ANY INDEX或ANALYZE ANY特权会导致我没有DML权限的表的权限不足消息。将授予SCOTT的权限与授予HR的权限进行比较。