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

암튼... 이 모든 작업을 하기전에 먼저 확인할 내용이 있죠. 현재 백업하려는 테이블 들의 총 용량이 얼마나 되는지 입니다. 이걸 알아야 백업한 파일을 어디에 저장할 건지 그리고 백업을 어떻게 할건지를 결정할 수 있겠죠. 그래서 이것 저것 알아보다가 정확하진 않지만 알아보는 쿼리를 얻었습니다. 제가 정확한 결과를 찾겠다며 헤메고 있자, 사수님이 준 쿼리입니다. ^^;
꼭 정확한 사용량을 알아야 겠다면 통계자료를 수집하도록 한 뒤에 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


위의 쿼리문을 적당히 고치면 원하는 내용을 얻을 수 있습니다.원하는 테이블만, 혹은 원하는 유저의 테이블만... 같은 조건을 주면 됩니다.
 이건 오라클의 exp 툴을 이용해서 백업 스크립트를 만들때 괄호를 넣었더니 에러가 발생해서 알게된 것인데...
명령행에 괄호를 넣었더니 에러가 발생했습니다.
() 이런 문자는 넣으면 안된다고 합니다.

예를 들어서
exp scott/tiger file=파일명 log=파일명 tables=(테이블이름)

하면 에러가 발생하고, 괄호를 빼고, 각 테이블 이름에 작은 따옴표(싱글 쿼테이션 마크라고 하죠.)를 넣어주었더니 잘 되더군요. 흠...
 한국 IBM DeveloperWorks[각주:1] 올라온 글중에 리눅스 사용자에게 도움이 될만한 글을 하나 소개하고자 한다.

원문링크 : nmon 성능: AIX와 리눅스 성능 분석을 위한 무료 툴 (한글)

 IBM의 AIX 운영체제에는 NMON이라는 유틸이 있다. nmon은 top보다 다양한 정보를 보여주기때문에 시스템 모니터링시에 유용하게 쓸 수 있다.
리눅스 사용자들은 모니터링을 할때 top을 사용하는데, nmon을 사용하면 다양한 자료를 선택해서 볼 수 있다. AIX 전용 프로그램인줄로만 알았는데, IBM 홈페이지에서 Linux용 실행파일을 다운로드 받을 수 있다. 다운로드 받은 압축 파일을 풀어보면 Debian 3.1, Fedora 5, Knoppix 5, RHEL 2~4, SLES 9~10에서 실행할 수 있는 파일들이 있다.

사용자 삽입 이미지

실행화면

리눅스용 실행 초기 화면. 단축키에 대한 설명이 표시된다.

사용자 삽입 이미지

사용예

필요한 내용만 골라서 위의 화면처럼 사용할 수 있다.
  1. IBM DeveloperWorks는 개발 및 관리에 관한 다양한 기술문서 및 유명 IT 인사들의 컬럼, 인터뷰 등이 담겨있는 개발자를 위한 사이트이며 한국 IBM에서는 한글판 DeveloperWorks를 운영하고 있다. www.ibm.com/developerworks/kr [본문으로]

+ Recent posts