Intro
안녕하세요
초보 DBA 다뉴입니다.
데이터베이스를 관리함에 있어서 여러가지 요소가 있겠지만
그 중 저장공간과 용량에 대한 관리에 도움이 될 만한 쿼리를 하나 소개할까 합니다.
여러 오브젝트들은 TableSpace에 속하여, 저장공간을 차지하고 있는데요.
오늘은 이 TableSpace를 관리하기 위해 TableSpace의 저장공간의 상태를 확인하는 쿼리입니다.
한번 알아보도록 하죠.
알아두기
Tablespace (테이블 스페이스) 란?
Tablespace는 Oracle의 논리적 저장공간입니다.
Tablespace를 나눔으로써 데이터의 관리 / Table, Index 의 분리 등 여러가지 효율을 얻을 수 있습니다.
자세한 내용은 아래의 글을 참고해 주세요!
간단한 쿼리 설명
오라클의 시스템 뷰를 활용하여 작성 된 쿼리입니다.
DBA_가 붙은 뷰는 DB의 모든 내용을 조회 가능한 시스템 뷰 입니다.
반응형
자세한 내용은 위의 공식 문서를 참고해주세요!
Query
Tablespace 조회 쿼리
select A.TABLESPACE_NAME as Tablespace_Name,
A.FILE_NAME as File_Dir,
(A.BYTES - B.FREE) as Use_Size,
B.FREE as Free_Size,
A.BYTES as Total_Size,
TO_CHAR((B.FREE / A.BYTES * 100), '999.99')||'%' as Free_Per
from (select FILE_ID,
TABLESPACE_NAME,
FILE_NAME,
SUBSTR(FILE_NAME, 1, 200) as FILE_NM,
SUM(BYTES) as BYTES
from DBA_DATA_FILES
group by FILE_ID,
TABLESPACE_NAME,
FILE_NAME,
SUBSTR(FILE_NAME, 1, 200)
) A
join (select TABLESPACE_NAME,
FILE_ID,
SUM(NVL(BYTES,0)) as FREE
from DBA_FREE_SPACE
group by TABLESPACE_NAME,
FILE_ID
) B
on A.TABLESPACE_NAME = B.TABLESPACE_NAME
and A.FILE_ID = B.FILE_ID;
컬럼 설명
- Tablespace_Name : 테이블스페이스 명칭
- File_Dir : 파일 위치
- Use_Size : 사용 공간 크기
- Free_Size : 남은 공간 크기
- Total_Size : 총 공간 크기
- Free_Per : 공간 사용률
Outro
오라클 테이블스페이스의 사용량과 물리적인 DataFile 위치를 확인하는 쿼리를 알아보았는데요.
데이터베이스를 관리 할 때 필수인 테이블스페이스에 기본적인 정보를 손쉽게 볼 수 있겠네요.
다음에 더 좋은 내용으로 찾아뵙겠습니다.
감사합니다.
반응형
'DATABASE > Oracle' 카테고리의 다른 글
[Oracle] 테이블 정의서 만들기 - 쿼리로 추출하기 (0) | 2024.04.02 |
---|---|
[Oracle] External Table - 외부 CSV 파일을 테이블로 만들기 (0) | 2024.03.30 |
[Oracle] Table / Column Comment - 코멘트, 설명 달기 (0) | 2024.01.26 |
[Oracle] 11g 시퀀스 (Sequence) 컬럼 자동 증가 값 (1) | 2023.08.09 |
[Oracle] 파티션(Partition) 2 - Range Partition, Interval Partition (2) | 2023.08.04 |
[Oracle] 저장 구조 - Tablespace, Segments, Extents, Data Block, OS Block, Data File (1) | 2023.07.29 |
[Oracle][Error] ORA-01502: 인덱스 'PK_Name' 또는 인덱스 분할영역은 사용할 수 없는 상태입니다. (1) | 2023.07.28 |
[Oracle] 파티션 (Partition) 1 - 테이블 파티션 이란? (0) | 2023.07.13 |