메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

DBA 성능 튜닝 가이드: 두 판 사이의 차이

DB스터디
(새 문서: # Oracle Database 19c 성능 튜닝 가이드 요점 정리 ## 주요 목록 구성 ### 1. 성능 튜닝 개요 (Performance Tuning Overview) - **핵심 기능**: 성능 문제 식별 방법론과 튜닝 접근법 - **요점**: - 성능 문제의 근본 원인 분석 - 시스템적 접근법 vs 개별 SQL 튜닝 - 성능 모니터링의 중요성 ### 2. 자동 데이터베이스 진단 모니터 (ADDM) - **핵심 기능**: 자동화된 성능 분석 및 권고사항...)
 
편집 요약 없음
1번째 줄: 1번째 줄:
# Oracle Database 19c 성능 튜닝 가이드 요점 정리
= Oracle Database 19c 성능 튜닝 가이드 =


## 주요 목록 구성
== 주요 목록 구성 ==


### 1. 성능 튜닝 개요 (Performance Tuning Overview)
=== 성능 튜닝 개요 (Performance Tuning Overview) ===
- **핵심 기능**: 성능 문제 식별 방법론과 튜닝 접근법
# 핵심 기능**: 성능 문제 식별 방법론과 튜닝 접근법
- **요점**:  
# 요점**:  
  - 성능 문제의 근본 원인 분석
#:  - 성능 문제의 근본 원인 분석
  - 시스템적 접근법 vs 개별 SQL 튜닝
#:  - 시스템적 접근법 vs 개별 SQL 튜닝
  - 성능 모니터링의 중요성
#:  - 성능 모니터링의 중요성


### 2. 자동 데이터베이스 진단 모니터 (ADDM)
=== 자동 데이터베이스 진단 모니터 (ADDM) ===
- **핵심 기능**: 자동화된 성능 분석 및 권고사항 제공
# 핵심 기능**: 자동화된 성능 분석 및 권고사항 제공
- **요점**:
# 요점**:
  - AWR 스냅샷 기반 자동 분석
#:  - AWR 스냅샷 기반 자동 분석
  - 성능 병목 지점 자동 식별
#:  - 성능 병목 지점 자동 식별
  - 구체적인 튜닝 권고사항 제공
#:  - 구체적인 튜닝 권고사항 제공
  - ADDM 보고서 해석 방법
#:  - ADDM 보고서 해석 방법


### 3. Automatic Workload Repository (AWR)
=== Automatic Workload Repository (AWR) ===
- **핵심 기능**: 성능 데이터 수집 및 보관
# 핵심 기능**: 성능 데이터 수집 및 보관
- **요점**:
# 요점**:
  - 시스템 성능 통계 자동 수집
#:  - 시스템 성능 통계 자동 수집
  - 스냅샷 간격 설정 (기본 1시간)
#:  - 스냅샷 간격 설정 (기본 1시간)
  - AWR 보고서 생성 및 분석
#:  - AWR 보고서 생성 및 분석
  - 베이스라인 설정을 통한 성능 비교
#:  - 베이스라인 설정을 통한 성능 비교


### 4. Active Session History (ASH)
=== Active Session History (ASH) ===
- **�핵심 기능**: 실시간 세션 활동 모니터링
# 핵심 기능**: 실시간 세션 활동 모니터링
- **요점**:
# 요점**:
  - 활성 세션의 실시간 상태 추적
#:  - 활성 세션의 실시간 상태 추적
  - Wait Event 분석
#:  - Wait Event 분석
  - ASH 보고서를 통한 특정 시점 분석
#:  - ASH 보고서를 통한 특정 시점 분석
  - Top Activity 식별
#:  - Top Activity 식별


### 5. SQL 튜닝 (SQL Tuning)
=== SQL 튜닝 (SQL Tuning) ===
- **핵심 기능**: 개별 SQL 문장 성능 최적화
# 핵심 기능**: 개별 SQL 문장 성능 최적화
- **요점**:
# 요점**:
  - SQL Tuning Advisor 활용
#:  - SQL Tuning Advisor 활용
  - Execution Plan 분석
#:  - Execution Plan 분석
  - 힌트 사용법
#:  - 힌트 사용법
  - 인덱스 최적화
#:  - 인덱스 최적화
  - 바인드 변수 사용
#:  - 바인드 변수 사용


### 6. SQL Plan Management
=== SQL Plan Management ===
- **핵심 기능**: SQL 실행 계획 안정성 보장
# 핵심 기능**: SQL 실행 계획 안정성 보장
- **요점**:
# 요점**:
  - SQL Plan Baseline 생성
#:  - SQL Plan Baseline 생성
  - 계획 변경 제어
#:  - 계획 변경 제어
  - Adaptive Cursor Sharing
#:  - Adaptive Cursor Sharing
  - Plan Evolution
#:  - Plan Evolution


### 7. 메모리 관리 (Memory Management)
=== 메모리 관리 (Memory Management) ===
- **핵심 기능**: SGA 및 PGA 메모리 최적화
# 핵심 기능**: SGA 및 PGA 메모리 최적화
- **요점**:
# 요점**:
  - Automatic Memory Management (AMM)
#:  - Automatic Memory Management (AMM)
  - SGA 컴포넌트별 크기 조정
#:  - SGA 컴포넌트별 크기 조정
  - PGA_AGGREGATE_TARGET 설정
#:  - PGA_AGGREGATE_TARGET 설정
  - Buffer Cache Hit Ratio 모니터링
#:  - Buffer Cache Hit Ratio 모니터링


### 8. I/O 최적화 (I/O Optimization)
=== I/O 최적화 (I/O Optimization) ===
- **핵심 기능**: 디스크 I/O 성능 향상
# 핵심 기능**: 디스크 I/O 성능 향상
- **요점**:
# 요점**:
  - 테이블스페이스 및 데이터파일 배치
#:  - 테이블스페이스 및 데이터파일 배치
  - Temporary Tablespace 관리
#:  - Temporary Tablespace 관리
  - REDO 로그 최적화
#:  - REDO 로그 최적화
  - I/O 통계 분석
#:  - I/O 통계 분석


### 9. Wait Event 분석
=== Wait Event 분석 ===
- **핵심 기능**: 대기 이벤트를 통한 병목 지점 식별
# 핵심 기능**: 대기 이벤트를 통한 병목 지점 식별
- **요점**:
# 요점**:
  - 주요 Wait Event 유형별 대응방안
#:  - 주요 Wait Event 유형별 대응방안
  - db file scattered read/sequential read
#:  - db file scattered read/sequential read
  - latch 경합 해결
#:  - latch 경합 해결
  - enq: TX - row lock contention
#:  - enq: TX - row lock contention


### 10. Optimizer 통계 관리
=== Optimizer 통계 관리 ===
- **핵심 기능**: Cost-Based Optimizer 최적화
# 핵심 기능**: Cost-Based Optimizer 최적화
- **요점**:
# 요점**:
  - 자동 통계 수집 (GATHER_STATS_JOB)
#:  - 자동 통계 수집 (GATHER_STATS_JOB)
  - 수동 통계 수집 방법
#:  - 수동 통계 수집 방법
  - 히스토그램 활용
#:  - 히스토그램 활용
  - 통계 정확성 검증
#:  - 통계 정확성 검증


### 11. 파티셔닝 (Partitioning)
=== 파티셔닝 (Partitioning) ===
- **핵심 기능**: 대용량 테이블 성능 최적화
# 핵심 기능**: 대용량 테이블 성능 최적화
- **요점**:
# 요점**:
  - 파티션 프루닝 효과
#:  - 파티션 프루닝 효과
  - 파티션별 병렬 처리
#:  - 파티션별 병렬 처리
  - 파티션 방식 선택 (Range, Hash, List)
#:  - 파티션 방식 선택 (Range, Hash, List)
  - 서브파티셔닝
#:  - 서브파티셔닝


### 12. 병렬 처리 (Parallel Processing)
=== 병렬 처리 (Parallel Processing) ===
- **핵심 기능**: 다중 프로세스를 통한 성능 향상
# 핵심 기능**: 다중 프로세스를 통한 성능 향상
- **요점**:
# 요점**:
  - Parallel Query 설정
#:  - Parallel Query 설정
  - DOP (Degree of Parallelism) 결정
#:  - DOP (Degree of Parallelism) 결정
  - 병렬 처리 모니터링
#:  - 병렬 처리 모니터링
  - 리소스 관리
#:  - 리소스 관리


### 13. 결과 캐시 (Result Cache)
=== 결과 캐시 (Result Cache) ===
- **핵심 기능**: 쿼리 결과 캐싱을 통한 성능 향상
# 핵심 기능**: 쿼리 결과 캐싱을 통한 성능 향상
- **요점**:
# 요점**:
  - SQL 결과 캐시 활성화
#:  - SQL 결과 캐시 활성화
  - PL/SQL 함수 결과 캐시
#:  - PL/SQL 함수 결과 캐시
  - 캐시 적중률 모니터링
#:  - 캐시 적중률 모니터링
  - 캐시 무효화 정책
#:  - 캐시 무효화 정책


## DBA를 위한 핵심 실행 절차
== DBA를 위한 핵심 실행 절차 ==


### 일일 성능 모니터링 체크리스트
=== 일일 성능 모니터링 체크리스트 === **AWR 보고서 확인**
1. **AWR 보고서 확인**
   ```sql
   ```sql
   @$ORACLE_HOME/rdbms/admin/awrrpt.sql
   @$ORACLE_HOME/rdbms/admin/awrrpt.sql
   ```
   ```
 
**ADDM 권고사항 검토**
2. **ADDM 권고사항 검토**
   ```sql
   ```sql
   @$ORACLE_HOME/rdbms/admin/addmrpt.sql
   @$ORACLE_HOME/rdbms/admin/addmrpt.sql
   ```
   ```
 
**Top SQL 분석**
3. **Top SQL 분석**
   ```sql
   ```sql
   SELECT sql_id, executions, elapsed_time, cpu_time
   SELECT sql_id, executions, elapsed_time, cpu_time
126번째 줄: 123번째 줄:
   ORDER BY elapsed_time DESC;
   ORDER BY elapsed_time DESC;
   ```
   ```
 
**Wait Event 모니터링**
4. **Wait Event 모니터링**
   ```sql
   ```sql
   SELECT event, total_waits, time_waited
   SELECT event, total_waits, time_waited
135번째 줄: 131번째 줄:
   ```
   ```


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


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

2025년 9월 16일 (화) 10:40 판

Oracle Database 19c 성능 튜닝 가이드

주요 목록 구성

성능 튜닝 개요 (Performance Tuning Overview)

  1. 핵심 기능**: 성능 문제 식별 방법론과 튜닝 접근법
  2. 요점**:
    - 성능 문제의 근본 원인 분석
    - 시스템적 접근법 vs 개별 SQL 튜닝
    - 성능 모니터링의 중요성

자동 데이터베이스 진단 모니터 (ADDM)

  1. 핵심 기능**: 자동화된 성능 분석 및 권고사항 제공
  2. 요점**:
    - AWR 스냅샷 기반 자동 분석
    - 성능 병목 지점 자동 식별
    - 구체적인 튜닝 권고사항 제공
    - ADDM 보고서 해석 방법

Automatic Workload Repository (AWR)

  1. 핵심 기능**: 성능 데이터 수집 및 보관
  2. 요점**:
    - 시스템 성능 통계 자동 수집
    - 스냅샷 간격 설정 (기본 1시간)
    - AWR 보고서 생성 및 분석
    - 베이스라인 설정을 통한 성능 비교

Active Session History (ASH)

  1. 핵심 기능**: 실시간 세션 활동 모니터링
  2. 요점**:
    - 활성 세션의 실시간 상태 추적
    - Wait Event 분석
    - ASH 보고서를 통한 특정 시점 분석
    - Top Activity 식별

SQL 튜닝 (SQL Tuning)

  1. 핵심 기능**: 개별 SQL 문장 성능 최적화
  2. 요점**:
    - SQL Tuning Advisor 활용
    - Execution Plan 분석
    - 힌트 사용법
    - 인덱스 최적화
    - 바인드 변수 사용

SQL Plan Management

  1. 핵심 기능**: SQL 실행 계획 안정성 보장
  2. 요점**:
    - SQL Plan Baseline 생성
    - 계획 변경 제어
    - Adaptive Cursor Sharing
    - Plan Evolution

메모리 관리 (Memory Management)

  1. 핵심 기능**: SGA 및 PGA 메모리 최적화
  2. 요점**:
    - Automatic Memory Management (AMM)
    - SGA 컴포넌트별 크기 조정
    - PGA_AGGREGATE_TARGET 설정
    - Buffer Cache Hit Ratio 모니터링

I/O 최적화 (I/O Optimization)

  1. 핵심 기능**: 디스크 I/O 성능 향상
  2. 요점**:
    - 테이블스페이스 및 데이터파일 배치
    - Temporary Tablespace 관리
    - REDO 로그 최적화
    - I/O 통계 분석

Wait Event 분석

  1. 핵심 기능**: 대기 이벤트를 통한 병목 지점 식별
  2. 요점**:
    - 주요 Wait Event 유형별 대응방안
    - db file scattered read/sequential read
    - latch 경합 해결
    - enq: TX - row lock contention

Optimizer 통계 관리

  1. 핵심 기능**: Cost-Based Optimizer 최적화
  2. 요점**:
    - 자동 통계 수집 (GATHER_STATS_JOB)
    - 수동 통계 수집 방법
    - 히스토그램 활용
    - 통계 정확성 검증

파티셔닝 (Partitioning)

  1. 핵심 기능**: 대용량 테이블 성능 최적화
  2. 요점**:
    - 파티션 프루닝 효과
    - 파티션별 병렬 처리
    - 파티션 방식 선택 (Range, Hash, List)
    - 서브파티셔닝

병렬 처리 (Parallel Processing)

  1. 핵심 기능**: 다중 프로세스를 통한 성능 향상
  2. 요점**:
    - Parallel Query 설정
    - DOP (Degree of Parallelism) 결정
    - 병렬 처리 모니터링
    - 리소스 관리

결과 캐시 (Result Cache)

  1. 핵심 기능**: 쿼리 결과 캐싱을 통한 성능 향상
  2. 요점**:
    - SQL 결과 캐시 활성화
    - PL/SQL 함수 결과 캐시
    - 캐시 적중률 모니터링
    - 캐시 무효화 정책

DBA를 위한 핵심 실행 절차

=== 일일 성능 모니터링 체크리스트 === **AWR 보고서 확인**

  ```sql
  @$ORACLE_HOME/rdbms/admin/awrrpt.sql
  ```
**ADDM 권고사항 검토**
  ```sql
  @$ORACLE_HOME/rdbms/admin/addmrpt.sql
  ```
**Top SQL 분석**
  ```sql
  SELECT sql_id, executions, elapsed_time, cpu_time
  FROM v$sqlstats
  ORDER BY elapsed_time DESC;
  ```
**Wait Event 모니터링**
  ```sql
  SELECT event, total_waits, time_waited
  FROM v$system_event
  WHERE wait_class != 'Idle'
  ORDER BY time_waited DESC;
  ```

=== 성능 문제 해결 순서 === **시스템 레벨 분석** → ADDM/AWR 보고서 **세션 레벨 분석** → ASH 보고서 **SQL 레벨 분석** → SQL Tuning Advisor **오브젝트 레벨 분석** → 통계 정보 및 인덱스

자동화 권장 설정

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