Oracle 表空間查詢相關sql

kongjinyan0003發表於2017-11-27

最近使用oracle 匯入資料 遇到表空間的各種問題,從網上搜羅了一些sql ,以供不時只需
--查詢表空間資訊
SELECT a.tablespace_name ,
      a.bytes / 1024 / 1024                              "表空間大小(M)",
      ( a.bytes - b.bytes ) / 1024 / 1024                "已使用空間(M)",
      b.bytes / 1024 / 1024                              "空閒空間(M)",
      Round(( ( a.bytes - b.bytes ) / a.bytes ) * 100, 2) "使用比率"
FROM  (SELECT tablespace_name,
              SUM(bytes) bytes
        FROM  dba_data_files
        GROUP  BY tablespace_name) a,
      (SELECT tablespace_name,
              SUM(bytes) bytes,
              Max(bytes) largest
        FROM  dba_free_space
        GROUP  BY tablespace_name) b
WHERE  a.tablespace_name = b.tablespace_name
ORDER  BY ( ( a.bytes - b.bytes ) / a.bytes ) DESC



--檢視錶空間對應的datafile的資訊
SELECT file_name,
      tablespace_name,
      bytes / 1024 / 1024    "bytes MB",
      maxbytes / 1024 / 1024 "maxbytes MB"
FROM  dba_data_files
WHERE  tablespace_name = 'DJGL_DATA';


--檢視錶空間對應的datafile是否可以自動擴充套件
SELECT file_id,
      file_name,
      tablespace_name,
      autoextensible,
      increment_by
FROM  dba_data_files
WHERE  tablespace_name = 'DJGL_DATA'
ORDER  BY file_id DESC;

相關文章