
STATSPACK을
이용한
오라클
데이타베이스
트렌드
분석 
모든
오라클
데이타베이스를
정밀하게
튜닝하기
위해서는
히스토리컬
데이타
수집
메커니즘이
필요하며,
또
변경사항들이
데이타베이스
성능에
미치는
영향을
보여주는
리포트로
이
데이타를
번역하는
기능이
필요하다.
오라클의
새로운 STATSPACK
유틸리티는 STATSPACK
테이블에
대한
트렌드
분석
리포트를
작성하는
기능과
함께
필요한
데이타를
수집할
수
있는
기능을
제공한다.
글 | Donald K. Burleson |
Oracle DBA 저널인 Oracle
Internals의
수석
편집자 |
www.dba-oracle.com
STATSPACK 유틸리티는
Oracle8i(릴리즈 8.1.6)에서
처음으로
소개됐지만,
오라클은
패치를
다운로드해(/oramag/oracle/00-Mar/statspack-other.html
참조) STATSPACK을
Oracle8 데이타베이스와
함께
사용할
수
있도록
지원하고
있다.
DBA가
이
패치를
일단 Oracle8에
인스톨했다면,
이제
언제든
유용한
성능
데이타를
수집해
분석할
수
있는
준비를
갖추었다고
할
수
있다.
STATSPACK 유틸리티는
Oracle Begin-Statistics(BSTAT)와
End-Statistics(ESTAT) 유틸리티의
특별
버전을
실행하는
스크립트
세트이다.
이
유틸리티들은 100개
이상의
성능
메트릭스에
대해
경과된
시간
통계를
포착한다.
그러나 BSTAT/ESTAT
유틸리티와
달리 STATSPACK은
성능
데이타를
포착해
특정한
오라클
테이블에
데이타를
저장한다.
모든 STATSPACK
테이블은 PERFSTAT
사용자가
소유하며,
모든
테이블은 STATS$로
시작된다.|리스트
1| 은 STATSPACK
테이블이며, |리스트
2|는
전체 STATSPACK
테이블
네임
리스트이다.
|리스트 3|
을
통해 buffer_pool_statistics에는
전체
데이타베이스에
대한
물리적인
읽기와
쓰기
합계를
포함한
많은
정보가
포함되어
있다는
것을
알
수
있다.
먼저
테이블
구조를
이해한
다음,
용량
계획에
대한
커스터마이즈된
트렌드
리포트를
검토하게
된다.
그러면
트렌드
분석에
대해
포괄적으로
살펴본
후
이들
리포트가
작성되는
방법에
대해
살펴보기로
하자.
STATSPACK은
최근에
소개됐기
때문에
오라클은 ‘STATSREP80.SQL'이라는
단일
리포트만을
지원하고
있다.
이는
지정된 2개
시점
사이에서
일어나는
변화를
검토할
수
있는
우수한
리포트이기는
하지만
트렌드
리포트를
만드는
데
필요한
데이타를
제공하지는
않는다.
숙련된 DBA는
시간
경과에
따른
성능
데이타
측정을
통해
시간별,
날짜별,
그리고
주별 ‘사인(Signature)'등을
자세히
파악할
수
있다는
것을
알고
있다.
모든
사람이
저마다
고유의
사인을
가지고
있는
것처럼,
각
데이타베이스도 I/O,
정렬,
데이타
버퍼
적중률(Hit Ratio)
등에
대한
고유의
사인을
가지고
있다.
따라서
이러한
사인들은
특정한
데이타베이스
작업이
데이타베이스에
압력을
가하게
될
경우
이를 DBA에게
알리게
된다.
시계열
플로팅(Time Series Plotting)의
목적은
다양한
데이타베이스
메트릭스를
위한
사인들을
개발하기
위한
것이다.
예를
들어, I/O가
항상
화요일
오전 9시에
높다거나,
데이타
버퍼
적중률이
항상
수요일
오후에
낮아진다는
사실을
발견하게
될
수도
있다. DBA는
이러한
사인
정보를
확보함으로써
데이타베이스
성능의
최고점과
최저점에
맞는
합당한
계획을
수립할
수
있게
된다.
몇
가지
실제 STATSPACK
플롯을
살펴봄으로써
이러한
개념을
파악해
보도록
하자. ?트렌드
리포트를
검토하게
된다.
그러면
트렌드
분석에
대해
포괄적으로
살펴본
후
이들
리포트가
작성되는
방법에
대해
살펴보기로
하자.
|