IT와/Database

[오라클] SPA(SQL Performance Analyzer)

L트리거 2022. 10. 5.
반응형

1. SPA(SQL Performance Analyzer)

 

SPA 는 데이터베이스의 변경 작업이 실제 SQL 구문에 미치는 영향을 정확하게 비교, 분석하는 방법으로, ORACLE 의 RAT(Real Application Testing) 옵션 중에 하나 입니다.

* RAT : 운영 환경에서 변경 사항을 적용하기 전에 테스트 환경에서 실제 시스템의 변경 사항이 시스템 환경에 미치는 영향을 사전에 파악하여 평가 할 수 있는 기능으로, 업그레이드, 하드웨어 교체 및 OS 변경을 쉽게 수행 할 수 있는 옵션

- DATABASE REPLAY : 운영서버에 가해지는 부하를 그대로 Capture 한 파일을 가지고 테스트

- SQL Performance Analyzer: 분석하고자 하는 특정 SQL 문장들을 대상으로 분석

 

 

1.1 . 목적

데이터베이스 업그레이드 또는 인덱스 추가와 같은 시스템 변경으로 인해 SQL 문의 실행 계획이 변경되어 SQL 성능에 심각한 영향을 줄 수 있습니다. 경우에 따라 시스템을 변경하면 SQL 문이 회귀하여 성능이 저하 될 수 있습니다.

회귀 SQL 문의 경우 SQL Performance Analyzer 는 튜닝 권 장 사항과 함께 적절한 실행 계획 세부 정보를 제공합니다.

또한, SQL 문이 후행하는 경우 사전에 시스템을 조정하거나 SQL 문의 성능이 향상되는 경우 성능 이득을 확인하고 측정 할 수 있습니다.

 

 

1.2 이점

- 업그레이드 등과 같은 작업이 사전에 미리 사용자가 부정적인 결과를 수정할 수 있습니다.
- 시간과 비용을 절약하면서 시스템을 프로덕션 환경으로 변경하면 순 개선 효과를 얻을 수 있 습니다.
- SQL 실행계획/통계정보를 통해 변경 전/후 성능정보 차이 비교 가능합니다.
- 업그레이드전 잠재적인 위험요소 점검할 수 있습니다.
- 특정 SQL 구문 또는 전체 애플리케이션 SQL 워크로드의 실행 결과를 비교하고 분석 할수 있 습니다.
- 시스템 변경에 따른 예측 가능합니다.
- 성능 차이 Report 를 통한 분석 가능합니다.

 

 

1.3 사용 환경

SPA 를 사용하여 아래와 같은 모든 유형의 시스템 변경사항에 대한 SQL 성능에 미치는 영향을 분석 할 수 있습니다.

- DATABASE Upgrade 전
- 12c (PDB) 통합 테스팅
- OS/Hardware 구성 변경
- SCHEMA 변경
- DATABAE Parameter 변경사항
- OPTIMIZER 통계 Refresh
- Validation SQL tuning

 

 

1.4 작업 순서

 

[그림-1] SPA 작업순서

① 운영 서버에서 STS(SQL Tuning Set)를 사용하여 SQL Capture
② STS 를 Test 서버로 이동
③ SPA 작업(SQL Performance Analyzer Workload) 생성
④ 변경 전 SQL 실행 통계를 생성하고 저장
⑤ Make changes (1.2 환경, ex) upgrade, 통계수집 등)
⑥ 5 작업 후 SQL 실행 통계를 생성하고 저장
⑦ Performance 비교 분석
⑧ SPA 에서 수행한 분석을 통해 변경 가능
    - SQL plan baseline 을 설정 하여 regress SQL 을 수정
    - 분석 결과(4 번의 결과와 6 번의 결과)를 비교
    - Report 출력

 

 

기술노트[88회] SQL_Performance_Analyzer.pdf
1.24MB

반응형

댓글

💲 추천 글