이번에 본사 Database를 dump 받아 서 import 시키는 중에 자꾸 size 오류가 나서
file 사용량을 보고 싶으나.... Toad가 없는 관계로 query를 인터넷으로 찾아 보니
아래와 같이 나온다.


SELECT b.file_name "FILE_NAME", -- DataFile Name
       b.tablespace_name "TABLESPACE_NAME", -- TableSpace Name
       b.bytes / 1024 / 1024 "TOTAL SIZE(MB)", -- 총 Bytes
       ((b.bytes - sum(nvl(a.bytes,0)))) / 1024 / 1024 "USED(MB)", -- 사용한 용량
       (sum(nvl(a.bytes,0))) / 1024 "FREE SIZE(KB)", -- 남은 용량
       (sum(nvl(a.bytes,0)) / (b.bytes)) * 100 "FREE %", -- 남은 %
       round((b.bytes / 1024 / 1024) - ((((b.bytes - sum(nvl(a.bytes,0)))) / 1024 / 1024) + 150)) ForFree,
       'alter database datafile '''||b.file_name||''' resize '||round((((b.bytes - sum(nvl(a.bytes,0)))) / 1024 / 1024) + 150)||'M;' str
FROM  DBA_FREE_SPACE a, DBA_DATA_FILES b
WHERE a.file_id(+) = b.file_id
  AND (b.tablespace_name like 'CSR%' or b.tablespace_name like 'IRIS%') -- CSR이나 IRIS만 선택
GROUP BY b.tablespace_name, b.file_name, b.bytes
ORDER BY b.tablespace_name;

그동안 Oracle을 4년 넘게 사용 안하다 보니 다 까먹은 것 같다.-.-

흠.. 이번에 DBGuide 교육 당첨되서 다시 한번 좀 써 봤으면 좋겠는데..^^
Posted by headiron
,