DML, DDL, DCL 문법에 관련된 책이 아니고, 오라클이 컴퓨터에서 어떻게 동작하는지 쉽게 설명해주는 책입니다. 

특히, 디스크와 오라클간의 관계에 대해서 잘 설명합니다. 

내가 DBA도 아닌데 이런 책을 왜 봐야 하나 생각할 수 있는데, SM 업무를 하다 보면 SQL 외에도, 인덱스의 구조, 오라클 프로세서들의 역할, DBMS가 디스크를 어떻게 사용하는지, 버퍼 캐시는 어떻게 쓰는지, REDO/UNDO, 백업/복원과 같은 내용을 알아야 합니다. (DBA가 DB관련 업무를 다 해주는게 아니라면....)

이 책에서는 깊고 어려운 내용 까지는 아니지만, 시스템 운영자로서 알면 좋은 내용들을 알아볼 수 있습니다.

 

목 차

CHAPTER 1 I/O와 디스크의 관계 1
1.1 오라클을 이해하기 위한 필수 키워드 2
1.2 오라클과 디스크(하드디스크) 3
1.3 디스크의 동작 4
1.4 데이터를 보증하기 위한 디스크 12
1.5 요약 14

CHAPTER 2 오라클의 여러 프로세스 17
2.1 오라클의 역할 이미지 18
2.2 데이터베이스의 데이터는 모두의 것 20
2.3 오라클이 여러 개의 프로세스로 구성된 이유 25
2.4 서버 프로세스와 백그라운드 프로세스의 역할 27
2.5 각 프로세스가 수행하는 처리 29
2.6 요약 32

CHAPTER 3 캐시와 공유 메모리 37
3.1 어째서 캐시가 필요한 것인가? 38
3.2 그래서 캐시란 대체 무엇인가? 39
3.3 데이터는 블록 단위로 관리 41
3.4 캐시를 사용해서 인덱스 검색을 효율적으로 43
3.5 프로세스는 캐시를 공유 45
3.6 공유 메모리에 필요한 설정 48
3.7 공유 메모리는 어떤 식으로 보이는가? 50
3.8 버퍼 캐시를 정리하는 LRU 알고리즘 52
3.9 오라클뿐만이 아닌 OS나 스토리지에 대해서도 생각하자 54
3.10 요약 58

CHAPTER 4 SQL문 분석과 공유 풀 61
4.1 SQL문의 분석과 공유 풀을 왜 배워야 하는가? 62
4.2 SQL문과 일반적인 프로그래밍 언어의 차이 62
4.3 서버 프로세스와 분석 63
4.4 실행 계획이 최적이라는 것을 판단하기 위해서는? 66
4.5 공유 풀의 동작과 구조 71
4.6 수치로 알아보는 분석과 공유 풀의 정보 74
4.7 요약 76

CHAPTER 5 오라클의 기동과 정지 79
5.1 기동과 정지를 왜 배워야 하는가? 80
5.2 오라클의 기동/정지의 개요 80
5.3 업무의 시작에 해당하는 오라클의 기동 81
5.4 인스턴스, 데이터베이스, 그리고 주요 파일의 구성 82
5.5 기동 처리의 흐름과 내부 동작 85
5.6 업무 종료에 해당하는 오라클의 정지 91
5.7 데이터베이스를 수동으로 생성하기 93
5.8 요약 95

CHAPTER 6 커넥션과 서버 프로세스의 생성 97
6.1 애플리케이션에서의 접속을 왜 배워야 하는가? 98
6.2 오라클의 접속 동작 99
6.3 접속 동작의 확인 106
6.4 정지나 리스너의 상태 확인 110
6.5 성능을 개선하기 위해서는? 111
6.6 요약 113

CHAPTER 7 오라클의 데이터 구조 115
7.1 오라클의 데이터 구조를 왜 배워야 하는가? 116
7.2 가변 길이 데이터를 관리할 프로그램을 만들기 위해서는? 117
7.3 오라클의 데이터 구조 120
7.4 데이터 구조에는 어떤 것들이 있는가? 123
7.5 실제 흐름을 따라 각 동작을 확인 128
7.6 프로세스에서 본 데이터 구조 130
7.7 요약 132

CHAPTER 8 오라클의 대기와 Lock 135
8.1 대기와 오라클의 Lock을 왜 배워야 하는가? 136
8.2 데이터베이스에 Lock이 필요한 이유 136
8.3 대기와 Lock 대기 139
8.4 Latch의 구조 147
8.5 요약 150

CHAPTER 9 REDO와 UNDO의 동작 153
9.1 REDO와 UNDO를 왜 배워야 하는가? 154
9.2 지속성을 구현하기 위해서는 156
9.3 REDO와 UNDO의 개념 158
9.4 REDO의 구조 160
9.4.1 REDO의 요약 163
9.5 UNDO의 구조 163
9.6 여러 상황에서 REDO와 UNDO의 동작 165
9.7 요약 171

CHAPTER 10 백업/복구의 구조와 동작 175
10.1 백업/복구를 왜 배워야 하는가? 176
10.2 백업/복구에 필요한 지식의 복습 177
10.3 백업의 종류와 특징 179
10.4 데이터베이스 손상의 예 181
10.5 기본적인 복구의 종류와 동작 183
10.6 기본적인 복구의 흐름(데이터베이스 전체의 복구) 188
10.7 그 외의 복구 192
10.8 요약 196

CHAPTER 11 백그라운드 프로세스의 동작과 역할 199
11.1 백그라운드 프로세스를 왜 배워야 하는가? 200
11.2 백그라운드 프로세스와 서버 프로세스의 관계 200
11.3 DBWR의 동작과 역할 205
11.4 LGWR의 동작과 역할 209
11.5 SMON의 동작과 역할 210
11.6 PMON의 동작과 역할 211
11.7 LREG의 동작과 역할 211
11.8 ARCH의 동작과 역할 212
11.9 그 외의 백그라운드 프로세스 214
11.10 요약 216

CHAPTER 12 오라클 아키텍처와 동작에 관한 Q&A 217
12.1 지금까지의 복습 218
12.2 오라클의 동작에 관한 질문 222
12.3 모니터링/운영에 관한 질문 223
12.4 해답과 해설 오라클의 동작에 관한 질문 224
12.5 해답과 해설 모니터링/운영에 관한 질문 233
12.6 요약 235

APPENDIX 유스케이스로 배우는 오라클 239
A.1 A 씨에게 준비된 과제 240
A.2 오라클의 기동 240
A.3 리스너를 통한 접속 242
A.4 데이터 파일의 추가 245
A.5 백업하기 247
A.6 OS 명령어를 사용한 데이터 파일 삭제 253
A.7 현재 상태의 백업 255
A.8 복원 258
A.9 복구 260
A.10 데이터 파일의 제거 263
A.11 오라클의 정지 265

'' 카테고리의 다른 글

스프링 부트와 AWS로 혼자 구현하는 웹 서비스  (0) 2021.10.05