암튼... 이 모든 작업을 하기전에 먼저 확인할 내용이 있죠. 현재 백업하려는 테이블 들의 총 용량이 얼마나 되는지 입니다. 이걸 알아야 백업한 파일을 어디에 저장할 건지 그리고 백업을 어떻게 할건지를 결정할 수 있겠죠. 그래서 이것 저것 알아보다가 정확하진 않지만 알아보는 쿼리를 얻었습니다. 제가 정확한 결과를 찾겠다며 헤메고 있자, 사수님이 준 쿼리입니다. ^^;
꼭 정확한 사용량을 알아야 겠다면 통계자료를 수집하도록 한 뒤에 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
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
위의 쿼리문을 적당히 고치면 원하는 내용을 얻을 수 있습니다.원하는 테이블만, 혹은 원하는 유저의 테이블만... 같은 조건을 주면 됩니다.
'IT 기술 > Oracle' 카테고리의 다른 글
| Solaris에 Oracle 9i 설치하기에 도전중입니다. (0) | 2008/02/29 |
|---|---|
| [삽질기] 개발용 DB 복구 :: OS상의 문제로 Datafile이 손실되었을때 처리 (0) | 2008/02/20 |
| [삽질기] 백업하려는 테이블의 저장 공간 사용량을 알아보려했습니다. (0) | 2008/02/11 |
| Oracle 9i character set 변경 (0) | 2008/01/28 |
| Oracle Database 11g 등장!! (0) | 2007/11/09 |
| [Oracle] 연속된 숫자를 발생시키는 쿼리 (0) | 2007/10/02 |
YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST







