sqlplus查询oracle数据库数据容量

登录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

猜你喜欢

转载自www.cnblogs.com/nieyuqin/p/10622676.html