Oracle 如何扩展表空间


第一步:查看Oracle表空间的使用情况:

  1. select dbf.tablespace_name,  
  2.        dbf.totalspace "总量(M)",  
  3.        dbf.totalblocks as 总块数,  
  4.        dfs.freespace "剩余总量(M)",  
  5.        dfs.freeblocks "剩余块数",  
  6.        (dfs.freespace / dbf.totalspace) * 100 "空闲比例" 
  7.   from (select t.tablespace_name,  
  8.                sum(t.bytes) / 1024 / 1024 totalspace,  
  9.                sum(t.blocks) totalblocks  
  10.           from dba_data_files t  
  11.          group by t.tablespace_name) dbf,  
  12.        (select tt.tablespace_name,  
  13.                sum(tt.bytes) / 1024 / 1024 freespace,  
  14.                sum(tt.blocks) freeblocks  
  15.           from dba_free_space tt  
  16.          group by tt.tablespace_name) dfs  
  17.  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;

相关内容