본문 바로가기

ORACLE 자료

[ORACLE] 특정 TABLESPACE의 DATAFILE 확인하기

1. 오라클에서 특정 TABLESPACE의 DATAFILE을 확인하는 방법은 아래의 쿼리를

    통해 확인한다.

 

    SELECT *

       FROM DBA_DATA_FILES

     WHERE TABLESPACE_NAME = '';

 

 

2. TABLESPACE별 사용량 추이를 확인하기 위해서는 아래의 쿼리를 통해 확인한다.

 

SELECT TSPACE,TOTAL,U_MB,F_MB,F_PER,PIECES, SYSDATE
  FROM (
  SELECT ROWNUM ID,TSPACE,TOTAL,U_MB,F_MB,F_PER,PIECES
   FROM (
     SELECT DF.TABLESPACE_NAME TSPACE,
         ROUND(DF.TBS_BYTE /1048576,2) TOTAL,
         ROUND((DF.TBS_BYTE - FS.FREE_BYTE)/1048576,2) U_MB,
         ROUND(FS.FREE_BYTE /1048576,2) F_MB,
         ROUND((FS.FREE_BYTE/DF.TBS_BYTE) *100,0) F_PER,
         FS.PIECES PIECES,
         ROUND(FS.MAX_FREE /1048576,2) MAX_F_MB
         FROM   ( SELECT TABLESPACE_NAME, SUM(BYTES) TBS_BYTE
         FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME ) DF,
         ( SELECT TABLESPACE_NAME, MAX(BYTES) MAX_FREE,
           SUM(BYTES) FREE_BYTE, COUNT(*) PIECES
         FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME ) FS,
         ( SELECT TABLESPACE_NAME, INITIAL_EXTENT, NEXT_EXTENT
         FROM DBA_TABLESPACES ) DB
         WHERE DF.TABLESPACE_NAME = DB.TABLESPACE_NAME
         AND   DF.TABLESPACE_NAME = FS.TABLESPACE_NAME(+)
         ORDER BY 5 DESC
      )
      ORDER BY ID DESC
  )
  WHERE ROWNUM<200;

 

 3. 특정 TABLESPACE의 TABLE 정보 조회  방법은 아래의 쿼리를 통해 확인한다.

SELECT *
FROM ALL_TABLES
WHERE TABLESPACE_NAME = '';