스키마 내에서 테이블 크기를 예측하는 방법 (Oracle)


11

스키마 내 테이블 크기 (MB)를 추정하려고합니다. 이것이 내가 지금까지 가진 것입니다.

SELECT table_name, owner, last_analyzed
FROM all_tables

나는 SQL에 상당히 익숙하지 않으므로 어떻게 해야할지 모르겠다.

감사합니다.

답변:


10

"dba_segments"보기 (또는 dba 권한이없는 경우 user_segments)를보십시오. 다음 쿼리는 원하는 것을 제공합니다.

select
  owner as "Schema"
  , segment_name as "Object Name"
  , segment_type as "Object Type"
  , round(bytes/1024/1024,2) as "Object Size (Mb)"
  , tablespace_name as "Tablespace"
from dba_segments
order by owner;

안녕하세요 Benoit, 그것은 완벽하게 감사했습니다. 사용할 수있는 테이블 필드를 살펴 보았지만 "소유자"또는 마지막으로 업데이트 된 필드를 찾을 수 없었습니다. 그건 그렇고, 나는 user_segments보기를 사용했습니다. 이 정보가 dba_segments에서 사용 가능합니까?
Diego R

user_segments에 표시된 모든 세그먼트는 로그온하는 데 사용한 계정이 소유하므로 소유자 열이없는 것입니다.
Benoit 2016 년

1024/1024의 올바른 접두어 Mi가 아닙니다 M( 이진 접두어 참조 )
Wernfried Domscheit
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.