메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Oracle (토론 | 기여)님의 2025년 9월 16일 (화) 10:35 판 (새 문서: # Oracle Database 19c 성능 튜닝 가이드 요점 정리 ## 주요 목록 구성 ### 1. 성능 튜닝 개요 (Performance Tuning Overview) - **핵심 기능**: 성능 문제 식별 방법론과 튜닝 접근법 - **요점**: - 성능 문제의 근본 원인 분석 - 시스템적 접근법 vs 개별 SQL 튜닝 - 성능 모니터링의 중요성 ### 2. 자동 데이터베이스 진단 모니터 (ADDM) - **핵심 기능**: 자동화된 성능 분석 및 권고사항...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
  1. Oracle Database 19c 성능 튜닝 가이드 요점 정리
    1. 주요 목록 구성
      1. 1. 성능 튜닝 개요 (Performance Tuning Overview)

- **핵심 기능**: 성능 문제 식별 방법론과 튜닝 접근법 - **요점**:

 - 성능 문제의 근본 원인 분석
 - 시스템적 접근법 vs 개별 SQL 튜닝
 - 성능 모니터링의 중요성
      1. 2. 자동 데이터베이스 진단 모니터 (ADDM)

- **핵심 기능**: 자동화된 성능 분석 및 권고사항 제공 - **요점**:

 - AWR 스냅샷 기반 자동 분석
 - 성능 병목 지점 자동 식별
 - 구체적인 튜닝 권고사항 제공
 - ADDM 보고서 해석 방법
      1. 3. Automatic Workload Repository (AWR)

- **핵심 기능**: 성능 데이터 수집 및 보관 - **요점**:

 - 시스템 성능 통계 자동 수집
 - 스냅샷 간격 설정 (기본 1시간)
 - AWR 보고서 생성 및 분석
 - 베이스라인 설정을 통한 성능 비교
      1. 4. Active Session History (ASH)

- **�핵심 기능**: 실시간 세션 활동 모니터링 - **요점**:

 - 활성 세션의 실시간 상태 추적
 - Wait Event 분석
 - ASH 보고서를 통한 특정 시점 분석
 - Top Activity 식별
      1. 5. SQL 튜닝 (SQL Tuning)

- **핵심 기능**: 개별 SQL 문장 성능 최적화 - **요점**:

 - SQL Tuning Advisor 활용
 - Execution Plan 분석
 - 힌트 사용법
 - 인덱스 최적화
 - 바인드 변수 사용
      1. 6. SQL Plan Management

- **핵심 기능**: SQL 실행 계획 안정성 보장 - **요점**:

 - SQL Plan Baseline 생성
 - 계획 변경 제어
 - Adaptive Cursor Sharing
 - Plan Evolution
      1. 7. 메모리 관리 (Memory Management)

- **핵심 기능**: SGA 및 PGA 메모리 최적화 - **요점**:

 - Automatic Memory Management (AMM)
 - SGA 컴포넌트별 크기 조정
 - PGA_AGGREGATE_TARGET 설정
 - Buffer Cache Hit Ratio 모니터링
      1. 8. I/O 최적화 (I/O Optimization)

- **핵심 기능**: 디스크 I/O 성능 향상 - **요점**:

 - 테이블스페이스 및 데이터파일 배치
 - Temporary Tablespace 관리
 - REDO 로그 최적화
 - I/O 통계 분석
      1. 9. Wait Event 분석

- **핵심 기능**: 대기 이벤트를 통한 병목 지점 식별 - **요점**:

 - 주요 Wait Event 유형별 대응방안
 - db file scattered read/sequential read
 - latch 경합 해결
 - enq: TX - row lock contention
      1. 10. Optimizer 통계 관리

- **핵심 기능**: Cost-Based Optimizer 최적화 - **요점**:

 - 자동 통계 수집 (GATHER_STATS_JOB)
 - 수동 통계 수집 방법
 - 히스토그램 활용
 - 통계 정확성 검증
      1. 11. 파티셔닝 (Partitioning)

- **핵심 기능**: 대용량 테이블 성능 최적화 - **요점**:

 - 파티션 프루닝 효과
 - 파티션별 병렬 처리
 - 파티션 방식 선택 (Range, Hash, List)
 - 서브파티셔닝
      1. 12. 병렬 처리 (Parallel Processing)

- **핵심 기능**: 다중 프로세스를 통한 성능 향상 - **요점**:

 - Parallel Query 설정
 - DOP (Degree of Parallelism) 결정
 - 병렬 처리 모니터링
 - 리소스 관리
      1. 13. 결과 캐시 (Result Cache)

- **핵심 기능**: 쿼리 결과 캐싱을 통한 성능 향상 - **요점**:

 - SQL 결과 캐시 활성화
 - PL/SQL 함수 결과 캐시
 - 캐시 적중률 모니터링
 - 캐시 무효화 정책
    1. DBA를 위한 핵심 실행 절차
      1. 일일 성능 모니터링 체크리스트

1. **AWR 보고서 확인**

  ```sql
  @$ORACLE_HOME/rdbms/admin/awrrpt.sql
  ```

2. **ADDM 권고사항 검토**

  ```sql
  @$ORACLE_HOME/rdbms/admin/addmrpt.sql
  ```

3. **Top SQL 분석**

  ```sql
  SELECT sql_id, executions, elapsed_time, cpu_time
  FROM v$sqlstats
  ORDER BY elapsed_time DESC;
  ```

4. **Wait Event 모니터링**

  ```sql
  SELECT event, total_waits, time_waited
  FROM v$system_event
  WHERE wait_class != 'Idle'
  ORDER BY time_waited DESC;
  ```
      1. 성능 문제 해결 순서

1. **시스템 레벨 분석** → ADDM/AWR 보고서 2. **세션 레벨 분석** → ASH 보고서 3. **SQL 레벨 분석** → SQL Tuning Advisor 4. **오브젝트 레벨 분석** → 통계 정보 및 인덱스

      1. 자동화 권장 설정

- **통계 수집**: GATHER_STATS_JOB 활성화 - **메모리 관리**: AMM 또는 ASMM 사용 - **SQL 튜닝**: SQL Tuning Task 자동 실행 - **세그먼트 관리**: ASSM(Automatic Segment Space Management) 사용