如果没有其他的问题,有可能是表空间不足,扩容表空间即可
查看表空间及其数据文件位置
SELECT tablespace_name,file_id,file_name,round(bytes / (1024 * 1024), 0) total_space FROM dba_data_files ORDER BY tablespace_name;
表空间拓展,三种方式
第一种方式:增大所需表空间大小
alter database datafile ‘数据文件位置’ resize 新的尺寸
alter database datafile ‘/data/PROD/db/apps_st/data/a_summ01.dbf’ resize 16000M;
alter database datafile ‘/data/PROD/db/apps_st/data/a_summ01.dbf’ resize 16G;
第二种方式:增加数据文件个数
alter tablespace 表空间名称 add datafile ‘新的数据文件位置’ size 数据文件大小;
举例
alter tablespace APPS_TS_TX_DATA add datafile ‘/data/PROD/db/apps_st/data/a_summ02.dbf’ size 1000M;
第三种方式:设置表空间自动扩展
alter database datafile ‘数据文件位置’ autoextend on next 自动扩展大小 maxsize 最大扩展大小;
举例
alter database datafile ‘/data/PROD/db/apps_st/data/a_summ01.dbf’ autoextend on next 100M maxsize 10000M;
查看表空间使用情况:
SELECT a.tablespace_name,
a.bytes / 1024 / 1024 “sum MB”,
(a.bytes - b.bytes) / 1024 / 1024 “used MB”,
b.bytes / 1024 / 1024 “free MB”,
round(((a.bytes - b.bytes) / a.bytes) * 100, 2) “used%”
FROM (SELECT tablespace_name, SUM(bytes) bytes
FROM dba_data_files
GROUP BY tablespace_name) a,
(SELECT tablespace_name, SUM(bytes) bytes, MAX(bytes) largest
FROM dba_free_space
GROUP BY tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name
ORDER BY ((a.bytes - b.bytes) / a.bytes) DESC;