创建了一个原生态的表,然后插入了一亿个数据后提示表空间不足,也就是下图的这个
然后使用如下语句扩展,命名前需要提前看下本地的表空间DBF文件,不可重复命名,
select b.file_id 文件ID,
b.tablespace_name 表空间,
b.file_name 物理文件名,
b.bytes 总字节数,
(b.bytes-sum(nvl(a.bytes,0))) 已使用,
sum(nvl(a.bytes,0)) 剩余,
sum(nvl(a.bytes,0))/(b.bytes)*100 剩余百分比
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.file_id,b.bytes
order by b.tablespace_name;
执行 ,然后提示
原因是刚刚扩展了表空间,为了重新演示,我直接删除了DBF文件,后来发现这样是不行的,
挣扎了一天,发现这个问题直接重新装吧!
----------------------------------------------------------------------------------------------------------------
然后重新跑了一些测试数据后提示表空间不足,
再执行上述代码结果如下
找到对应的DBF文件,然后在该目录下重新添加一个,注意不可重名,
使用如下语句添加:
alter tablespace SYSTEM add datafile
'D:\APP\RUYI\ORADATA\ORCL\SYSTEM02.DBF'
size 7167M autoextend on;
autoextend on为自动增长大小,可以不写,oracle单个文件大小最大不超过32g。
DBF是数据文件,7176M就是表空间的大小。
如上图,成功扩容,然后执行上方的查询语句发现在SYSTEM这个表空间下已经新增了一个DBF文件。