ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF' RESIZE 3000M;
select * from dba_tablespaces--查看表空间
--查看表空间文件路径
select tablespace_name,file_id,bytes/1024/1024,file_name
from dba_data_files order by file_id;
--查看用户和默认表空间的关系
select username,default_tablespace from dba_users;
今天在做oracle数据导入的时候遇到了 “ORA-01659: 无法分配超出 30 的 MINEXTENTS (在表空间 TBS_TEST_DB1 中)”
刚开始认为是表空间自增长比较小的原因然后就将表空间文件自增长由开始的next 30m 改为了next50 结果还报错。查询下表空间的使用量
SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size
FROM dba_tablespaces t, dba_data_files d
WHERE t.tablespace_name = d.tablespace_name
GROUP BY t.tablespace_name;
发现TBS_TEST_DB1表空间使用量为已接近最大值32G (因为我的DB_BLOCK_SIZE=8k,所以单个表空间文件的最大值为32G),应该接近了oracle 单个表空间文件的最大值,所以尝试为表空间添加文件:
alter tablespace TBS_TEST_DB1 add datafile '/opt/app/dataspace/testdb_02.dbf' size 10240M;
添加完成后继续执行,果然问题得到了解决。