ORA-01653:无法在表空间ORA-06512中扩展表

时间:2014-11-25 14:32:20

标签: oracle tablespace

我尝试通过运行以下sql来生成一些测试数据。

BEGIN    
  FOR i IN 1..8180 LOOP
    insert into SPEEDTEST
    select 'column1', 'column2', 'column3', 'column4', 'column5', 'column6', 'column7', 'column8', 'column9', 'column10', 'column11', 'column12', 'column13', 'column14', 'column15', 'column16', 'column17', 'column18', 'column19', 'column20', 'column21', 'column22', 'column23', 'column24', 'column25', 'column26', 'column27', 'column28', 'column29', 'column30', 'column31', 'column32', 'column33', 'column34', 'column35', 'column36', 'column37', 'column38', 'column39', 'column40', 'column41', 'column42', 'column43', 'column44', 'column45', 'column46', 'column47', 'column48', 'column49', 'column50', 'column51', 'column52', 'column53', 'column54', 'column55', 'column56', 'column57', 'column58', 'column59', 'column60', 'column61', 'column62', 'column63', 'column64', 'column65', 'column66', 'column67', 'column68', 'column69', 'column70', 'column71', 'column72', 'column73', 'column74', 'column75', 'column76', 'column77', 'column78', 'column79', 'column80', 'column81', 'column82', 'column83', 'column84', 'column85', 'column86', 'column87', 'column88', 'column89', 'column90', 'column91', 'column92', 'column93', 'column94', 'column95', 'column96', 'column97', 'column98', 'column99', 'column100', i from dual;
  END LOOP;
END;
/
commit;

它给了我以下错误:

ORA-01653: unable to extend table LEGAL.SPEEDTEST by 128 in tablespace LEGAL_DATA
ORA-06512: at line 4

这表明我的空间不足,如何添加更多以及如何知道我需要多少? 128代表什么?

3 个答案:

答案 0 :(得分:50)

只需为现有表空间添加新数据文件

ALTER TABLESPACE LEGAL_DATA ADD DATAFILE '/u01/oradata/userdata03.dbf' SIZE 200M;

要找出数据文件的位置和大小:

SELECT FILE_NAME, BYTES FROM DBA_DATA_FILES WHERE TABLESPACE_NAME = 'LEGAL_DATA';

答案 1 :(得分:36)

您还可以使用以下命令打开整个数据库的自动扩展:

ALTER DATABASE DATAFILE 'C:\ORACLEXE\APP\ORACLE\ORADATA\XE\SYSTEM.DBF'
AUTOEXTEND ON NEXT 1M MAXSIZE 1024M;

只需将文件路径更改为指向system.dbf文件即可。

信用Here

答案 2 :(得分:0)

要解决此错误:

ORA-01653无法将表空间your-tablespace-name中的表扩展1024。

只需自动运行以下PL/SQL命令即可​​扩展表空间大小:

alter database datafile '<your-tablespace-name>.dbf' autoextend on maxsize unlimited;

我在导入大转储文件中遇到此错误,只需运行此命令而不停止导入例程或重新启动数据库。

注意:每个数据文件的大小限制为32GB,如果需要的大小超过32GB,则应在现有表空间中添加一个新的数据文件。

更多信息:alter_autoextend_on