저자소개
저 : 스기타 아츠시 (杉田敦史)
2001년에 일본 오라클에 입사했다. 시니어 프린시펄 컨설턴트로서 주로 통신·금융 계열 기업에서 하둡과 RDB를 사용한 데이터 레이크 기반 도입이나 프라이빗 클라우드 도입 계획을 수립했다. 취미는 달리기, 여행, 요리, 가족과 시간 보내기다.
저 : 야마모토 유미코 (山本裕美子) 관심작가 알림신청 작가 파일
일본 오라클의 컨설팅 서비스 사업 총괄 부문 소속의 컨설턴트다. 2016년에 경력직으로 입사한 후 건설·금융 계열 기업을 위한 보안 지원이나 운영 지원을 담당했다. 맛있는 밥, 개와 고양이를 매우 좋아한다. 좋아하는 연예인을 직접 만나러 다니는 취미가 있다.
저 : 오다 케이지 (小田圭二)
일본 오라클 주식회사에서 컨설팅서비스사업 총괄 디렉터로 근무하고 있다. 관리자로 일하면서 IT 노하우 공유와 엔지니어 육성에 힘을 쏟고 있다. 주요 저서로 『그림으로 공부하는 시스템 구축을 위한 오라클 설계』, 『그림으로 공부하는 오라클 구조』, 『그림으로 공부하는 OS/저장소/네트워크』, 『44개 안티 패턴으로 배우는 DB 시스템』, 『신 비장의 오라클 현장 기술』 등이 있다.
일본 오라클의 컨설팅 서비스 사업 총괄 부문 소속의 디렉터다. 현장에서 프로젝트를 담당했던 시기에 이 책을 집필했다. 지금은 매니저 직급으로서 관리하는 입장이 되었다. 취미는 트라이애슬론이다. 주요 저서로는 『그림으로 공부하는 시스템 성능 구조』(제이펍), 『나만 알고 싶은 오라클 실무 테크닉』(제이펍) 등이 있다.
저 : 츠지이 유카
일본 오라클의 컨설팅 서비스 사업 총괄 부문 소속의 컨설턴트로 금융·전력 계열 기업의 오라클 DB 구축/설계 지원을 담당했다. 최근에는 업무 영역을 늘리기 위해서 여러 분야에 도전 중이다. 겨울에는 귤을 엄청나게 먹어댄다.
저 : 테라무라 료
일본 오라클의 컨설팅 서비스 사업 총괄 부문 소속의 컨설턴트다. 대학을 졸업하고 바로 오라클에 입사한 후 오라클 바라기로서 업종에 관계없이 다양한 프로젝트를 지원했다. 최근에는 오라클 데이터 가드(Data Guard)나 골든 게이트(Golden Gate) 같은 오라클 데이터베이스의 가용성에 관련된 프로젝트를 주로 담당한다. 주말에는 테니스를 즐긴다.
역 : 이민재
(주)위즈베이스 책임 컨설턴트이며, 태광그룹 IT 계열사인 (주)티시스에서 DA로 재직할 때 계열사의 데이터 품질, 성능 개선 업무와 데이터베이스 관련 사내 교육을 담당했다. 한국투자증권, KCC, KT, 롯데 등에서 프로젝트를 수행하였으며, 틈틈이 국내에 소개되지 않은 오라클 기술서 번역에 힘쓰고 있다. 옮긴 책으로는 《나만 알고 싶은 오라클 실무 테크닉》, 《그림으로 공부하는 오라클 구조》가 있다.
목차
CHAPTER 1 I/O와 디스크의 관계
1.1 오라클을 이해하기 위한 필수 키워드
1.2 오라클과 디스크(하드디스크)
1.3 디스크의 동작
1.4 데이터를 보증하기 위한 디스크
1.5 요약
CHAPTER 2 오라클의 여러 프로세스
2.1 오라클의 역할 이미지
2.2 데이터베이스의 데이터는 모두의 것
2.3 오라클이 여러 개의 프로세스로 구성된 이유
2.4 서버 프로세스와 백그라운드 프로세스의 역할
2.5 각 프로세스가 수행하는 처리
2.6 요약
CHAPTER 3 캐시와 공유 메모리
3.1 어째서 캐시가 필요한 것인가?
3.2 그래서 캐시란 대체 무엇인가?
3.3 데이터는 블록 단위로 관리
3.4 캐시를 사용해서 인덱스 검색을 효율적으로
3.5 프로세스는 캐시를 공유
3.6 공유 메모리에 필요한 설정
3.7 공유 메모리는 어떤 식으로 보이는가?
3.8 버퍼 캐시를 정리하는 LRU 알고리즘
3.9 오라클뿐만이 아닌 OS나 스토리지에 대해서도 생각하자
3.10 요약
CHAPTER 4 SQL문 분석과 공유 풀
4.1 SQL문의 분석과 공유 풀을 왜 배워야 하는가?
4.2 SQL문과 일반적인 프로그래밍 언어의 차이
4.3 서버 프로세스와 분석
4.4 실행 계획이 최적이라는 것을 판단하기 위해서는?
4.5 공유 풀의 동작과 구조
4.6 수치로 알아보는 분석과 공유 풀의 정보
4.7 요약
CHAPTER 5 오라클의 기동과 정지
5.1 기동과 정지를 왜 배워야 하는가?
5.2 오라클의 기동/정지의 개요
5.3 업무의 시작에 해당하는 오라클의 기동
5.4 인스턴스, 데이터베이스, 그리고 주요 파일의 구성
5.5 기동 처리의 흐름과 내부 동작
5.6 업무 종료에 해당하는 오라클의 정지
5.7 데이터베이스를 수동으로 생성하기
5.8 요약
CHAPTER 6 커넥션과 서버 프로세스의 생성
6.1 애플리케이션에서의 접속을 왜 배워야 하는가?
6.2 오라클의 접속 동작
6.3 접속 동작의 확인
6.4 정지나 리스너의 상태 확인
6.5 성능을 개선하기 위해서는?
6.6 요약
CHAPTER 7 오라클의 데이터 구조
7.1 오라클의 데이터 구조를 왜 배워야 하는가?
7.2 가변 길이 데이터를 관리할 프로그램을 만들기 위해서는?
7.3 오라클의 데이터 구조
7.4 데이터 구조에는 어떤 것들이 있는가?
7.5 실제 흐름을 따라 각 동작을 확인
7.6 프로세스에서 본 데이터 구조
7.7 요약
CHAPTER 8 오라클의 대기와 Lock
8.1 대기와 오라클의 Lock을 왜 배워야 하는가?
8.2 데이터베이스에 Lock이 필요한 이유
8.3 대기와 Lock 대기
8.4 Latch의 구조
8.5 요약
CHAPTER 9 REDO와 UNDO의 동작
9.1 REDO와 UNDO를 왜 배워야 하는가?
9.2 지속성을 구현하기 위해서는
9.3 REDO와 UNDO의 개념
9.4 REDO의 구조
9.4.1 REDO의 요약
9.5 UNDO의 구조
9.6 여러 상황에서 REDO와 UNDO의 동작
9.7 요약
CHAPTER 10 백업/복구의 구조와 동작
10.1 백업/복구를 왜 배워야 하는가?
10.2 백업/복구에 필요한 지식의 복습
10.3 백업의 종류와 특징
10.4 데이터베이스 손상의 예
10.5 기본적인 복구의 종류와 동작
10.6 기본적인 복구의 흐름(데이터베이스 전체의 복구)
10.7 그 외의 복구
10.8 요약
CHAPTER 11 백그라운드 프로세스의 동작과 역할
11.1 백그라운드 프로세스를 왜 배워야 하는가?
11.2 백그라운드 프로세스와 서버 프로세스의 관계
11.3 DBWR의 동작과 역할
11.4 LGWR의 동작과 역할
11.5 SMON의 동작과 역할
11.6 PMON의 동작과 역할
11.7 LREG의 동작과 역할
11.8 ARCH의 동작과 역할
11.9 그 외의 백그라운드 프로세스
11.10 요약
CHAPTER 12 오라클 아키텍처와 동작에 관한 Q&A
12.1 지금까지의 복습
12.2 오라클의 동작에 관한 질문
12.3 모니터링/운영에 관한 질문
12.4 해답과 해설 오라클의 동작에 관한 질문
12.5 해답과 해설 모니터링/운영에 관한 질문
12.6 요약
APPENDIX 유스케이스로 배우는 오라클
A.1 A 씨에게 준비된 과제
A.2 오라클의 기동
A.3 리스너를 통한 접속
A.4 데이터 파일의 추가
A.5 백업하기
A.6 OS 명령어를 사용한 데이터 파일 삭제
A.7 현재 상태의 백업
A.8 복원
A.9 복구
A.10 데이터 파일의 제거
A.11 오라클의 정지