1. 작업 개요
본 작업은 서버 이관 프로젝트의 Pre-Migration 단계에서 수행되는 핵심 작업 중 하나로, 이관 대상 쿼리의 식별 및 목록화를 통해 이관 작업 전 전체 SQL 활동을 파악하고, 이후 성능 튜닝 및 모니터링 작업의 기초 자료로 활용하고자 함을 목적으로 합니다. 대표 키워드인 “쿼리 목록, 대상 식별, 우선순위”에 따라, 현행 시스템에서 사용 중인 모든 SQL 문(데이터 추출, 데이터 로딩, 검증 쿼리 등)을 체계적으로 분류하고, 중요도에 따른 우선순위를 산정하여 목록화합니다.
2. 작업 목적
본 작업의 주된 목적은 다음과 같습니다.
- 전체 쿼리 파악: 이관 작업에 사용되는 모든 SQL 문을 미리 식별하여, 누락 없이 관리함으로써 이관 후 예상치 못한 성능 저하를 사전에 예방합니다.
- 우선순위 결정: 각 쿼리의 실행 빈도, 데이터 볼륨, 시스템 자원 소모 등의 요소를 고려하여 우선순위를 부여, 추후 튜닝 작업의 효율성을 높입니다.
- 기준 수립: SPA(SQL Performance Analyzer)와 AWR(Automatic Workload Repository) 등의 도구를 활용하여 변경 전 기준 성능 데이터를 확보하고, 이관 후 성능 비교의 기준으로 활용합니다.
3. 작업 범위 및 세부 절차
(1) 사전 준비
- 현행 시스템 분석:
- 운영 중인 Oracle 데이터베이스의 현재 상태 및 사용 중인 SQL 문들을 확인합니다.
- SQL Developer, DBA 스크립트 및 로그 분석 도구를 활용하여 데이터 추출, 로딩, 검증에 사용되는 모든 쿼리를 식별합니다.
- 도구 설정:
- Oracle SPA 및 AWR 리포트를 생성하기 위한 환경을 사전에 설정하고, 기본 성능 수치를 기록할 수 있도록 준비합니다.
(2) 쿼리 식별
- SQL 스크립트 수집:
- 배치 작업, 프로시저, 트리거 등 다양한 형태로 작성된 SQL 문들을 모두 수집합니다.
- 데이터 추출, 로딩, 검증 쿼리 등 기능별로 분류합니다.
- 자동화 도구 활용:
- SQL Developer 및 자체 제작된 스크립트를 활용하여 데이터베이스 내에서 실행 중인 쿼리 로그를 수집하고, 이를 기반으로 전체 쿼리 목록을 작성합니다.
- 실행 계획 및 성능 지표 기록:
- 식별된 각 쿼리에 대해 SPA를 활용하여 실행 계획과 응답 시간, CPU 및 I/O 사용량 등의 기본 성능 수치를 기록합니다.
- AWR 리포트와 연계하여 쿼리별 리소스 사용 현황을 분석합니다.
(3) 대상 쿼리 분류 및 우선순위 산정
- 분류 기준 수립:
- 쿼리의 실행 빈도, 데이터 처리량, 시스템 자원 소모 등을 기준으로 분류 체계를 마련합니다.
- 우선순위 산정:
- 각 쿼리에 대해 ‘높음, 중간, 낮음’의 우선순위를 부여합니다.
- 우선순위 산정 결과는 이관 후 튜닝 작업의 핵심 대상 쿼리 선정 및 개선 계획 수립에 활용됩니다.
(4) 목록 작성 및 문서화
- 최종 목록 작성:
- 분류 및 우선순위 산정이 완료된 쿼리 목록을 Excel, CSV 등 표 형식으로 작성합니다.
- 각 쿼리의 식별 정보, 실행 계획, 성능 지표, 우선순위 등의 항목을 포함합니다.
- 문서화:
- 작업 결과를 기반으로 상세 작업 보고서를 작성하며, 목록화 작업의 목적, 절차, 산출물 등을 명시합니다.
- SPA와 AWR에서 산출한 리포트 자료와 함께 내부 문서 관리 시스템(OEM 등)에 저장합니다.
4. 관련 도구 및 활용 방안
- Oracle SPA(SQL Performance Analyzer):
- 각 쿼리의 실행 계획과 응답 시간, 리소스 사용량을 정량적으로 측정합니다.
- 변경 전/후 성능 비교를 위한 기준 데이터를 확보하는 데 사용됩니다.
- AWR(Automatic Workload Repository):
- 시스템 전반의 리소스 사용 현황 및 쿼리별 성능 데이터를 제공하여, 쿼리 우선순위 산정에 도움을 줍니다.
- SQL Developer 및 자동화 스크립트:
- 데이터베이스 내에서 실행 중인 모든 SQL 문을 수집하고, 목록화하는 작업에 활용됩니다.
- 내부 문서 관리 시스템(OEM 포함):
- 작업 결과와 리포트 자료를 체계적으로 저장하고, 후속 작업 시 참고할 수 있도록 관리합니다.
5. 일정 및 검증 계획
- 일정:
- 초기 준비 및 도구 설정: 1일
- SQL 스크립트 수집 및 식별: 2일
- 실행 계획 기록 및 성능 지표 수집: 1일
- 대상 쿼리 분류 및 우선순위 산정: 1일
- 최종 목록 작성 및 문서화: 1일
- 총 소요 기간: 약 6일 내외(프로젝트 규모에 따라 조정)
- 검증:
- 식별된 쿼리 목록과 SPA, AWR 리포트 비교를 통해 누락 없이 모든 쿼리가 포함되었는지 검토합니다.
- 우선순위 산정 기준에 따라 선정된 주요 쿼리의 성능 지표를 재검증하며, 필요시 추가 튜닝 계획을 수립합니다.
6. 예상 위험 및 대응 방안
- 리스크:
- 일부 SQL 문이 자동 수집 도구에 의해 누락될 가능성이 있음
- 데이터베이스 환경 변화로 인해 성능 지표 측정 시 오차가 발생할 수 있음
- 대응 방안:
- 수동 검토 및 관련 부서와의 협업을 통해 누락 SQL 확인
- 여러 차례의 반복 측정을 통해 성능 지표의 신뢰도를 확보하고, 이상 징후 발생 시 즉각 재분석
7. 결론
본 작업 계획서는 서버 이관 프로젝트의 성공적인 수행을 위해 이관 대상 쿼리의 식별 및 목록화 작업을 체계적으로 진행하는 방법을 제시하고 있습니다. 사전 준비 단계에서 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-2.실행 계획(Explain Plan) 분석 - 개선 포인트 도출 (0) | 2025.02.05 |
서버 이관 프로젝트에서의 쿼리 튜닝 – Pre, Migration, Post 단계별 접근법 (0) | 2025.02.05 |