什么是Oracle错误ORA-01536?

什么是Oracle错误ORA-01536?,oracle,Oracle,我在Oracle上遇到以下错误:ORA-01536 问题出在哪里?ORA-01536:超出了表空间“string”的空间配额 原因:表空间中段所有者的空间配额已用完,操作尝试在表空间中创建新的段扩展数据块 操作:在表空间中删除不必要的对象以回收空间,或者让特权用户增加段所有者在此表空间上的配额。在线文档包括一本书,其中介绍了所有错误消息的解释和解决方法。其中一些有点神秘,但这是一个开始 无论如何,这是一个ORA-01536的图解解决方案 DBA创建一个新用户: SQL> create us

我在Oracle上遇到以下错误:ORA-01536

问题出在哪里?

ORA-01536:超出了表空间“string”的空间配额 原因:表空间中段所有者的空间配额已用完,操作尝试在表空间中创建新的段扩展数据块


操作:在表空间中删除不必要的对象以回收空间,或者让特权用户增加段所有者在此表空间上的配额。

在线文档包括一本书,其中介绍了所有错误消息的解释和解决方法。其中一些有点神秘,但这是一个开始

无论如何,这是一个ORA-01536的图解解决方案

DBA创建一个新用户:

SQL> create user fox_in_socks identified by tweetlebeetle
  2      default tablespace users quota 1M on users
  3  /

User created.

SQL> grant create session, create table to fox_in_socks
  2  /

Grant succeeded.

SQL>
在另一个会话中,我们勇敢的用户创建了一个表

SQL> conn fox_in_socks/tweetlebeetle
Connected.
SQL> create table t23 (col1 varchar2(4000))
  2  /

Table created.

SQL>
。。做一些工作

SQL> begin
  2      for i in 1..1000 loop
  3          insert into t23 values (rpad('a', 4000, 'a'));
  4          commit;
  5      end loop;
  6  end;
  7  /
begin
*
ERROR at line 1:
ORA-01536: space quota exceeded for tablespace 'USERS'
ORA-06512: at line 3


SQL>
哦!因此,我们的用户向他们温顺的DBA请求更多配额,他们得到:

SQL> alter user fox_in_socks
  2      quota 10M on users
  3  /

User altered.

SQL>
工作进展:

SQL> begin
  2      for i in 1..1000 loop
  3          insert into t23 values (rpad('a', 4000, 'a'));
  4          commit;
  5      end loop;
  6  end;
  7  /

PL/SQL procedure successfully completed.

SQL>
如果用户是应用程序所有者,那么DBA可以决定给他们无限配额(特别是如果他们是唯一拥有该表空间权限的用户):

(在现实生活中,对于用户表空间来说,这种情况不太可能发生)

用户可以使用适当的视图检查其当前配额:

SQL> select * from user_ts_quotas
  2  /

TABLESPACE_NAME                     BYTES  MAX_BYTES     BLOCKS MAX_BLOCKS DRO
------------------------------ ---------- ---------- ---------- ---------- ---
USERS                             9437184   10485760       1152       1280 NO

SQL>

您是否阅读了文档?下次,我建议您在发布问题之前做两件事:在上搜索Oracle文档,并尽可能多地发布有关您的问题的详细信息(DB和OS版本,测试代码…)。wow 519问题0答案。我们是否要从文档中复制Oracle错误的整个列表,还是就留在这里?为什么人们要回答这些问题。我能理解这是否是第一次。。。我的意思是看看他的问题和评论。。。。他不在乎!!!!!他没有接受200多个问题的答案。
SQL> select * from user_ts_quotas
  2  /

TABLESPACE_NAME                     BYTES  MAX_BYTES     BLOCKS MAX_BLOCKS DRO
------------------------------ ---------- ---------- ---------- ---------- ---
USERS                             9437184   10485760       1152       1280 NO

SQL>