oracle 报错
ORA-01653: unable to extend table C##HBDTDATA.M_SMS_STATUS by 8192 in tablespace DBDTDATA
查看表空间
SELECT A.TABLESPACE_NAME "表空间名",
-- B.file_name,
TOTAL / 1024 / 1024 "表空间大小单位M",
TOTAL / 1024 / 1024 / 1024 "表空间大小单位G",
TOTAL / 1024 / 1024 "表空间大小单位M",
FREE / 1024 / 1024 / 1024 "表空间剩余大小单位G",
(TOTAL - FREE) / 1024 / 1024 "表空间使用大小单位M",
(TOTAL - FREE) / 1024 / 1024 / 1024 "表空间使用大小单位G",
ROUND((TOTAL - FREE) / TOTAL, 4) * 100 "使用率 [%]"
FROM (SELECT TABLESPACE_NAME, SUM(BYTES) FREE FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) A,
(SELECT TABLESPACE_NAME,/*FILE_NAME,*/ SUM(BYTES) TOTAL FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME/*,FILE_NAME*/) B
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME;
解决方法
查看表空间是否自动增长
SELECT FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE FROM dba_data_files;--查看表空间是否自动增长
如果为 NO
如果为 NO
ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/lhrcdb1/dbdtdata01.dbf' AUTOEXTEND ON NEXT 1024M ;--每次自动增长1024M
当使用率为100
当表空间为最大值,100%没办法自增的时候,这时可以考虑新增一个数据文件
方式一:创建表空间文件并设置自动增长
Alter tablespace 表空间名 add datafile '数据文件存放的路径' size 数据文件大小M autoextend on next 每次自增长大小M Maxsize UNLIMITED;
--例子
Alter tablespace dbdtdata add datafile '/u01/app/oracle/oradata/lhrcdb1/dbdtdata02.dbf' size 20480M autoextend on next 1024M Maxsize UNLIMITED;
方式二:创建表空间文件
alter tablespace dbdtdata add datafile '/u01/app/oracle/oradata/lhrcdb1/dbdtdata08.dbf' SIZE 20480M;