sqlplus查询oracle数据库数据容量

本文介绍如何使用SQL查询来管理Oracle数据库中的表空间,包括登录SQLPlus的方法、查询表空间使用情况的具体SQL语句,以及如何通过不同视图计算表空间的总大小。

登录sqlplus:

cmd命令行登录:sqlplus orcl/orcl as sysdba

查询表空间使用率

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

 

select tablespace_name, segment_name, bytes / 1024 / 1024    from user_segments  where segment_type = 'TABLE'    and tablespace_name = 'VNOX'  order by bytes desc ;

 

查询表空间总大小(DBA_DATA_FILES和DBA_SEGMENTS,DBA_FREE_SPACE区别)

1, dba_data_files,dba_segments,dba_free_space
得出结论:一般情况下(没有drop表的时候):dba_data_files bytes = (dba_segments bytes + dba_free_space bytes)

实验:

SQL> Select sum(bytes)/1024/1024/1024 from dba_segments;
SUM(BYTES)/1024/1024/1024
-------------------------
           1.58441162

SQL> select sum(bytes)/1024/1024/1024 from dba_free_space;
SUM(BYTES)/1024/1024/1024
-------------------------
           .323669434

SQL> select sum(bytes)/1024/1024/1024 from dba_data_files;
SUM(BYTES)/1024/1024/1024
-------------------------
        1.9140625

转载于:https://www.cnblogs.com/nieyuqin/p/10622676.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值