问题描述:oracle插入数据时显示ORA-01653 表无法通过64(在表空间USERS中)扩展
原因: oracle 表空间满了,需要扩展
截图:
解决方法:
1.首先查下表空间
select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;
注:必须有DBA权限才可以查询此表dba_data_files,该表中存放了表空间的名称、路径、大小等基本信息
2.手动修改自己使用的数据文件大小
ALTER DATABASE DATAFILE '/oracle/product/10.2.0/oradata/orcl/users01.dbf'--该路径对应上面查询的表空间的路径
RESIZE 1000M
3.设定数据文件自动扩展
ALTER DATABASE DATAFILE '/oracle/product/10.2.0/oradata/orcl/users01.dbf'
AUTOEXTEND ON NEXT 100M MAXSIZE 10000M --设置自动扩展,每次100M
4.查看修改后表空间使用情况
select
b.file_name as 物理文件名,
b.tablespace_name as 表空间,
b.bytes/1024/1024 as 大小M,
(b.bytes-sum(nvl(a.bytes,0)))/1024/1024 as 已使用M,
substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) as 利用率
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id
group by b.tablespace_name,b.file_name,b.bytes
order by b.tablespace_name