서버 이관 프로젝트에서 진행되는 DB 성능 튜닝 관점에서 고민해보고자 합니다.
1. Pre-Migration(사전 준비) 단계
Pre-Migration(사전 준비) 단계에서는 기존 시스템에서 사용 중인 모든 쿼리와 실행 계획을 면밀하게 검토하는 것이 중요합니다. 이 단계에서는 Oracle SPA(SQL Performance Analyzer)와 AWR(Automatic Workload Repository) 같은 도구를 활용하여, 현재의 쿼리 성능을 정량적으로 기록하고 비교할 수 있는 기반을 마련합니다. 예를 들어, SPA를 통해 변경 전의 실행 계획과 응답 시간을 기록한 후, 앞으로 이관 작업 중에 발생할 수 있는 변화를 미리 예측해볼 수 있습니다. 또한 AWR 리포트를 통해 시스템 전반의 리소스 사용 현황과 각 쿼리의 비용을 파악함으로써, 불필요한 풀 스캔이나 비효율적인 조인 등 성능 저하 요인을 사전에 개선할 수 있습니다. 이렇게 철저한 사전 준비는 이후 진행될 데이터 이관 작업에서 발생할 수 있는 여러 문제를 예방하는 데 큰 도움이 됩니다.
2. Migration Execution(이관 실행) 단계
Migration Execution(이관 실행) 단계에서는 실제 데이터 추출과 전송 작업 중에 성능 이슈를 면밀하게 모니터링하는 것이 필요합니다. 이 단계에서는 소스 서버에서 데이터를 추출할 때, 네트워크 I/O와 연계된 쿼리 성능에 주의를 기울여야 합니다. Data Pump의 병렬 옵션을 적절히 활용하고, SPA와 AWR 리포트를 통해 실시간으로 쿼리 실행 계획이나 리소스 사용량에 이상이 없는지 점검합니다. 특히, 대량 데이터를 임시 테이블에 저장하거나 커넥션 풀을 통해 세션 재사용을 적극 도입하면, 데이터 전송 시 발생할 수 있는 부하를 줄이는 데 효과적입니다. 이 과정에서 예상치 못한 네트워크 지연이나 I/O 병목 현상이 발생할 경우, 즉각적인 대응이 가능하도록 모니터링 도구들을 활용하는 것이 매우 중요합니다.
3. Post-Migration(이관 후) 단계
Post-Migration(이관 후) 단계에서는 이관된 대상 서버에서 최종적으로 성능을 안정화하고 지속적으로 모니터링하는 작업이 필요합니다. 이관 후에는 대상 서버의 DBMS_STATS를 사용해 최신 통계 정보를 업데이트하고, 인덱스 재구성, 뷰 재정의 등 후속 튜닝 작업을 진행합니다. 이때도 Oracle SPA와 AWR 리포트를 활용하여 이관 전후의 실행 계획 및 응답 시간, I/O 비용 등의 변화를 정량적으로 비교함으로써, 튜닝 효과를 꼼꼼히 점검하는 것이 좋습니다. 또한, 커넥션 풀 최적화, 사용자 정의 함수 및 저장 프로시저 성능 개선 등 실제 운영 환경에서 발생할 수 있는 다양한 문제에 대해 신속하게 대응할 수 있도록 지속적인 모니터링 체계를 마련하는 것이 중요합니다. Oracle Enterprise Manager(OEM)나 Grafana와 같은 도구를 통해 실시간 대시보드를 구성하고, 시스템 리소스와 쿼리 성능을 한눈에 파악할 수 있도록 하는 것도 좋은 방법입니다.
저는 항상 이관 작업을 준비할 때, "사전 준비가 반"이라는 마음가짐으로 임하려고 노력합니다. 처음부터 모든 것을 완벽하게 맞추기는 어렵지만, SPA와 AWR, 그리고 기타 모니터링 도구들을 활용하여 지속적으로 데이터를 확인하고, 문제점을 빠르게 파악하려는 노력이 결국 안정적인 운영 환경을 만드는 데 큰 역할을 한다고 생각합니다.
'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 |
Phase 1-1. 이관 대상 쿼리 식별 및 목록화 - 이관 대상이 되는 모든 SQL(추출, 로딩, 검증 쿼리 등) 분석 (0) | 2025.02.05 |