如何修复:ORA-01536:将数据从一列复制到同一表中的另一列时,表空间“DATA”错误超出空间配额

问题描述

我正在尝试使用以下代码将一列的值复制到同一个表的另一列中,但名称不同,但遇到了主题行中提到的错误。我该如何解决

  INSERT INTO T1 (C1)
     SELECT C2
      FROM T1;

解决方法

您连接的用户似乎超出了您的配额!

首先检查您的配额:

SQL> select * from user_ts_quotas;

TABLESPACE_NAME      BYTES  MAX_BYTES     BLOCKS MAX_BLOCKS DRO
--------------- ---------- ---------- ---------- ---------- ---
USERS                    0    1048576          0        128 NO

SQL>

然后删除:

alter user your_user_name quota unlimited on your_tablespace_name;

或更改您的配额:

alter user your_user_name quota 10M on your_tablespace_name;