ORA-01950:表空间'USERS'没有特权,因为配额在另一个表上

时间:2016-06-08 09:32:57

标签: sql database oracle

我目前正在获得ORA-01950: no privileges on tablespace 'USERS'因为我的配额在另一张桌子上。

我已经执行了查询:

SELECT * FROM USER_TS_QUOTAS;

我得到了以下结果:

TABLESPACE_NAME | BYTES | MAX_BYTES | MAX_BLOCKS | DROPPED
      DATA           0         -1          0          NO

我的用户有无限制的配额但是在执行插入时我无法执行此操作,因为它正在查看USERS表。有什么方法可以解决这个问题吗?

更新:

默认表空间是用户。以下查询证实了这一点。

SELECT PROPERTY_VALUE
FROM DATABASE_PROPERTIES
WHERE PROPERTY_NAME = 'DEFAULT_PERMANENT_TABLESPACE';

此问题的解决方案是将表空间更改为我有配额的位置。感谢Alex Poole。

2 个答案:

答案 0 :(得分:1)

您需要重新创建表格in the DATA tablespace

drop table your_table;
create table your_table (...) tablespace data;

或者如果你真的想在USERS表空间中使用它,你的DBA也需要allow you to use space in that tablespace

alter user your_user quota unlimited on users;

答案 1 :(得分:0)

看起来您在Tablespace DATA上拥有无限制的配额,但没有表空间USERS的权限。请您的DBA授予您Tablespace USERS的配额