1. 작업 개요
본 작업은 서버 이관 작업 전, 이관 대상 시스템에서 사용되는 SQL 문의 실행 계획을 정밀하게 분석하는 것을 목적으로 합니다. 이를 통해 각 쿼리가 데이터베이스에서 실제로 어떻게 실행되는지, 옵티마이저가 어떠한 실행 경로를 선택하는지, 그리고 인덱스 활용 여부 및 풀 스캔 발생 여부 등을 확인합니다. 분석 결과는 Oracle SPA(SQL Performance Analyzer)와 AWR(Automatic Workload Repository) 리포트를 통해 수집되며, 향후 이관 후 튜닝 및 성능 개선 작업의 중요한 기초 자료로 활용됩니다.
2. 작업 목적
- 실행 경로 파악:
각 SQL 문의 실행 계획을 면밀하게 분석하여, 옵티마이저가 선택한 실행 경로를 파악합니다. 이를 통해 불필요한 풀 스캔, 인덱스 미사용, 조인 방식의 비효율 등 성능 저하 요인을 식별할 수 있습니다. - 병목 현상 도출:
실행 계획 분석을 통해 특정 쿼리나 연산이 시스템 리소스를 과도하게 소모하는지, 병목 현상이 발생하는 지점을 도출합니다. - 튜닝 개선 포인트 마련:
분석 결과를 기반으로 인덱스 재설계, 힌트 적용, 조인 방식 변경 등 구체적인 튜닝 개선 사항을 도출하여, 이관 후 성능 최적화 작업의 우선순위를 결정합니다.
3. 세부 절차 및 도구 활용 방안
(1) 초기 환경 및 도구 준비
- 도구 설치 및 환경 설정:
Oracle SPA 및 AWR 리포트를 활용할 수 있도록 관련 도구의 최신 버전을 설치하고, 데이터베이스 접속 환경을 구성합니다. - 기본 성능 수치 확보:
작업 시작 전, 기존 시스템의 기본 성능 수치를 AWR 리포트를 통해 확보하여, 향후 변경 전후 비교 기준으로 활용합니다.
(2) 실행 계획 수집
- SQL 문의 식별:
이관 대상 시스템에서 사용되는 주요 SQL 문(데이터 추출, 로딩, 검증 쿼리 등)을 식별하고, 각각의 SQL 문에 대해 실행 계획을 수집합니다. - Oracle SPA 활용:
SPA를 이용하여 각 SQL 문의 실행 계획을 자동으로 수집하고, 실행 계획 내의 각 연산(예: 인덱스 스캔, 풀 스캔, 조인 방식 등)의 상세 정보를 기록합니다.
(3) 실행 계획 분석
- 세부 분석:
수집된 실행 계획을 검토하여, 옵티마이저가 선택한 실행 경로를 이해합니다. 특히, 불필요한 풀 스캔이나 인덱스 미사용 사례를 집중적으로 분석합니다. - AWR 리포트 연계:
AWR 리포트를 활용하여 시스템 전체의 리소스 사용 현황 및 특정 SQL 문의 실행 빈도, CPU 및 I/O 비용 등을 분석하고, 실행 계획과 비교합니다. - 문제점 도출:
분석 결과를 바탕으로 병목 구간, 인덱스 부적절 사용, 조인 순서 문제 등 개선이 필요한 부분을 구체적으로 도출합니다.
(4) 개선 포인트 도출 및 우선순위 결정
- 개선 사항 정리:
각 SQL 문별로 도출된 문제점을 목록화하고, 인덱스 재설계, 힌트 적용, 조인 방식 변경 등 구체적인 개선 포인트를 정리합니다. - 우선순위 산정:
쿼리의 실행 빈도, 리소스 소모 정도, 시스템 전반에 미치는 영향 등을 고려하여, 튜닝 작업의 우선순위를 산정합니다.
(5) 결과 문서화 및 공유
- 보고서 작성:
분석 결과와 개선 포인트를 포함한 상세 실행 계획 분석 보고서를 작성합니다. 보고서에는 각 SQL 문의 실행 계획, AWR 리포트 요약, 개선 권고 사항 등을 포함합니다. - 내부 리뷰:
작성된 보고서를 DBA 팀 및 관련 부서와 공유하여, 추가 의견을 수렴하고 최종 개선 방향을 확정합니다. - 문서 관리:
최종 보고서는 내부 문서 관리 시스템(OEM 포함)에 저장하여, 이관 후 성능 비교 및 후속 튜닝 작업에 참고자료로 활용합니다.
4. 일정 및 검증 계획
- 일정:
- 도구 설치 및 기본 성능 수치 확보: 1일
- SQL 문 식별 및 실행 계획 수집: 2일
- 실행 계획 세부 분석 및 AWR 연계 분석: 2일
- 개선 포인트 도출 및 우선순위 결정: 1일
- 결과 보고서 작성 및 내부 리뷰: 1일
→ 총 소요 기간: 약 7일 (시스템 규모 및 복잡도에 따라 조정)
- 검증 계획:
- 수집된 실행 계획이 AWR 리포트의 리소스 사용 현황과 일치하는지 비교 검증합니다.
- 주요 쿼리에 대해 도출된 개선 사항을 시범적으로 적용한 후, SPA를 통해 변경 전후의 성능 차이를 재검증합니다.
- 내부 리뷰 회의를 통해 문서의 완성도와 분석 결과의 신뢰성을 확인합니다.
5. 예상 위험 요소 및 대응 방안
- 위험 요소:
- 일부 SQL 문이 로그나 스크립트에서 누락될 우려가 있으며, 도구의 자동 수집 기능이 모든 쿼리를 완벽하게 반영하지 못할 수 있습니다.
- 실행 계획 분석 시, 데이터베이스 환경 변화로 인해 측정된 성능 지표에 오차가 발생할 가능성이 있습니다.
- 대응 방안:
- 자동화 도구와 수동 검토를 병행하여 누락되는 SQL 문이 없는지 철저하게 확인합니다.
- 여러 차례 반복 측정을 통해 신뢰성 있는 데이터 수집을 실시하고, 이상 징후 발생 시 즉각 재분석합니다.
6. 결론
본 작업 계획서는 서버 이관 프로젝트의 성공적인 진행을 위해 실행 계획(Explain Plan) 분석 작업을 체계적으로 수행하는 방법을 상세히 제시하고 있습니다. Oracle SPA와 AWR을 활용하여 각 SQL 문의 실행 계획을 수집·분석하고, 이를 바탕으로 병목 현상이나 불필요한 풀 스캔 등의 문제점을 도출함으로써, 향후 이관 후 튜닝 작업의 중요한 기초 자료로 활용하고자 합니다.
이와 같은 체계적인 실행 계획 분석은 서버 이관 과정에서 발생할 수 있는 성능 문제를 사전에 예방하고, 안정적인 데이터베이스 운영을 위해 반드시 필요한 과정입니다. 각 단계별로 철저하게 수행된 작업 결과는 내부 문서화되어, 향후 유사 프로젝트 진행 시에도 소중한 참고자료로 활용될 것입니다.
이 계획서를 기반으로 진행된 작업은, 전체 이관 프로젝트의 성공적인 마무리와 안정적인 운영 환경 구축에 크게 기여할 것으로 기대됩니다.
'IT > 서버 이관시 고려해야 할 DB 성능 튜닝' 카테고리의 다른 글
Phase.1-4. 힌트(Hint) 적용 : 이전 후 실행 속도 개선 (0) | 2025.02.09 |
---|---|
Phase 1-3.쿼리 리팩토링 : SQL 이전 전/후 비교 기능 제공 (0) | 2025.02.09 |
Oracle SPA 활용 및 추가 조치 방안: 정밀 성능 분석과 튜닝 전략 (0) | 2025.02.05 |
Oracle 서버 이관 시 쿼리 튜닝 대상 SQL 목록 추출 방법: 사례 및 쿼리 예시 (0) | 2025.02.05 |
Phase 1-1. 이관 대상 쿼리 식별 및 목록화 - 이관 대상이 되는 모든 SQL(추출, 로딩, 검증 쿼리 등) 분석 (0) | 2025.02.05 |
서버 이관 프로젝트에서의 쿼리 튜닝 – Pre, Migration, Post 단계별 접근법 (0) | 2025.02.05 |