분명 데이터가 있는 테이블인데 num_rows, avg_row_len 값이 null로 뜬다
왜? 통계정보를 갱신하지 않으면 값을 저장하지 않기 때문....
통계정보를 갱신하지 않는 이유는 갱신할 경우 쿼리 실행 플랜이 바뀌기 때문에 성능 변화가 일어날 수 있어서
통계정보를 갱신하지 않는 방법으로 오라클을 운영하고 있어서 이다.
해결방법
select owner, sum(BYTES)/1024/1024 as MB
from dba_segments
where SEGMENT_TYPE = 'TABLE'
and OWNER in ('계정명', '계정명')
group by OWNER
select substr(SEGMENT_NAME, 0, 3) sum(BYTES)/1024/1024 mb
from dba_segments
where SEGMENT_TYPE = 'TABLE'
and OWNER in ('계정명')
and substr(SEGMENT_NAME, 0, 3) in ('테이블명 중 세글자 부분')
group by substr(SEGMENT_NAME, 0, 3)
추가 쿼리
select '(select count(*) from '
|| TABLE_NAME
|| ')+'
from all_tables
where owner = '계정명'