본문 바로가기

IT/AWS

AWS Rds for Oracle 에서 Statspack 설정하기

728x90
반응형

Rds for Oracle 에서 Statspack 설정하기

Statspack은 Oracle에서 제공되는 DB 성능 데이터 수집 및 통계 분석 기능이다. 10g Enterprise Edition 이후로 같은 기능을 더욱 효율적으로 수행하는 AWR 기능이 나오며 Statspack은 지원이 종료되었다. 하지만 AWR은 Enterprise Edition에서만 지원되기때문에 Standard 버전의 성능 분석에는 여전히 Statspack이 유용하게 쓰인다.

 

AWS Rds for Oracle에서 Statspack을 설정해보자.

 

1. 설치 여부 확인

DB에서 PERFSTAT 계정이 있는지 확인한다. 존재할 경우 삭제 후 진행한다.

select * from dba_users
where username = 'PERFSTAT';

-- PERFSTAT 계정이 존재할 경우
drop user PERFSTAT CASCADE;

 

 

2. 옵션 그룹에 Statspack 옵션 추가

콘솔에서 Statspack 옵션을 옵션 그룹에 추가한다.

AWS 콘솔 > RDS > 데이터베이스 > 해당 데이터베이스 > 구성 > 옵션그룹 선택

 

옵션 추가 > STATSPACK 선택 > 옵션 추가

재기동 없이 즉시 적용된다.

 

 

 

옵션그룹에 Statspack 을 추가하면 RDS는 자동으로 DB 인스턴스에 Statspack 스크립트를 설치한 후 PERFSTAT 계정을 설정한다.

 

3. PERFSTAT 계정 설정

계정 잠금 해제 및 비밀번호 재설정, 권한 부여를 수행한다.

ALTER USER PERFSTAT IDENTIFIED BY pwd ACCOUNT UNLOCK;
GRANT CREATE JOB TO PERFSTAT; -- 19c 이상만 수행

 

4. PERFSTAT.STATS$IDLE_EVENT 테이블에 데이터가 존재 여부 확인

PERFSTAT.STATS$IDLE_EVENT 테이블에 데이터가 존재하는지 확인한다.

Oracle 버그 28523746 로 PERFSTAT.STATS$IDLE_EVENT의 유휴 대기 이벤트가 채워지지 않는 경우가 있다.

확인 후 데이터가 없을 시 아래 insert문을 수행한다.

INSERT INTO PERFSTAT.STATS$IDLE_EVENT (EVENT)
SELECT NAME FROM V$EVENT_NAME WHERE WAIT_CLASS='Idle'
MINUS
SELECT EVENT FROM PERFSTAT.STATS$IDLE_EVENT;
COMMIT;

 

 

5. statspack 자동 수집 설정

-- PERFSTAT 계정으로 수행
DECLARE jn NUMBER;

BEGIN
SYS.DBMS_JOB.SUBMIT(
	:jn
	, 'STATSPACK.SNAP;'
	, SYSDATE'           -- 최초 수행 시간
	, 'SYSDATE+1/24/4'   -- 다음 수행 시간, 15분 간격
);
COMMIT;

END;

 

설정 완료 시 USER_JOBS 에 아래와 같이 등록된 것을 확인할 수 있다.

 

 

6. Statspack 보고서 생성

stats$snapshot 에서 스냅샷 리스트를 확인한다.

분석하고자 하는시간의 SNAP_ID 를 확인한다.

 

아래 명령어로 레포트를 생성한다.

exec rdsadmin.rds_run_spreport(9,12); -- 14:02 - 14:47 에 대한 보고서 생성

 

 

 

7. Statspack 레포트 확인

AWS 콘솔 > RDS > 데이터베이스 > 해당 데이터베이스 > 로그 및 이벤트

spreport 검색 > 다운로드

 

 

 

 

참고 자료

https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.Statspack.html

 

Oracle Statspack - Amazon Relational Database Service

Oracle Statspack Oracle 옵션(STATSPACK)은 Oracle Statspack 성능 통계 기능을 설치하고 활성화합니다. Oracle Statspack은 성능 데이터를 수집, 저장 및 표시하는 SQL, PL/SQL 및 SQL*Plus 스크립트의 모음입니다. Oracle

docs.aws.amazon.com

 

728x90
반응형