--특정 사용자 테이블별 용량 확인#1
SELECT
	owner, segment_name, segment_type, sum(bytes)/1024/1024 AS MB
FROM
	DBA_SEGMENTS
WHERE
	segment_type='TABLE'
	AND owner = [사용자 아이디]
GROUP BY
	owner, segment_name, segment_type
ORDER BY
	mb desc;	


--특정 사용자 테이블별 용량 확인#2
SELECT
	A.segment_name, ROUND(SUM(A.bytes)/1024/1024) "SIZE_MB", A.segment_type
FROM
	DBA_SEGMENTS A, DBA_TABLES B
WHERE
	A.segment_name = B.TABLE_NAME
	AND A.segment_type IN ('TABLE', 'TABLE_PARTITION')
	AND A.owner = [사용자 아이디]
GROUP BY
	A.segment_name, A.segment_type
ORDER BY
	2 DESC;


--특정 사용자 테이블별 인덱스 용량
SELECT
	A.segment_name, ROUND(SUM(A.bytes)/1024/1024) "SIZE_MB", A.segment_type
FROM
	DBA_SEGMENTS A, DBA_INDEXES B
WHERE
	A.segment_name = B.index_name
	AND A.segment_type IN ('INDEX', 'INDEX PARTITION')
	AND A.owner = [사용자 아이디]
GROUP BY
	A.SEGMENT_NAME, A.SEGMENT_TYPE
ORDER BY
	2 DESC;


--특정 사용자 테이블별 1행당 소요 용량
SELECT
	table_name, SUM(data_length) AS byte
FROM
	ALL_TAB_COLUMNS
WHERE
	owner = [사용자 아이디]
GROUP BY
	table_name
ORDER BY
	byte DESC;

+ Recent posts