ORACLE表的权限

时间:2011-05-13 15:42:49

标签: oracle

我在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

1 个答案:

答案 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的权限进行比较。