블록 크기를 동적으로 조회하여 데이터 파일의 사용량을 모니터링

2024. 7. 1. 20:20DBMS/ORACLE Admin

반응형
SELECT DISTINCT 
       d.file_id AS file#,
       d.tablespace_name AS ts_name,
       d.bytes / 1024 / 1024 AS MB,
       d.bytes / 8192 AS total_blocks,
       SUM(e.blocks) AS used_blocks,
       TO_CHAR(NVL(ROUND(SUM(e.blocks) / (d.bytes / 8192), 4), 0) * 100, '09.99') || '%' AS pct_used
FROM   dba_extents e,
       dba_data_files d
WHERE  d.file_id = e.file_id(+)
GROUP BY d.file_id, d.tablespace_name, d.bytes
ORDER BY 1, 2;

 

 

 

데이터베이스에서 각 데이터 파일의 사용량을 조회하여 사용된 블록의 백분율을 계산하여 반환한다.

 


bytes / 1024 / 1024 (MB): 데이터 파일의 크기를 메가바이트(MB) 단위로 변환하여 반환
bytes / 8192 (total_blocks): 데이터 파일의 총 블록 수를 계산한다. 여기서 8192는 블록 크기(바이트 단위)
SUM(e.blocks) (used_blocks): 해당 데이터 파일에서 사용된 블록의 총합을 계산
pct_used: 사용된 블록 비율을 백분율로 계산하고 포맷팅하여 반환

 

 

반응형

'DBMS > ORACLE Admin' 카테고리의 다른 글

tablespace 장애 offline checkpoint  (0) 2024.07.01
tablespace 용량 문제 관리 - autoextend  (0) 2024.07.01
System tablespace Data Dictionary View  (0) 2024.07.01
Checkpoint  (0) 2024.06.26
DATABASE BUFFER CACHE  (0) 2024.06.25