태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.
 오늘도 삽질이 계속 되고있습니다. 단순히 백업해둔 파일로 새로운 인스턴스를 띄워서 예전 테이블들을 백업하는 작업이었는데요... 암튼... 속도도 예상보다 많이 느리고... 티볼리 데몬에도 문제가 생기는 등 갖가지 난관에 봉착했습니다. ㅜ.ㅜ

암튼... 이 모든 작업을 하기전에 먼저 확인할 내용이 있죠. 현재 백업하려는 테이블 들의 총 용량이 얼마나 되는지 입니다. 이걸 알아야 백업한 파일을 어디에 저장할 건지 그리고 백업을 어떻게 할건지를 결정할 수 있겠죠. 그래서 이것 저것 알아보다가 정확하진 않지만 알아보는 쿼리를 얻었습니다. 제가 정확한 결과를 찾겠다며 헤메고 있자, 사수님이 준 쿼리입니다. ^^;
꼭 정확한 사용량을 알아야 겠다면 통계자료를 수집하도록 한 뒤에 dba_tables같은 View를 이용하면 되겠지만, 서버에 부하를 주는 작업을 할 수 없는 상황이라면 아래와 같은 쿼리문으로 대략적인 사용량을 알아 볼 수 있습니다.


SELECT   owner,segment_type, tablespace_name, SEGMENT_NAME, SUM(BYTES/(1024*1024))  SIZE_IN_MEG
FROM DBA_SEGMENTS
WHERE tablespace_name IN (SELECT tablespace_name FROM DBA_TABLESPACES WHERE owner NOT IN
  ('SYS','SYSTEM','PUBLIC','OUTLN','WMSYS','ORDSYS','ORDPLUGINS','MDSYS','CTXSYS'
,'XDB','WKSYS','OLAPSYS'))
--GROUP BY rollup( owner,segment_type,tablespace_name,SEGMENT_NAME)
GROUP BY owner,segment_type,tablespace_name,SEGMENT_NAME
ORDER BY SIZE_IN_MEG DESC


위의 쿼리문을 적당히 고치면 원하는 내용을 얻을 수 있습니다.원하는 테이블만, 혹은 원하는 유저의 테이블만... 같은 조건을 주면 됩니다.
크리에이티브 커먼즈 라이선스
Creative Commons License
http://www.hyungjun.kr/trackback/86 관련글 쓰기
YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST