이미 소장하고 있다면 판매해 보세요.
|
1장. 튜닝의 개요
1-1. 데이터베이스의 발전방향 1-2. 성능을 저하시키는 기업의 문제점 1-3. 좋은 성능을 위한 요소 2장. 튜닝의 개념 2-1. 튜닝의 개념 2-2. 튜닝 방법론 2-2-1. 튜닝 방법론의 주요특징 2-3. 튜닝절차 2-4. 튜닝의 원인 2-5. Tuner 3장. 오라클 데이터베이스의 구조 3-1. 오라클 데이터베이스의 구조 3-1-1. 시스템 글로벌 영역 3-1-2. 파일 영역 3-1-3. 백그라운드 프로세스 3-2. SELECT문의 처리과정 3-2-1. 구문분석 단계 3-2-2. 실행 단계 3-2-3. 인출 단계 3-3. DML문의 처리과정 3-3-1. 언두 세그멘트 3-4. COMMIT문의 처리과정 3-5. 논리적 저장구조 3-5-1. 데이터베이스의 생성과 저장구조 3-5-2. 테이블스페이스의 설계 구조 3-6. SYSTEM 개발절차 3-6-1. 물리적 설계 3-7. TABLESPACE 설계 시 주의사항 3-7-1. 테이블스페이스의 단편화 현상 4장. 튜닝도구 4-1. 튜닝도구 4-2. EXPLAIN PLAN 명령어 4-2-1. 실행 절차 4-2-2. Set Autotrace 명령어 4-2-3. V$SQL_PLAN 4-2-4. 결과 분석(Execute Plan) 4-2-5. 결과 분석(Statistics) 4-3. SQL*TRACE 기능 4-3-1. 실행 절차 4-3-2. TKPROF 유틸리티 4-3-3. TKPROF 옵션 절 4-3-4. 결과 분석-1 4-3-4. 결과 분석-2 4-4. V$SQLAREA 자료사전 4-4-1. 결과 분석 4-4-2. 동일한 SQL문이 아닌 경우 4-4-3. 동일한 SQL문의 작성지침 4-4-4. 튜닝해야 할 SQL문의 분석(DISK I/O) 4-4-5. 튜닝해야 할 SQL문의 분석(Memory) 5장. 옵티마이저 5-1. 옵티마이저의 개념 5-2. 옵타마이저의 종류 5-3. 공식기반 옵티마이저 5-3-1. 우선 순위 5-3-2. RBO의 실행 계5-3-3. 실행 계획을 결정하는 RBO의 실행 원리 5-3-4. AND 조건과 OR 조건에서 우선 순위를 결정하는 원리 5-4. 비용기반 옵티마이저 5-4-1. CBO의 실행 계획 5-4-2. RBO와 CBO의 실행 계획 비교 분석 5-4-3. 통계 정보 5-4-4. CBO의 구조 5-4-5. 문장 변환기(Query Transfomer) 5-4-6. 실행 계획 생성기(Plan Generator) 5-4-7. CBO 문제점 5-4-8. 데이터 분포도 문제 5-4-9. 히스토그램(Histogram) 5-4-10 잘못된 통계 정보의 제공 5-5. DBMS_STATS 패키지 5-5-1. DBMS_STATS 프로시저 유형 5-6. 스토어드 아우트라인 6장. HINT 절과 SQL 자동 튜닝 6-1. HINT절 6-1-1. 문법 6-1-2. HINT 절의 종류 6-2. 병렬옵션 6-2-1. 병렬 질의 옵션 6-2-2. 병렬 질의를 위한 환경 설정 6-2-3. 병렬 DML을 위한 환경 설정 6-3. Automatic Management Database 기능 6-3-1. Automatic Workload Repository 6-3-2. AWR의 주요 특징 6-3-3. DBMS_WORKLOAD_REPOSITORY 패키지 6-3-4. 적용 방법과 절차 6-3-5. 분석 스크립트 6-4. ADDM (Automatic Database Dignostic Monitor) 6-4-1. DBMS_ADDM 패키지 사용 방법 6-5. Automatic SQL Tuning 6-6. Automatic Tuning Optimizer 6-7. SQL Tuning Advisor를 활용한 튜닝 6-8. Automatic SQL Tuning Advisor 6-9. OEM을 활용한 SQL Tuning Advisor 6-10. OEM을 활용한 SQL Access Advisor 7장. 테이블 검색 방법 7-1. 데이터 검색 로드-맵 7-2. 테이블 설계 시 주의사항 7-2-1. 데이터 타입과 성능과의 관계 7-3. 행 이주 현상 7-3-1. PCTFREE 파라메터 7-4. 행 연결 현상 7-4-1. PCTUSED 파라메터 7-4-2. Automatic Space Segment Management 7-5. 테이블의 분석 7-5-1. 테이블의 재구성 7-6. 익스텐트 동적 할당 현상 8장. 인덱스 검색 방법 8-1. 인덱스 설계 시 주의사항 8-2. 인덱스의 종류 8-2-1. B*Tree 인덱스 8-2-2. 역방향 인덱스 8-2-3. 내림차순 인덱스 8-2-4. 함수 기반 인덱스 8-2-5. IOT 인덱스 8-2-6. 비트맵 인덱스 8-2-7. 인덱스 타입의 로드-맵 8-3. 싱글 컬럼 인덱스와 결합 컬럼 인덱스의 검색방법 8-3-1. 싱글 컬럼 인덱스의 실행 경로 8-3-2. 결합 컬럼 인덱스의 실행 경로 8-3-3. 결합 컬럼 인덱스의 선행 컬럼 우선 순위 8-3-4. 선행 컬럼 결정하는 기준 8-3-5. OR 연산자의 실행계획 8-4. 인덱스를 사용하지 못하는 경우 8-5. 컬럼 분포도가 일정하지 않는 경우의 튜닝 8-6. 인덱스의 밸런스 분석 8-6-1. 인덱스의 재구성 8-6-2. B*TREE 인덱스의 합병 8-6-3. B*TREE 인덱스의 압축 8-7. 불필요한 인덱스의 제거 9장. 조인기법 9-1. 조인의 종류 9-1-1. SORT-MERGE 조인 9-1-2. NESTED-LOOP 조인 9-1-3. HASH 조인 9-2. 성능에 영향을 주는 요소 9-2-1. 구동 테이블의 결정 원리 9-2-2. 조인 순서 결정 원리 9-3. 조인문과 CBO의 문제점 9-3-1. CBO의 문제점 9-3-2. 실행계획 생성기(Plan Generator)과 CUT OFF 원리 9-3-3. TRACE 10053 EVENT 분석 9-3-4. 조인문 작성 방법 9-4. 서버 쿼리 9-4-1. 서버 쿼리의 종류 9-4-2. 서버 쿼리에서 구동 테이블 결정 원리 9-5. SQL 튜닝 로더-맵 9-5-1. SQL 튜닝 1 단계 9-5-2. SQL 튜닝 2 단계 10장. 클러스터 검색 방법 10-1. 클러스터의 종류 10-2. NON 클러스터 테이블의 조인 10-3. 인덱스 클러스터 10-3-1. 생성 문법 10-4. 해시 클러스터 10-4-1. 생성 문법 11장. 기타 검색 방법 11-1. 물리적 뷰 11-1-1. 질의 재작성 11-2. 파티션 뷰 11-3. 파티션 테이블 11-3-1. RANGE PARTITION 테이블 11-3-2. HASH PARTITION 테이블 11-3-3. LIST PARTITION 테이블 11-4. 파티션 인덱스 11-4-1. GROBAL PARTITION 인덱스 11-4-2.LOCAL PARTITION 인덱스 11-4-3.FREFIX PARTITION 인덱스 11-4-4. NONPREFIX PARTITION 인덱스 11-4-5. 파티션 인덱스 로드-맵 12장. 서버 튜닝도구 12-1. 튜닝도구 12-2. STATSPACK 패키지 12-2-1. 환경설정 12-3. 동적 성능 뷰-1 12-4. 동적 성능 뷰-2 12-5. ALERT 파일과 트레이스 파일 13장. 인스턴스 튜닝 13-1.오라클 데이터베이스의 구조 13-2. 공유 풀 영역 13-2-1. 라이브러리 영역의 튜닝 13-2-2. 데이터 딕션어리 영역의 튜닝 13-3. 데이터버퍼 캐시 영역 13-3-1.데이터버퍼 캐시영역의 튜닝 13-3-2. 데이터버퍼 캐시영역의 시물레이션 13-4. 로그버퍼 영역 13-5. Automatic Memory Management 13-5-1. SGA 영역의 자동 튜닝 13-5-2. SGA 영역의 수동 튜닝 14장. 데이터베이스 튜닝 14-1. 디스크의 경합현상 14-2. 디스크의 동시성 14-2-1. 디스크의 IO 경합 14-3. 데이터 파일의 I/O 튜닝 14-3-1. 테이터 파일의 설계 14-3-2. 물리적 설계에 대한 사후튜닝 14-4. 리두로그 파일의 I/O 튜닝 14-4-1.체크포인트 14-5. 임시 세그멘트의 튜닝 14-6. 언두 세그멘트의 튜닝 14-6-1. 언두 세그멘트의 관리 14-6-2. SnapShot Too Old 현상 14-6-3. 언두 세그멘트의 할당 14-6-4. Blocking 세션 14-7. Lock의 종류 14-7-1. 락의 경합문제 14-7-2. S 락과 SRX 락의 문제 14-7-3. 락 모니터링 성능해결 부록 오라클 11g 새로운 튜닝 솔루션 A.1 어댑티브 커서 쉐어링 (Adaptive Cursor Sharing) A.2 멀티 컬럼의 통계정보 분석 A.3 확정형 통계정보의 수집 A.4 실행 계획의 재평가 A.4.1 SQL PLAN Baselining A.5 통계 정보의 지연 적용 A.5.1 SPM (SQL PLAN Management) A.5.2 Pending 상태의 통계 정보 점검하기 A.6 데이터 블록의 Compress A.7 Invisible Index 기능 A.8 기타 파티션 테이블 A.9 SQL Result Cache 기능 A.10 메모리 영역의 자동 관리 A.11 LOCK WAIT 기능 |
|
1장. 튜닝의 개요
데이터베이스 튜닝에 대한 전반적인 기술을 배우기 전에 왜 우리가 튜닝을 해야 하고 좋은 성능을 위해 우리가 해야 할 일이 무엇인지에 대해 알아 봅니다. 2장. 튜닝의 개념 튜닝이란 단어의 기본의미를 이해한다면 왜 우리가 튜닝을 해야 하는지를 쉽게 이해할 수 있을 것입니다. 튜닝의 방법과 절차에 대한 기본 개념을 자세히 설명하고 튜닝 메소로지와 튜닝 메소드에 대해 소개합니다. 3장. 오라클 데이터베이스의 구조 튜닝을 하기 전에 반드시 알아 두어야 할 가장 중요한 내용은 오라클 데이터베이스의 구조입니다. 데이터베이스에 대한 튜닝을 잘하기 위해서는 논리적 구조와 물리적 구조를 얼마나 잘 이해하느냐가 매우 중요합니다. 4장. 튜닝도구 어느 날 갑자기 현업 부서에서 실행속도가 너무 느려졌다는 불평을 토로해 오면 데이터베이스 관리자는 문제가 발생한 프로그램에 대해 튜닝을 시도합니다. 하지만, 육감과 경험만을 믿고 튜닝을 시도한다면 좋은 결과를 얻지 못할 것입니다. 오라클 데이터베이스에서는 쉽고 간편하게 튜닝 할 수 있는 다양한 튜닝도구를 제공하고 있습니다. 튜닝도구를 얼마나 잘 사용하고 결과를 잘 분석하느냐는 튜닝의 성패를 좌우할 수도 있습니다. 5장. 옵티마이저 데이터베이스 튜닝을 잘하기 위해서 반드시 알아야 할 메커니즘이 있다면 바로 옵티마이저 입니다. 애플리케이션 튜닝의 가장 기본 개념이며 기본 원리입니다. 개발자가 실행하는 SQL문은 옵티마이저에 의해 항상 분석되고 실행됩니다. SQL 튜닝을 잘 하기 위해서는 옵티마이저에 대한 이해는 필수입니다. 6장. HINT절과 SQL 자동튜닝 옵티마이저는 경우에 따라서는 좋은 성능을 제공하지 못합니다. 이런 경우에는 튜너가 직접 가장 최적의 실행계획을 찾아 SQL문이 실행될 수 있도록 실행계획을 조절해야 합니다. HINT절은 옵티마이저의 실행계획을 개발자가 부여하는 방법입니다. 7장. 테이블 검색방법 데이터베이스 내의 데이터를 검색하는 방법은 매우 다양합니다. 데이터 액세스 방법의 종류 및 각 메커니즘에 대해서 자세히 알아 보게 될것입니다. 그 중에서 가장 대표적인 방법인 테이블 스캔방법을 소개합니다. 8장. 인덱스 검색방법 인덱스는 빠른 검색을 하기 위해 사용하는 독립된 객체입니다. 예를 들어, 현재 보고 있는 이 책에서 ‘인덱스’와 관련된 내용을 찾아보기 위해서 2가지 방법으로 관련 페이지를 검색해 볼 수 있을 것입니다. 첫 번째 방법은 이 책의 첫 페이지부터 마지막 페이지까지를 ‘인덱스’와 관련된 내용이 나올 때까지 한 페이지씩 일일이 찾아보는 방법이고 두 번째 방법은 이 책의 앞부분에 나오는 ‘목차’를 보고 8장이 인덱스와 관련된 내용을 다루고 있다는 사실을 확인한 후 해당 페이지로 찾아가는 방법입니다. 이러한 방법을 인덱스 스캔(Index Scan) 방법이라고 합니다. 9장. 조인기법 일반적으로 성능튜닝을 해 보면 하나의 테이블에서 검색하는 경우보다 여러 개의 테이블을 논리적으로 결합하여 검색하는 경우가 대부분입니다. 이러한 경우, 성능 저하문제가 발생할 수 있는 있는데 조인의 원리를 이해한다면 성능을 보다 향상 시킬수 있습니다. 10장. 클러스트 검색방법 테이블 스캔, 인덱스 스캔 방법과 함께 오라클사에서 제공하는 데이터 검색방법 중의 하나 입니다. 일반적으로 인덱스 스캔 방법으로 좋은 성능이 기대되지 않을 때 클러스터 스캔 방법을 사용하게 됩니다. 11장. 기타 검색방법 오라클사에서 제공하는 객체들 중에는 보다 효과적으로 데이터를 저장하게 하여 검색할때 빠른 성능을 제공하는 객체들이 있습니다. 이러한 객체들의 종류와 저장방법에 대해 자세히 알아 보도록 하겠습니다. 12장. 서버튜닝 도구 애플리케이션 튜닝에서 소개 드린대로 데이터베이스에 대한 보다 효과적이고 체계적인 튜닝을 실시하기 위해서는 튜닝도구에 의한 정확한 튜닝정보를 분석할 수 있어야 합니다. 기본적으로 오라클 데이터베이스를 설치하면 자료사전(Data Dictionary) 테이블을 참조할 수 있으며 추가적으로 서버 성능에관련된 동적성능 뷰(Performance Dynamic View)도 참조할 수 있습니다. 13장. 인스턴스 튜닝 지금까지 개발자가 실행하는 SQL문이 최적의 실행계획으로 빠르게 실행되기 위해서 알아야할 여러가지 기본원리와 튜닝기법 들을 알아 보았습니다. 튜닝의 방법과 절차에서 언급 하였듯이 성능이 저하되는 문제가 발생하면 먼저, 디자인 튜닝과 애플리케이션 튜닝을 하게 됩니다. 하지만, 이러한 방법 만으로 성능이 개선될 수 있는 것은 아닙니다. 이런 경우에는 다음단계로 인스턴스 튜닝을 하게 됩니다. 14장. 데이터베이스 튜닝 오라클 서버 튜닝의 첫 번째 포인트가 메모리 영역이었다면 두 번째 포인트는 물리적 영역입니다. 오라클 데이터베이스의 구조는 물리적 영역과 논리적 영역으로 나누어지는데 I/O 튜닝은 물리적 영역에 관련된 튜닝 입니다. 부록. 오라클 11g 새로운 튜닝 솔루션 오라클 11g에서는 이전 버전보다 효과적으로 튜닝 할 수 있도록 다양한 튜닝 기능들이 추가되었습니다.새로운 튜닝 솔루션의 적용으로 보다 빠르고 효율적으로 튜닝 작업을 수행해 보십시오. |