无法插入行ORA-01950:表空间没有权限

时间:2016-07-20 14:39:28

标签: oracle11g

Oracle 11G

我向用户授予了所有权限

ALTER USER CWS_APP quota unlimited on CWS_APP;
grant RESOURCE,CONNECT,UNLIMITED TABLESPACE to CWS_APP;

但仍然无法在表格中插入一行:

insert into CWS_RULES.pr4_base(pzinskey, pxcommitdatetime) values('abc',sysdate)
Error report -
SQL Error: ORA-01950: no privileges on tablespace 'CWS_RULES'
01950. 00000 -  "no privileges on tablespace '%s'"
*Cause:    User does not have privileges to allocate an extent in the
           specified tablespace.
*Action:   Grant the user the appropriate system privileges or grant the user
           space resource on the tablespace.

1 个答案:

答案 0 :(得分:1)

对象的所有者拥有数据,并且需要在相应的表空间中具有适当的配额。导致插入的用户不相关。这是一件好事 - 如果Oracle必须跟踪特定用户插入的特定表中的哪些行来计算这些行的配额,那将是一种巨大的痛苦。

该表归cws_rules所有。因此,cws_rules用户需要在cws_rules表空间上有足够的配额来容纳数据。配额cws_app的配额并不重要,因为它不拥有数据。