第一步:查看Oracle表空间的使用情况:
select dbf.tablespace_name,
dbf.totalspace "总量(M)",
dbf.totalblocks as 总块数,
dfs.freespace "剩余总量(M)",
dfs.freeblocks "剩余块数",
(dfs.freespace / dbf.totalspace) * 100 "空闲比例"
from (select t.tablespace_name,
sum(t.bytes) / 1024 / 1024 totalspace,
sum(t.blocks) totalblocks
from dba_data_files t
group by t.tablespace_name) dbf,
(select tt.tablespace_name,
sum(tt.bytes) / 1024 / 1024 freespace,
sum(tt.blocks) freeblocks
from dba_free_space tt
group by tt.tablespace_name) dfs
where trim(dbf.tablespace_name) = trim(dfs.tablespace_name)
第二步:找到需要扩展空间的表空间,查看其数据文件路径:
select * from dba_data_files t where t.tablespace_name = '表空间名称'
第三步:增加表空间大小:
增加表空间大小的方法有二:
1、修改数据文件的大小:
alter database datafile '全路径的数据文件名称' resize ***M
2、新增数据文件:
alter tablespace 表空间名称
add datafile '全路径的数据文件名称' size ***M
That's all .
注意:1、表空间尽量让free百分比保持在10%以上,如果低于10%就增加datafile或者resizedatafile,一般数据文件不要超过2G
2、 设置表空间数据文件自动扩展:
alter database datafile '全路径的数据文件名称' autoextend on;