ORA-01536:超出空间配额,但在我的架构中绰绰有余

时间:2019-02-25 21:32:35

标签: oracle

当我尝试创建表时,出现错误,提示我表空间不足。但是,我的架构中的表数总计为3.9 GB,并且我有20 GB的表存储空间。有人知道为什么会这样吗?

对于上下文,这是我放入代码时的输出 从user_ts_quotas选择* *

TABLESPACE_NAME  BYTES       MAX_BYTES    BLOCKS  MAX_BLOCKS  DROPPED
USER             4427481088  10737418240  270232  655360      NO
USER_OLD         0           5368709120   0       327680      YES   

当我输入代码时:

SQL> select t.tablespace_name,
  2    u.username,
  3    sum(s.bytes) / (1024 * 1024) free_MB
  4  from user_tablespaces t join user_free_space s on s.tablespace_name = t.tablespace_name
  5       join user_users u on u.default_tablespace = t.tablespace_name
  6  group by t.tablespace_name, u.username;

我得到输出:

TABLESPACE_NAME  USERNAME    FREE_MB
USER             MY_SCHEMA   55036.9375

1 个答案:

答案 0 :(得分:1)

好吧,也许磁盘上有足够的空间(或任何“ 20 GB”表示),但是-作为用户,您的默认表空间中是否有足够的空间?这样的查询返回什么?

?- sequrdl(["u","u","r","r","d","d","l","l"]).
true ;
false.

?- sequrdl(["u","u","r","r","d","d","l","l", "u"]).
false.

?- sequrdl(["u","u","r","r","d","d"]).
true ;
false.

如果没有足够的空间,则可以以特权用户(例如SYS)的身份连接并执行以下操作:

try_all_sqA(What) :-
    member(SubList, What),
    sequrdl(SubList),
    print('cyclic shift: '),
    print(SubList),
    nl.