解决办法,扩展表空间:
--(1)重置数据文件大小
ALTER DATABASE DATAFILE 'datafile路径名字' RESIZE 2000M;
--(2)设置数据文件能自动增长
ALTER DATABASE DATAFILE '... ' AUTOEXTEND ON | OFF NEXT 20M MAXSIZE 300M;
--查看哪些表空间为自动增长
SELECT FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE FROM dba_data_files;
/* (3)添加数据文件
增加到表空间中的数据文件不能直接从表空间中删除,除非删掉整个表空间
增加数据文件将有助于均衡I/O
一个表空间文件最多为个,文件越多,执行一次检查点的代价越高 */
ALTER TABLESPACE tablespace_name ADD DATAFILE '...' SIZE XX;
ALTER TABLESPACE tbs2 ADD DATAFILE '/u01/app/oracle/oradata/orcl/tbs2.dbf' size 200m autoextend on ;
另:查看表空间利用率:
脚本如下:网上找的,把链接忘了,见谅。
select ff.s tablespace_name,
ff.b total,
(ff.b - fr.b) usage,
fr.b free,
round((ff.b - fr.b) / ff.b * 100) || '% ' usagep
from (select tablespace_name s, sum(bytes) / 1024 / 1024 b
from dba_data_files
group by tablespace_name) ff,
(select tablespace_name s, sum(bytes) / 1024 / 1024 b
from dba_free_space
group by tablespace_name) fr
where ff.s = fr.s