查看表空间及文件大小的语句-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

查看表空间及文件大小的语句

简介:
SELECT d.tablespace_name TS_Name,
       d.contents TS_Type,
       d.status TS_Status,
       d.extent_management TS_ExtentManagement,
       trunc(NVL(a.bytes / 1024 / 1024, 0)) TS_Size,
       trunc(NVL(a.bytes - NVL(f.bytes, 0), 0) / 1024 / 1024) TS_UsedSize,
       trunc(NVL((a.bytes - NVL(f.bytes, 0)) / a.bytes * 100, 0)) TS_Used
  FROM sys.dba_tablespaces d,
       (select tablespace_name, sum(bytes) bytes
          from dba_data_files
         group by tablespace_name) a,
       (select tablespace_name, sum(bytes) bytes
          from dba_free_space
         group by tablespace_name) f
 WHERE d.tablespace_name = a.tablespace_name(+)
   AND d.tablespace_name = f.tablespace_name(+)
   AND NOT
        (d.extent_management like 'LOCAL' AND d.contents like 'TEMPORARY')
UNION ALL
SELECT d.tablespace_name TS_Name,
       d.contents TS_Type,
       d.status TS_Status,
       d.extent_management TS_ExtentManagement,
       trunc(NVL(a.bytes / 1024 / 1024, 0)) TS_Size,
       trunc(NVL(t.bytes, 0) / 1024 / 1024) TS_UsedSize,
       trunc(NVL(t.bytes / a.bytes * 100, 0)) TS_Used
  FROM sys.dba_tablespaces d,
       (select tablespace_name, sum(bytes) bytes
          from dba_temp_files
         group by tablespace_name) a,
       (select tablespace_name, sum(bytes_cached) bytes
          from v$temp_extent_pool
         group by tablespace_name) t
 WHERE d.tablespace_name = a.tablespace_name(+)
   AND d.tablespace_name = t.tablespace_name(+)
   AND d.extent_management like 'LOCAL'
   AND d.contents like 'TEMPORARY'
 order by TS_Name;
TS_NAME                        TS_TYPE   TS_STATUS TS_EXTENTMANAGEMENT TS_SIZE_MB TS_USEDSIZE_MB    TS_USED
------------------------------ --------- --------- ------------------- ---------- -------------- ----------
EXAMPLE                        PERMANENT ONLINE    LOCAL                      100             77         77
SYSAUX                         PERMANENT ONLINE    LOCAL                      240            238         99
SYSTEM                         PERMANENT ONLINE    LOCAL                      480            475         99
TEMP                           TEMPORARY ONLINE    LOCAL                       20             18         90
UNDOTBS1                       UNDO      ONLINE    LOCAL                       35             28         81
USERS                          PERMANENT ONLINE    LOCAL                        5              3         65



--查看数据文件大小
select a.tablespace_name,a.file_name,a.bytes/1024/1024 total_mb, (a.bytes - nvl(c.bytes, 0))/1024/1024 use_mb
  from (select a.*,
               d.STATUS file_status,
               a.increment_by * b.block_size extendbytes
          from dba_data_files a, dba_tablespaces b, v$datafile d
         where a.tablespace_name = b.tablespace_name
           and a.file_id = d.FILE#
           /*and a.file_id = :file_id*/) a
  left join (select file_id, sum(bytes) bytes
               from dba_free_space
              /*where file_id = :file_id*/
              group by file_id) c on a.file_id = c.file_id
union all
select a.tablespace_name,a.file_name,a.bytes/1024/1024 total_mb, c.bytes/1024/1024 use_mb
  from (select a.*,
               d.STATUS file_status,
               a.increment_by * b.block_size extendbytes
          from dba_temp_files a, dba_tablespaces b, v$tempfile d
         where a.tablespace_name= b.tablespace_name
           and a.file_id = d.FILE#
           /*and a.file_id = :file_id*/) a
  left join (select file_id, sum(bytes_cached) bytes
               from v$temp_extent_pool
              /*where file_id = :file_id*/
              group by file_id) c on a.file_id = c.file_id
TABLESPACE_NAME                FILE_NAME                                                                          TOTAL_MB     USE_MB
------------------------------ -------------------------------------------------------------------------------- ---------- ----------
SYSTEM                         D:\ORACLE\PRODUCT\10.2.0\ORADATA\JINGYONG\SYSTEM01.DBF                                  480      475.5
UNDOTBS1                       D:\ORACLE\PRODUCT\10.2.0\ORADATA\JINGYONG\UNDOTBS01.DBF                                  35    28.4375
USERS                          D:\ORACLE\PRODUCT\10.2.0\ORADATA\JINGYONG\USERS01.DBF                                     5       3.25
EXAMPLE                        D:\ORACLE\PRODUCT\10.2.0\ORADATA\JINGYONG\EXAMPLE01.DBF                                 100    77.6875
SYSAUX                         D:\ORACLE\PRODUCT\10.2.0\ORADATA\JINGYONG\SYSAUX01.DBF                                  240   238.8125
TEMP                           D:\ORACLE\PRODUCT\10.2.0\ORADATA\JINGYONG\TEMP01.DBF                                     20         18
 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章
最新文章
相关文章