oracle表空间扩容/增加表空间容量/查询表空间

以增加数据文件数量的方式增加oracle表空间(不推荐使用表空间自增长和更改表空间数据文件大小)。


查询使用率在95%以上的表空间

select a.tablespace_name                                  "表空间名称",
       round(a.max / 1024 / 1024 / 1024)                  "表空间名称",
       round(a.bytes / 1024 / 1024 / 1024, 2)             "目前表空间总大小",
       round((a.bytes - b.bytes) / 1024 / 1024 / 1024, 2) "已使用空间大小",
       round(b.bytes / 1024 / 1024 / 1024, 2)             "剩余表空间大小",
       round(((a.bytes - b.bytes) / a.bytes) * 100, 2) || '%' "使用率 %"
from (select tablespace_name, sum(bytes) bytes, sum(decode(maxbytes, 0, bytes, maxbytes)) max
      from dba_data_files
      group by tablespace_name) a,
     (select tablespace_name, sum(bytes) bytes, max(bytes) largest from dba_free_space group by tablespace_name) b
where a.tablespace_name = b.tablespace_name
  and (((a.bytes - b.bytes) / a.bytes) * 100) > 95
order by 5, 1;

新增表空间数据文件

/*注意tablespace为需要更改的表空间名称,最后的30G是需要增加表空间大小*/
alter TABLESPACE tablespace ADD DATAFILE '+DATA' SIZE 30G;