【问题标题】:ORA-01950: no privileges on tablespace 'USERS' as the quota is on another tableORA-01950: 由于配额在另一个表上,因此对表空间 'USERS' 没有权限
【发布时间】:2016-06-08 09:32:56
【问题描述】:

我目前收到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';

解决这个问题的方法是将表空间更改为我有配额的地方。感谢亚历克斯普尔。

【问题讨论】:

  • 添加表定义 - 似乎它是在 USERS 表空间而不是 DATA 表空间中创建的。也许 USERS 是你架构的默认 TS,你需要在 create table 中指定 DATA。您实际上想要它在哪个 TS 中?如果您必须在 USERS 中创建它,那么您也需要添加一个配额。
  • 谢谢。你说的对。我的 TS 是用户。

标签: sql database oracle


【解决方案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;

【讨论】:

    【解决方案2】:

    看起来您对表空间 DATA 有无限配额,但对表空间用户没有权限。请您的 DBA 授予您表空间用户的配额

    【讨论】:

      猜你喜欢
      • 2014-03-07
      • 1970-01-01
      • 2015-03-12
      • 2021-05-06
      • 1970-01-01
      • 2021-05-29
      • 1970-01-01
      • 2018-05-30
      • 2012-07-23
      相关资源
      最近更新 更多