Oracle查看表空间使用率&表空间扩容

本文提供了查看Oracle数据库中表空间名称、使用率、数据文件大小及自动扩展情况的SQL命令,还包括如何扩容表空间以及检查临时表空间的状态和使用情况。针对OMF文件管理模式,还展示了表空间和临时表空间的扩容方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查看所有表空间名称:

SQL> select tablespace_name from dba_tablespaces;

查看表空间使用率:

SQL> set linesize 200
SQL> select total.tablespace_name, round(total.size_mb,2) total_mb, 
round(total.size_mb - free.size_mb,2) used_mb,
round((1 - free.size_mb/total.size_mb)*100,2) || '%' as used_percent
from (
  select tablespace_name, sum(bytes)/1024/1024 size_mb from dba_free_space 
  group by tablespace_name
  ) free,
  (select tablespace_name, sum(bytes)/1024/1024 size_mb from dba_data_files
  group by tablespace_name
  ) total
where free.tablespace_name = total.tablespace_name
order by used_percent desc;

查看数据文件大小以及是否自动扩展:

SQL> select file_name, tablespace_name, bytes/1024/1024 total_mb,
maxbytes/1024/1024 max_mb, autoextensible
from dba_data_files where tablespace_name='XXX';

表空间扩容(以OMF为例):

--OMF文件管理模式下,单个数据文件达到自动扩展的上限后,需要通过新增数据文件来对表空间扩容
SQL> alter tablespace <tablespace_name> add datafile;

查看临时表空间大小以及使用率:

SQL> select tablespace_name, tablespace_size/1024/1024 size_mb, 
free_space/1024/1024 free_mb, 
round((1 - nvl(free_space,0)/tablespace_size)*100,2) used_percent 
from dba_temp_free_space;

查看临时表空间文件以及是否自动扩展:

SQL> set linesize 200
SQL> col file_name format a60
SQL> select tablespace_name, file_name, bytes/1024/1024 size_mb,
maxbytes/1024/1024 max_mb, autoextensible from dba_temp_files;

临时表空间扩容(以OMF为例):

SQL> alter tablespace temp add tempfile;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GottdesKrieges

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值