当我尝试创建表时,出现错误,提示我表空间不足。但是,我的架构中的表数总计为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
答案 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.