DBAtlas · 데이터베이스 운영 아틀라스

테이블스페이스 여유 공간 조회

Oracle스토리지

명령어

SELECT df.tablespace_name,
       ROUND(df.total_mb/1024,2)                 AS total_gb,
       ROUND(NVL(fs.free_mb,0)/1024,2)           AS free_gb,
       ROUND((df.total_mb-NVL(fs.free_mb,0))/df.total_mb*100,1) AS pct_used
FROM  (SELECT tablespace_name, SUM(bytes)/1024/1024 total_mb
         FROM dba_data_files GROUP BY tablespace_name) df
  LEFT JOIN
       (SELECT tablespace_name, SUM(bytes)/1024/1024 free_mb
          FROM dba_free_space GROUP BY tablespace_name) fs
    ON df.tablespace_name = fs.tablespace_name
ORDER BY pct_used DESC;

하는 일

각 테이블스페이스의 전체 공간, 여유 공간, 사용률을 보여 준다(현재 할당된 공간 기준, autoextend 가능분 제외).

사용 시점

공간 모니터링, 확장이 필요한 테이블스페이스 찾기.

주의

이 쿼리는 현재 데이터 파일 크기 기준이며, autoextend로 더 늘어날 수 있다. temp는 DBA_TEMP_FREE_SPACE를 사용한다. 조회 전용이며 위험 없음.

DBAtlas에서 열기 →

관련 항목