1. 程式人生 > >『ORACLE』查詢表空間使用率和資料檔案大小(11g)

『ORACLE』查詢表空間使用率和資料檔案大小(11g)

查詢表空間對應資料檔案的路徑和大小
select file_id , file_name , tablespace_name , bytes/1024/1024/1024 G
   from dba_data_files
      where tablespace_name like '&tablespace_name' order by 1;
資料檔案查詢對應表空間
select t1.name,t2.name from v$tablespace t1,v$datafile t2 where t1.ts#=t2.ts#;
重新設定資料檔案大小
alter database datafile '/oracle/app/oradata/orcl/eciq_cdtp_02.dbf' resize 7G ;
查表空間使用率情況(含臨時表空間)
SELECT d.tablespace_name "Name", d.status "Status", 
       TO_CHAR (NVL (a.BYTES / 1024 / 1024, 0), '99,999,990.90') "Size (M)",
          TO_CHAR (NVL (a.BYTES - NVL (f.BYTES, 0), 0) / 1024 / 1024,
                   '99999999.99'
                  ) USE,
       TO_CHAR (NVL ((a.BYTES - NVL (f.BYTES, 0)) / a.BYTES * 100, 0),
                '990.00'
               ) "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 "Name", d.status "Status", 
       TO_CHAR (NVL (a.BYTES / 1024 / 1024, 0), '99,999,990.90') "Size (M)",
          TO_CHAR (NVL (t.BYTES, 0) / 1024 / 1024, '99999999.99') USE,
       TO_CHAR (NVL (t.BYTES / a.BYTES * 100, 0), '990.00') "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';
查詢表空間資料檔案是否為自動擴充套件
select file_id,file_name,autoextensible from dba_data_files where tablespace_name like '&tablespace' order by 1;
顯示錶空間的已被使用多少
select tablespace_name,sum(bytes)/1024/1024/1024 G from dba_data_files group by tablespace_name;
 
顯示錶空間還有多少沒有使用
select tablespace_name,sum(bytes)/1024/1024/1024 GB from dba_free_space group by tablespace_name;