오라클 ACE와 함께하는 오라클 성능 Q&A 시즌1

2009.5 ~ 2010.5

조동욱 | 엑셈 | 2023년 11월 06일 | PDF

이용가능환경 : Windows/Android/iOS 구매 후, PC, 스마트폰, 태블릿PC에서 파일 용량 제한없이 다운로드 및 열람이 가능합니다.

구매

종이책 정가 25,000원

전자책 정가 17,500원

판매가 17,500원

도서소개

(주)엑셈에서 운영하는 Ask Exem에서 2009년 3월 ~ 2010년 3월까지 1년간 해결된 질문 중 많은 분들과 공유할 가치가 있는 질문을 정리한 책이다. 온라인으로는 답변하기 힘들었던 상세한 답변과 해설을 첨부하였다. 질문과 답변을 읽는 것만으로 오라클 성능에 대한 지식을 재미있게 습득할 수 있을 것이다.

저자소개

저자 : 조동욱
저자는 현재 데이터베이스 성능 전문 업체 (주)엑셈의 기술연구담당 수석 컨설턴트로 일하고 있습니다. 주된 업무는 오라클 성능에 관한 지식과 경험을 온라인과 오프라인의 컨텐츠 형태로 체계화하고, 오라클 인터널 지식에 기반한 핵심 기술을 연구하는 것입니다. 앞으로도 더 많은, 더 수준 높은, 동시에 실용적인 지식과 기술을 소개하고자 노력할 것입니다. 고상하게 말하면 오라클 성능에 관한 르네상스 시대를 열고 싶다는 욕심을 가지고 있습니다. 저서로는 [Advanced OWI in Oracle 10g], [Advanced OWI in Oracle 10g RAC], [Optimizing Oracle Optimizer] 가 있습니다. Ask 엑셈(ask.ex-em.com)과 블로그(ukja.tistory.com)를 통해서 온라인으로 저자를 만나실 수 있습니다.

목차소개

제 1 장. 실행 계획과 옵티마이저
1. Explain Plan과 Runtime Plan이 다른 현상이 종종 발생합니다. 그 이유가 무엇인가요?
2. 동일한 SQL 문장이 여러 개의 차일드 커서를 가지는 이유는 무엇인가요?
3. 인라인 뷰에 GROUP BY를 추가하면 Join 조건이 Push가 안됩니다. 그 이유는 무엇이고 어떻게 해결할 수 있을까요?
4. 특정 오브젝트를 사용하는 SQL 문장을 추출할 수 있습니까? 거꾸로 특정 SQL이 참조하는 오브젝트를 모두 추출할 수 있습니까?
5. 특정 SQL문이 사용하는 바인드 변수의 값을 알아내는 방법에는 어떤 것이 있나요?
6. 통계 정보가 없을 때 옵티마이저는 어떤 방법으로 예측 로우 건수(Cardinality)을 계산하나요?
7. 파티션 테이블에 파티션을 추가한 후 실행 계획이 변경되는 현상을 막으려면 어떻게 해야 하나요?
8. 히스토그램이 존재하는 경우에 Density가 계산되는 공식이 궁금합니다. 더불어서 이 Density를 이용해서 예상 로우 건수(Cardinality)를 구하는 방법도 궁금합니다.

제 2 장. 인덱스
1. Unique 인덱스와 Non Unique 인덱스의 차이가 무엇인가요?
2. 인덱스가 여러 개의 키(컬럼)로 구성되어 있을 때 최적의 순서는 무엇인가요?
3. 인덱스 분할(Index Split)에 의한 성능 문제를 해결하는 방법에는 무엇이 있나요?
4. 비트맵 인덱스를 이용하면 IS NULL 조건을 빠른 속도로 처리할 수 있다고 합니다. 그런데 실제로 테스트를 해보면 오히려 성능이 불량합니다. 그 이유는 무엇인가요?
5. Insert나 Delete에 비해 Update가 인덱스에 주는 부하가 가장 크다고 합니다. 왜 그런가요?
6. 인덱스를 리빌드하면 Logical Reads가 증가하는 버그가 있다고 합니다. 언제 이런 버그가 발생하며 그 이유는 무엇인지요?
7. 인덱스 재생성보다는 인덱스 리빌드가 더 효과적이라고 합니다. 그 이유는 무엇인가요?

제 3 장. I/O와 트랜잭션
1. 로우 체이닝은 언제 발생하고 어떻게 해결할 수 있나요?
2. 데이터가 한 건도 없는 테이블인데도 Logical Reas가 3 블록 발생합니다. 그 이유는 무엇인가요?
3. 정렬(Sort)를 수행할 때 오라클이 실제로 얼마의 메모리를 사용하는지 어떻게 모니터링하나요?
4. Direct Path로 INSERT를 할 때 Redo 데이터의 생성량을 최소화하려면 어떻게 해야하나요?
5. ORA-01555의 발생을 테스트하고 분석해보고 싶습니다. 좋은 방법은 무엇인가요?
6. Table Full Scan을 하면 버퍼 캐시의 LRU 리스트에서 어떻게 관리되나요?
7.병렬 DML 을 모니터링하는 방법에는 어떤 것들이 있습니까?

제 4 장. 트러블슈팅
1. TKPROF 리포트에서 보여지는 시간값이 부정확해보이는 경우가 많습니다. 왜 그런가요?
2. Unique 인덱스를 통해 하나의 값을 단 한번 수행하는 문장에서 대량의 로우 수나 Logical Reads가 나타나는 이유는 무엇입니까?
3. 특정 세션이 실행하는 SQL 문장을 추출할 수 있습니까?
4. SQL 문장의 실행 시간을 측정할 수 있습니까?
5. Dynamic SQL을 사용할 때 조심할 점은 무엇입니까?
6. 하드 파스 시간이 Parse 단계가 아닌 Execute 단계에 나타납니다. 그 이유는 무엇입니까?
7. 하드 파스 경합으로 인해 발생하는 대기 이벤트는 무엇입니까?

회원리뷰 (0)

현재 회원리뷰가 없습니다.

첫 번째 리뷰를 남겨주세요!